Construction Chart of Accounts Setup in QuickBooks
A construction subcontractor's chart of accounts needs accounts a generic QuickBooks setup never creates: retainage receivable, so the 5 to 10 percent held on every contract lives on the balance sheet instead of in someone's memory; income accounts split by contract type, so a $4 million year tells you which kind of work earned it; and a cost of goods sold section that separates field labor, materials, and subcontracted work instead of lumping them into one line.
We restructure books for construction subcontractors as part of running them, and the default chart of accounts is where almost every engagement starts, because nothing downstream works until the structure underneath is right.
This post walks through the build in QuickBooks Online, section by section: revenue, cost of goods sold, the balance sheet accounts contract work requires, and overhead. It takes a few hours once, and it changes what every report can tell you from then on.
Why the default chart of accounts fails contract work
QuickBooks Online ships with a chart of accounts built for a business that sells something simple: a couple of income lines, a thin cost of goods sold section, and an alphabetical wall of expenses. Contract work breaks it in three specific places.
First, revenue. A sub running public prevailing wage jobs alongside private commercial work and the occasional service call has two or three businesses with different margins, payment cycles, and compliance loads, and one blended income line hides which of them is carrying the company.
Second, the balance sheet. Contract work creates assets and liabilities a simple business never has: retainage held by GCs, and, for companies producing real financials, the over and underbilling accounts that reconcile what you've billed to what you've earned. A default setup has nowhere to put any of it, so retainage ends up polluting regular AR or living in a spreadsheet, and billed-versus-earned never gets measured at all.
Third, cost of goods sold. The default COGS section can't distinguish materials from subcontracted work from your own field labor, so gross margin exists as one number with no way to see which cost is moving it.
The revenue section
Create separate income accounts for each distinct kind of work, with Service/Fee Income as the detail type. For most subs the working set is: Public / Prevailing Wage Contract Revenue, Private Contract Revenue, and Service and T&M Revenue if you run a service side. If change orders are a meaningful share of your billings, a Change Order Revenue account is worth having, both because the margin on change work differs from base contract work and because a visible change order line makes unpapered change work easier to catch.
Keep it to a handful of lines. Job-level and contract-level detail belongs in Projects and job costing, not in a revenue section with thirty accounts. The revenue section's job is answering one question at a glance: which kind of work is the money coming from.
One structural note: whether your revenue represents billings or earnings depends on your accounting method. Most subs run their day-to-day books on billings, which is fine for operations, and the reconciliation to earned revenue happens through the WIP process covered in What a WIP Schedule Is and Why Your Surety Wants One.
The chart of accounts should be built so that reconciliation is possible, which is what the balance sheet section below is for.
The cost of goods sold section
These are the direct costs of performing contract work, and the separation matters because each account diagnoses something different when margin goes wrong.
Materials covers everything purchased for jobs: wire, pipe, fixtures, lumber, whatever your trade consumes. Tag purchases to jobs at the time of purchase, which most suppliers support if you give a job reference on the order.
Field Labor carries crew payroll as a direct cost, separate from office and administrative payroll, which belongs in overhead. That separation is the account's whole job: books that blend crew wages with office salaries produce a gross margin that means nothing. What flows into this account should be labor at its true cost, wages plus employer payroll taxes, workers comp, and benefits, which takes coordination with your payroll provider to set up.
For prevailing wage work, this account also has to reconcile to what your certified payrolls report, which is covered in Certified Payroll for Subcontractors: The Complete Guide.
Subcontractors holds any work you sub out, kept separate from your own labor so the two are never blended.
Equipment Costs covers rentals tied to jobs and the variable costs of owned equipment: fuel, and repairs that scale with use. The fixed side of equipment (payments, insurance) belongs in overhead, and the split is what keeps gross margin honest in slow months.
Permits, Bonds, and Job Fees captures the job-specific compliance costs contract work carries: permit fees, bond premiums allocated to jobs, disposal, and testing fees.
The balance sheet accounts contract work requires
This is the section that separates a construction chart of accounts from every other trade's, and it's short.
Retainage Receivable, an Other Current Asset account, holds the amounts GCs are holding on your contracts. Every progress invoice moves the held percentage here instead of leaving it in regular AR, so your AR aging shows only money actually due and the balance sheet shows exactly what's held across all jobs. The full mechanics, including the invoice setup, are in Retainage Accounting in QuickBooks Online.
Costs in Excess of Billings (an asset) and Billings in Excess of Costs (a liability) are the underbilling and overbilling accounts. If you produce monthly or annual WIP-adjusted financials, whether for a surety, a lender, or your own management reporting, these are where the adjustment lands. If you're not there yet, create them anyway; they cost nothing empty, and the first time your surety asks for a WIP-adjusted statement, the structure exists.
If you hold retainage on your own subs, a Retainage Payable liability account mirrors the receivable on the other side.
The overhead section
Operating expenses group by function rather than alphabetically. The construction-specific decisions: fixed equipment and vehicle costs (payments, leases, insurance, registrations) group together so the fleet's carrying cost is visible in one place; Bonding and Insurance gets its own grouping because bonded work makes these real recurring costs worth watching; Licensing and Compliance holds the license fees and continuing requirements your trade carries; and Owner Compensation sits on its own line, separate from field labor, so your gross margins are never distorted by your own pay.
The rest is conventional: office, software, professional services, and marketing, in fifteen to twenty clean categories rather than fifty vague ones.
Making the switch without breaking anything
Build the new accounts alongside the old ones, pick a start date, and categorize forward from there. History stays where it is and the old accounts empty out over time; if you want prior months restated, the Reclassify Transactions tool under the gear icon moves transactions in bulk.
The riskier part of the transition isn't the accounts, it's the habits: material purchases tagged to jobs at purchase, payroll flowing into field labor rather than one payroll lump, retainage split on every progress invoice. The structure only pays off if the categorization discipline holds, which is usually the strongest argument for having someone own the books rather than fitting them in around running crews.
For a working test of whether the rebuild succeeded, ask three questions of your reports a month later:
-What's my margin by job so far this year?
-How much retainage am I owed and on which contracts?
-What did public work earn versus private. If the books can answer all three in under a minute, the structure is right.
At Prophet Accounting, we rebuild books for construction subcontractors as part of the full back office. We create a chart of accounts structured for contract work, support job costing, help with retainage tracking, and perform certified payroll on covered projects.
If your books can't answer what a job earned or what's being held on your contracts, schedule a consultation at prophetaccounting.com/construction or give us a call at (772) 380-2871.