Revenue recognition under percentage of completion follows the work, not the billing. If a $1.2M job is 35% complete at month end, you recognize $420K in revenue for that period -- regardless of what you've billed or collected. The WIP schedule reconciles that recognized revenue against actual billings to produce the over/underbilling position for the balance sheet.
The Formula: % Complete = Costs Incurred to Date ÷ Total Estimated Costs × 100
Recognized Revenue = Contract Value × % Complete
Recognized GP = (Contract Value − Total Estimated Costs) × % Complete
A $900K electrical contract with total estimated cost of $720K (20% gross margin). At month end, $288K in costs have been incurred.
% Complete: $288K ÷ $720K = 40%
Recognized Revenue: $900K × 40% = $360K
Recognized GP: ($900K − $720K) × 40% = $72K
If billed $320K: Underbilled by $40K (contract asset on balance sheet)
That $40K underbilling isn't a cash problem yet -- it's a future billing right. But it means the P&L is showing $360K in revenue while only $320K has been invoiced. The WIP schedule is what reconciles those two numbers and keeps the balance sheet honest.
Most percentage of completion errors don't come from bad math. They come from a stale estimate in the denominator -- total estimated cost that hasn't been updated to reflect current conditions on the job.
The job started at $720K estimated cost. Labor has been running hot. The current cost-to-complete is actually $800K -- but nobody updated the estimate. The denominator is wrong, so the percentage is wrong, so the recognized revenue is wrong. The job looks 40% complete when it's really 36%.
AP invoices sitting in the inbox for two weeks before they're posted. Timesheets entered monthly instead of weekly. If costs aren't in the system, the numerator is understated -- which overstates the percentage complete and overstates recognized revenue. Overbilling that isn't real.
Using billing percentage as a proxy for completion percentage is backwards. You billed 40% because that's what the schedule of values allowed -- not because you're 40% done. Overbilled jobs look further along than they are. Underbilled jobs look behind. The WIP is wrong in both directions.
The WIP (Work In Progress) schedule is the monthly reconciliation of every active job's percentage complete against its billed amount. It's the document that turns percentage of completion accounting into something a banker, bonding agent, or buyer can evaluate.
| Job | Contract Value | Est. Total Cost | Costs to Date | % Complete | Rev. Recognized | Billed to Date | Over/(Under) |
|---|---|---|---|---|---|---|---|
| Job A | $900K | $720K | $288K | 40% | $360K | $320K | ($40K) |
| Job B | $1.4M | $1.1M | $770K | 70% | $980K | $1.05M | $70K |
| Job C | $600K | $480K | $96K | 20% | $120K | $118K | ($2K) |
Job B is overbilled by $70K -- a liability on the balance sheet. This isn't necessarily a problem if the overbilling is intentional front-loading, but if it's because percent complete was overstated, the remaining job will show a loss at completion. Bonding companies see this immediately on a WIP review.
Every bank, surety, and serious buyer of a construction company will request a WIP schedule. They're looking for three things: whether your percentage complete estimates are supportable, whether your overbilling position is within acceptable range, and whether your total estimated costs are updated monthly or frozen from job start.
SPM produces a bondable WIP schedule monthly for all clients through ControlQore. The schedule updates automatically as costs post and billing is entered -- no manual assembly required.
The percentage of completion method is an accounting method where revenue and gross profit are recognized in proportion to how much of a contract is complete. If a $1M job is 40% complete, you recognize $400K in revenue and the associated gross profit in that period -- even if you haven't billed or collected $400K yet. It's the standard method for long-term construction contracts under GAAP and ASC 606.
The most common method is cost-to-cost: divide costs incurred to date by total estimated costs. If you've spent $300K on a job estimated to cost $800K total, you're 37.5% complete. Multiply that by the contract value to get recognized revenue. The key variable is total estimated cost -- if that number is wrong, your revenue recognition is wrong.
Under percentage of completion, revenue is recognized as work progresses throughout the project. Under the completed contract method, all revenue and profit are deferred until the job is substantially complete. Most commercial subcontractors use percentage of completion because it better matches revenue to the period the work was performed -- and it's required under GAAP for companies with annual revenue over $25M.
Overbilling (billings in excess of costs) occurs when you've billed more than the percentage of completion warrants. Underbilling (costs in excess of billings) occurs when you've billed less. Both appear on the balance sheet via the WIP schedule and affect how lenders, bonding companies, and buyers evaluate financial health.
The WIP schedule reconciles every active job's percentage complete against its billed amount. Jobs that are overbilled show as a liability. Jobs that are underbilled show as an asset. The net position tells you whether your company's reported revenue is backed by actual work performed. Bonding companies, banks, and buyers all require a WIP schedule.
One call. We'll show you what percentage of completion reporting looks like through ControlQore and what it takes to get there in 60 days.
Schedule a Free Call →