CONSTRUCTION REVENUE RECOGNITION PROBLEMS
Most commercial subcontractors use percentage-of-completion (POC) accounting to recognize revenue across projects spanning multiple periods. POC math is straightforward: percent complete equals costs incurred divided by total estimated cost; revenue earned equals percent complete times contract value. The math works when the cost-to-complete data is reliable. For most subs it isn’t. Cost-to-complete estimates are stale, PM-generated under pressure, and rarely validated against current field conditions. The result is revenue recognition that misstates over/underbilling, distorts WIP schedules, and destroys surety credibility.
The POC math is simple. The cost-to-complete data isn’t. Without reliable inputs, the revenue recognition is wrong — and the WIP that depends on it can’t be trusted.
HOW POC REVENUE RECOGNITION WORKS
Percentage-of-completion accounting for commercial construction subcontractors follows a defined sequence:
- Total estimated cost calculated at bid time, refined as project progresses
- Costs incurred to date pulled from project cost reports through cut-off date
- Percent complete = costs incurred / total estimated cost
- Revenue earned to date = percent complete × contract value (including approved change orders)
- Over/underbilling position = revenue earned vs. revenue billed (positive number = overbilled; negative = underbilled)
When the cost-to-complete data is accurate, this framework produces reliable revenue recognition and WIP reporting. When it isn’t, every downstream number is wrong — revenue, gross margin, over/underbilling position, working capital position.
WHERE POC ACCOUNTING BREAKS
STALE COST-TO-COMPLETE DATA
PM updates cost-to-complete monthly at best, often quarterly, sometimes only at closeout. Between updates, the “total estimated cost” doesn’t reflect current field reality. A project running 12% over budget mid-execution still shows original budget in the WIP schedule. Percent complete is calculated against the wrong denominator. Revenue recognition is wrong by the same percentage.
PM-GENERATED ESTIMATES UNDER PRESSURE
PMs often produce cost-to-complete estimates during month-end close pressure. The estimate gets generated quickly, without full field validation, sometimes with pressure (explicit or implicit) to make the WIP look favorable. Result: estimates that reflect what the PM hopes is true rather than what the field actually indicates.
CHANGE ORDERS NOT REFLECTED
Approved change orders should adjust both contract value and total estimated cost. Pending change orders should be tracked separately and only included once approved. Many subs include verbal-handshake change orders in WIP before formal approval, inflating revenue recognition. Or they fail to update contract value when change orders are formally approved, understating revenue.
PRODUCTIVITY VARIANCES NOT FED INTO COST-TO-COMPLETE
If labor productivity is running 12% over budget, the remaining labor cost-to-complete should reflect the same productivity pattern. Most subs project remaining labor at original budget rate, producing artificially favorable cost-to-complete estimates. The variance compounds: today’s actual cost is high, but tomorrow’s projected cost still assumes the budget rate that today already proved wrong.
OVER/UNDERBILLING NOT MANAGED
Overbilling positions tie up working capital risk (the GC may push back on billing position). Underbilling positions tie up working capital opportunity (cash that could have been collected). Most subs treat over/underbilling as a math result rather than a managed position. Disciplined subs target small overbilling (3–6% of contract value) to accelerate cash without creating contractual risk.
HOW TO MAKE POC ACTUALLY RELIABLE
- Weekly PM cost-to-complete review. Each active project gets 5–15 minutes weekly with the CFO function. Current field reality, scope changes, productivity variance all surfaced. Cost-to-complete updated continuously instead of once a month under close pressure.
- Change order pipeline tracking. Approved change orders update contract value and total estimated cost in real time. Pending change orders tracked separately with probability weighting until approved.
- Productivity variance flowed into cost-to-complete. If labor is running 12% over, remaining labor projected at the same pattern unless field discipline is changing the trend. Cost-to-complete reflects honest reality, not best-case assumption.
- Monthly WIP validation. WIP schedule reviewed by CFO + PM + ownership monthly. Each project explained: where does percent complete come from, what changed since last month, what’s the over/underbilling position and why.
- Over/underbilling actively managed. Target overbilling position of 3–6% of contract value where contractually appropriate. Underbilling positions investigated — either billing is behind work or work is behind billing, and either case needs response.
POC accounting is only as reliable as the cost-to-complete data underneath it. Build the data quality, and the revenue recognition becomes trustworthy. Skip the data quality, and the WIP is fiction.