Construction Accounting 101 for a Small Contractor
Updated 2026-10

The one idea everything else follows from
Ordinary accounting asks "what did the company earn and spend this month?" Construction accounting asks the same question of every job. That second dimension, the job, is the whole difference. Every cost is tagged with the job it belongs to; revenue is recognised as each job is earned rather than as cash arrives; and the reports are organised by job first and by period second. A contractor who understands that one idea can read every report described below.
Job costing
Job costing is the tagging. Labour hours, materials, subcontractor invoices, equipment time and permits are each posted to a job and to a cost code within the job: a category like framing labour, framing materials, electrical sub. The job cost report then shows, for each job and each code, what was estimated, what has been committed, what has actually been spent and the difference.
The codes should be the lines in your estimate. If you bid in twelve lines, cost in twelve lines. Too few codes and the report says "we lost money" without saying where. Too many and nobody on the crew codes consistently, which produces a precise-looking report that is wrong.
Direct, indirect and overhead
Direct costs belong to one job: the lumber for this house, the hours on this roof. Indirect costs support jobs without belonging to one: the yard, small tools, the superintendent who covers three sites. Overhead is the office, the owner, insurance, the truck that goes everywhere. Direct costs go on the job cost report as they happen. Indirect costs are either allocated to jobs by a rule (say, a percentage of direct labour) or kept as a pool and shown separately. Overhead stays off the job report and on the company P&L. The mistake to avoid is burying indirect costs in overhead so that every job looks more profitable than the company is.
Labour burden
A wage is not a cost. The employer’s share of payroll taxes, workers’ compensation premium, any benefits and paid time off sit on top, and in construction the workers’ comp component alone can be ten to thirty percent of wages depending on the class code. The burdened rate is what an hour costs the job. Estimate with it, and cost jobs with it, or every job is underpriced by the burden and the report will not tell you.
Revenue: percentage of completion
A job that runs from October to March does not earn its revenue in March when the final check arrives. Under the percentage-of-completion approach the job earns revenue in proportion to how complete it is, and the usual measure of completion is cost-to-cost: costs incurred so far divided by total estimated costs. A $180,000 job with $144,000 of estimated cost that has spent $108,000 is 75% complete and has earned $135,000, whatever has been invoiced.
That "whatever has been invoiced" is where the next idea comes from.
Over-billing and under-billing
Compare what a job has earned with what has been billed. Billed more than earned, and the difference is a liability: billings in excess of costs and estimated earnings. The cash is in the bank, the work to earn it is still to come, and the end of the job will consume it. Billed less than earned, and the difference is an asset: costs in excess of billings. The work is done, the invoice has not gone out, and the company is profitable on paper and short of cash on Friday.
Under-billing is the single most common reason a busy contractor has no money. Over-billing is the most common reason a contractor who feels flush is in trouble. The WIP schedule shows both for every open job, every month.
The WIP schedule
The work-in-progress schedule is one line per open job: contract value including approved change orders, estimated total cost, cost to date, percent complete, earned revenue, billed to date, and the over- or under-billing. Banks ask for it before a line of credit, sureties before a bond, tax preparers at year-end and buyers before an acquisition. Produced monthly it is the most useful management report a contractor has. Produced once a year under pressure it is an audit of everything that went wrong.
Retainage
On most commercial work the customer withholds five or ten percent of each progress payment until the job is accepted, and you withhold the same from your subs. Retainage receivable is money you have earned and cannot spend; retainage payable is money you owe and should not pay early. Both belong on the balance sheet as their own lines, separate from ordinary receivables and payables, or the ageing reports lie about how collectible and how current the company is.
Committed costs
A signed subcontract is a cost the moment it is signed, not when the invoice arrives. Tracking commitments against each job means a job that is forty percent done with sixty percent of its sub work still to come does not look like it is beating the estimate. It is the difference between a job cost report that predicts and one that merely records.
Cash versus accrual, and your tax return
The ideas above are accrual ideas: revenue when earned, costs when incurred. Your tax return may use something different. Smaller contractors can qualify for the IRS small-contractor exception, which allows other methods for long-term contracts below a gross-receipts threshold that is adjusted for inflation and currently sits around $30 million. Which method applies, and what it means for jobs that cross a year-end, is a decision for your tax preparer.
The books do not have to wait for that decision. Kept on a job-cost basis with a monthly WIP schedule, they carry what any method needs, and the preparer applies the method at year-end from the package the bookkeeper provides.
What this means for a company with one truck
Not every contractor needs all of it. A one-person repair business needs clean books, a mileage log and its owner draws kept out of expenses. A builder with six open jobs and a bonding line needs every idea on this page, monthly. Most companies are in between, and the honest answer is to set up job costing and the WIP schedule as soon as jobs last longer than a month or involve deposits, because that is the point at which the ordinary P&L starts lying.
Where to go next
- Construction bookkeeping services
- Job costing and WIP reports
- Job costing in QuickBooks Online, step by step
Common questions
Do I need a CPA for this?
No. Bookkeeping and job costing are bookkeeping work. A CPA is needed for reviewed or audited statements, which a bank or surety may require at larger sizes, and for the tax return.
Is percentage of completion required?
For management purposes it is the only method that tells the truth about open jobs. For tax, smaller contractors have other options; ask your preparer.
What is the minimum setup worth doing?
Jobs as the first dimension on every transaction, a short list of cost codes matching your estimate, deposits on the balance sheet rather than in income, and a monthly WIP line for any job longer than a month.