The chart of accounts (COA) is the structure of the ledger: every account, its number, its type (asset, liability, equity, income, expense) and its normal balance (debit or credit). Header accounts group detail accounts for reporting and don’t take postings themselves.
A construction chart has accounts most businesses don’t: retainage receivable and payable, contract assets and liabilities for under- and overbillings, accrued losses on contracts, and job cost accounts split by cost type (labor, burden, material, subcontract, equipment, other).
Why it matters
Too few accounts and you can’t see what you need; too many and nobody codes consistently. In construction, the trick is to keep the COA lean and put job detail in dimensions (project, cost code, cost type) rather than creating an account per job.
Worked example
A typical construction layout: 1000s assets (1100 Accounts Receivable, 1110 Retainage Receivable, 1120 Contract Asset), 2000s liabilities (2000 Accounts Payable, 2010 Retainage Payable, 2020 Contract Liability), 3000s equity, 4000 Contract Revenue, 5000–5400 job cost by cost type, 6000s general and administrative expenses.
Common mistakes
- One GL account per job, which explodes the chart and breaks comparisons.
- Mixing retainage into regular receivables and payables.
- Changing an account’s type after it has history.
How os.construction handles it
The accounting preview ships a construction chart template with system roles (AP control, retainage receivable, contract asset and so on), so posting rules find accounts by role, not number. See Set up accounting.