The trade codes every estimate line, budget line, purchase order and cost rolls up by, and the Xero account each posts to.
Page: Settings → Cost Codes
The coding spine every dollar rolls up by. Estimate lines, budget lines, purchase orders, cost entries and invoice lines each carry a cost code, so a job can be read by trade rather than by receipt. The library seeds itself from the trade taxonomy, and new rows code themselves from their trade text, so upkeep is optional. Each code has a cost type, an optional trade link that auto-coding resolves through, and an optional Xero account its bills post to. It is for the admin, once, and the bookkeeper when the accountant wants the chart laid out differently.
Each row has the code, name, cost type, trade link and account in place.
On the row, pick the account under Default purchases account. With the chart loaded the list offers the cost accounts in it; without it, type the code. Blank means the default purchases account chosen on the Xero card. Press Save. Bills and purchase orders coded here post to that account from the next push.
At the foot of the library, enter the code (a child code slots between the seeded tens, for example 130.2), a name, the cost type and a trade link, and press Add code. New estimate lines, budget lines, purchase orders and costs matching its trade code to it automatically.
Press Deactivate on a row. The code is hidden from pickers and keeps its history; Restore brings it back. A code you created yourself, once deactivated, can be deleted entirely with the bin icon; rows coded to it fall back to Uncoded. Deactivating is usually the better call.
Drop a spreadsheet of your codes into chat and ask Base to import it; it maps your codes onto the library and links each to a trade. Base can also add a child code, deactivate the ones you never use, recode a project, or show a job's cost-code rollup.