Introduction
Construction accounting isn't a harder version of regular small business accounting — it's a structurally different discipline, because construction revenue is tracked at the project level, not just the company level, and most contracts span months or years with billing structures (retainage, change orders, progress draws) that a generic ledger was never built to handle. This guide covers how job costing and WIP schedules actually work, and the specific early-warning signal that separates contractors who catch margin problems from the ones who discover them at project closeout.
Note: This is educational information, not tax or accounting advice for your specific situation. Revenue recognition method elections have real, binding tax consequences — confirm your specific approach with a qualified construction accountant or CPA.
Table of Contents
- Why Construction Accounting Is Different
- Job Costing: The Foundation
- The WIP Schedule, Explained
- Underbilling vs. Overbilling
- The 70-80% Warning Sign
- Choosing a Revenue Recognition Method
- When QuickBooks Alone Stops Working
- A Practical Monthly Routine
- FAQ
- Conclusion
Why Construction Accounting Is Different
Most businesses report revenue and cost at the company level: money comes in, money goes out, the difference is profit. Construction accounting tracks both at the individual project level, because a construction company is really running many small, distinct businesses (each job) simultaneously, each with its own contract value, cost structure, and timeline. Add retainage (a percentage withheld until project completion), progress billing, and change orders, and a generic ledger simply can't produce numbers that mean anything without job-level structure underneath it.
Job Costing: The Foundation
Job costing tracks every cost — labor, materials, equipment, subcontractor charges — against the specific project and cost code it belongs to, rather than lumping everything into general company expenses. This typically uses a hierarchy of cost codes (often organized by CSI divisions, phases, and cost types) so that estimated cost, committed cost, and actual cost can all be compared for the same specific scope of work.
Without accurate job costing, a contractor genuinely cannot tell which projects are making money and which are quietly losing it — company-level profitability can look healthy while individual jobs are bleeding margin, simply because a few strong jobs are masking a few weak ones.
The WIP Schedule, Explained
A work-in-progress (WIP) schedule is the report that makes percentage-of-completion accounting functional in practice. For each active job, it shows:
- Contract value — the original contract amount, adjusted for approved change orders
- Costs incurred to date
- Estimated cost to complete
- Percentage complete (typically costs-to-date divided by estimated total cost)
- Earned revenue based on that percentage
- Amounts actually billed to the customer
- Over- or under-billing — the gap between earned revenue and actual billing
Updated monthly at minimum, the WIP schedule is also what bonding companies and lenders expect to see before extending bonding capacity or credit — a contractor who's never produced a real WIP schedule often discovers this requirement only when a bonding agent asks for one.
Underbilling vs. Overbilling
This is where WIP reporting earns its keep, and where the terminology confuses a lot of contractors new to it:
- Underbilling: work completed exceeds what's been billed. Example — costs to date are at 60% of estimated total cost, but only 40% of the contract value has been billed. The contractor is effectively financing the job out of pocket until billing catches up.
- Overbilling: the reverse. 60% of the contract has been billed, but costs are only at 40% of estimated total — meaning the customer's payments are running ahead of actual progress.
Neither is inherently a crisis, but both are signals worth understanding: chronic underbilling across a project pipeline is a genuine cash flow drain; overbilling can mask an underlying job that's actually struggling once the true percentage-of-completion catches up.
The 70-80% Warning Sign
This is the single most useful early-warning pattern in construction financial management: if costs to date already exceed 70-80% of the estimated total cost on a job that's only 50% complete, that job is heading for a margin problem. This is the exact moment the WIP schedule pays for itself — catch this pattern at 50% complete and there are real options (renegotiate scope, address the cost driver, adjust the estimate on similar future jobs). Catch it at 90% complete and there's nothing left to do but manage a loss that's already largely locked in.
Choosing a Revenue Recognition Method
The IRS generally requires contractors with long-term contracts spanning two or more tax years to use the Percentage of Completion Method (PCM), recognizing revenue as work progresses. Because taxable income under PCM is tied directly to project estimates, it demands accurate, ongoing job costing — there's no way to calculate it correctly without the underlying data.
Smaller contractors may qualify for an exception: those with average gross receipts under $32 million (the 2026 threshold, based on a rolling three-year average) can generally use the simpler Completed Contract Method (CCM), deferring income recognition until a project is substantially complete, or cash/accrual methods depending on their specific situation.
Changing methods isn't a simple bookkeeping decision — it requires filing Form 3115 with the IRS, and reviewing open contracts with a CPA before making the switch is genuinely important, since the change affects how existing, in-progress contracts are treated.
When QuickBooks Alone Stops Working
A very consistent pattern shows up across contractors: QuickBooks alone tends to hit a wall around $2-5 million in annual revenue. Specifically:
- Job costing gets shallow — workarounds like using "class" or "location" fields can track revenue by job at a basic level, but multi-level cost codes (CSI divisions, phases, cost types) produce a genuine mess at this scale
- WIP reporting requires increasingly manual work — percentage-of-completion calculations the general ledger simply can't produce on its own
- Bonding requirements force the issue — a bonding agent or lender asks for a real, auditable WIP schedule, and it becomes clear the current system can't generate one
This is typically when contractors migrate to construction-specific platforms (Foundation Software, Sage Contractor, Buildertrend, and similar, depending on trade and size) that build job costing and WIP reporting into the core system rather than bolting it on.
A Practical Monthly Routine
- Weekly: update job cost entries as labor, material, and subcontractor costs come in
- Monthly: update the WIP schedule for every active job, review for the 70-80%-cost-at-50%-complete warning pattern, reconcile billed amounts against actual progress
- Per change order: update the contract value and cost estimate immediately — delayed change order entry is one of the most common sources of inaccurate WIP data
- At bonding renewal or year-end: full estimate-to-actual review across closed jobs, to calibrate future estimating accuracy
FAQ
Job costing tracks all costs — labor, materials, equipment, and subcontractor charges — against each individual project and cost code, rather than just at the company level. Without accurate job costing, a contractor cannot tell which specific projects are actually profitable, which is why every construction-grade accounting platform builds its structure around the job, not just the general ledger.What is job costing in construction accounting?
A WIP schedule is a report showing, for each active job, the contract value, costs incurred to date, estimated cost to complete, percentage complete, earned revenue, amounts actually billed, and whether the job is over- or under-billed. It's what makes percentage-of-completion accounting functional in practice, and should be updated monthly at minimum.What is a WIP (work-in-progress) schedule?
Underbilling happens when the work completed on a job exceeds what's been billed to the customer — for example, costs to date are at 60% of estimated total cost, but only 40% of the contract value has been billed, meaning the contractor is effectively financing the job. Overbilling is the reverse: more has been billed than the work completed justifies, meaning the customer's payments are ahead of actual progress.What's the difference between underbilling and overbilling?
The IRS generally requires contractors with long-term contracts spanning two or more tax years, and average gross receipts above the small contractor exception threshold ($32 million for 2026, based on a rolling three-year average), to use the percentage-of-completion method (PCM), which recognizes revenue as work progresses rather than only at completion.When must a contractor use the percentage-of-completion method?
If costs to date already exceed 70-80% of the estimated total cost when the job is only 50% complete, that's an early warning of a margin problem. Catching this at 50% complete still leaves options to address it; catching it at 90% complete means managing a loss that's already largely locked in.What warning sign in a WIP schedule indicates a job is heading for trouble?
A consistent pattern shows up around $2-5 million in annual revenue: job costing becomes shallow (workarounds like class or location tracking can't handle multi-level cost codes cleanly), WIP reporting requires increasingly manual work, and bonding requirements start demanding a real, auditable WIP schedule the general ledger alone can't produce.Why do contractors outgrow QuickBooks alone?
For the broader question of when QuickBooks alone stops being enough, see our in-house vs. outsourced bookkeeping guide.
Running an agency or consulting firm instead? See our guide on utilization rate and WIP for professional services.
Conclusion
Construction accounting rewards contractors who treat the WIP schedule as a management tool checked monthly, not a compliance document produced once a year for the bonding agent. The 70-80%-cost-at-50%-complete pattern is exactly the kind of signal that only shows up if someone's actually looking — and the contractors who build that habit into their monthly routine are the ones who catch a struggling job with options still on the table, instead of at closeout when the loss is already final.
If you'd like help setting up job costing and WIP reporting that's actually accurate and bonding-ready, get in touch for a free consultation.