On this page
At most contractors, the work-in-progress schedule happens to people. Around the 25th, PMs get a spreadsheet asking for cost to complete on every job. Accounting pulls cost to date and billed to date. Someone stitches it together, chases the PMs who didn’t reply, and hands the CFO a draft. By the time it’s reviewed and sent to the bank or the surety, the numbers describe a month that ended two weeks ago.
That’s backwards. WIP is the report that tells you whether you’re making money. It shouldn’t be a project. It should be a view.
What WIP answers
For every open job, a WIP schedule answers four questions:
- How much revenue have we earned so far?
- How much have we billed?
- What will it cost to finish?
- Are we still making the margin we planned?
Most contractors recognize revenue on long-term contracts by percentage of completion, and the most common way to measure completion is cost-to-cost: costs incurred so far divided by total estimated costs. Here’s the core math.
| Line | Formula |
|---|---|
| Revised contract | Original contract + approved change orders |
| Estimated total cost | Cost to date + estimated cost to complete |
| Percent complete | Cost to date ÷ estimated total cost |
| Earned revenue | Percent complete × revised contract |
| Over / (under) billing | Billed to date − earned revenue |
| Estimated gross profit | Revised contract − estimated total cost |
A worked example
Let’s run it on our sample job. Billed to date isn’t part of our usual sample set, so we’ve picked an illustrative figure.
- Revised contract: $48,200,000 + $1,100,000 = $49,300,000
- Estimated gross profit at 11.4%: $5,620,200, so estimated total cost is $43,679,800
- Percent complete: $31,700,000 ÷ $43,679,800 = 72.6%
- Earned revenue: 72.6% × $49,300,000 = $35,778,781
- Over / (under): $34,900,000 − $35,778,781 = ($878,781), underbilled
Over and under billing, in plain English
Overbilled (billings in excess of costs and estimated earnings) means you’ve billed more than you’ve earned. On the balance sheet it’s a liability: you owe the owner work. A modest overbilling is normal and healthy for cash. A large or growing one can mean front-loaded billing that will catch up with you, or cash that has already been spent on other jobs.
Underbilled (costs and estimated earnings in excess of billings) means you’ve earned more than you’ve billed. It’s an asset, but it’s an asset you’re financing. The usual causes:
- Approved change orders not yet on the schedule of values. Work done, cost incurred, nothing billed. See the real cost of re-keying a change order.
- Billing cutoffs. Costs through the 31st, billing through the 25th.
- An optimistic estimate. This one is sneaky, and it’s why sureties and lenders look hard at underbillings.
Why an optimistic estimate looks like earned revenue
Say the PM on Riverside learns that the electrical sub is running about 4% over budget, and the honest cost to complete is $600,000 higher than what’s in the WIP. Run the math again:
| Before | After +$600K | |
|---|---|---|
| Estimated total cost | $43,679,800 | $44,279,800 |
| Percent complete | 72.6% | 71.6% |
| Earned revenue | $35,778,781 | $35,293,972 |
| Underbilled | ($878,781) | ($393,972) |
| Estimated gross profit | $5,620,200 | $5,020,200 |
| Margin | 11.4% | 10.2% |
Two things happen. The margin fades by 1.2 points, $600,000 of profit. And the underbilling shrinks by almost half a million, because a higher cost estimate means the job is less complete than we thought, so we’ve earned less.
Flip that around: when cost to complete is understated, percent complete is overstated, earned revenue is overstated, and the job shows an underbilling that’s really unrecognized fade. That’s how a job looks fine on paper for months and then takes a big hit near the end. If a job’s estimated total cost ever exceeds the contract, accounting standards generally require recognizing the full expected loss as soon as it’s known, not spread over the remaining work.
Why it takes a week
None of this math is hard. WIP takes a week because the inputs live in different places:
- Cost to date is in accounting, but only for invoices that have been entered and coded. Work done by subs who haven’t billed yet is invisible unless someone accrues it.
- Approved change orders are in the PM platform, or an email, and not always in the contract value accounting uses.
- Billed to date is in AR or the billing spreadsheet.
- Cost to complete is in the PM’s head, or a spreadsheet only they understand.
The WIP schedule is really a monthly reconciliation of four systems. The calculation is the easy part. Getting four sources to agree on the same day is the project.
What live WIP needs
For WIP to be a view you can open any day, a few things have to be true:
- Costs are current. Invoices are coded to cost codes as they arrive, and committed costs for work in place can be accrued from commitments, not reconstructed at month end.
- Change orders flow. When a CO is approved it updates the contract value, the budget and the commitment at the same moment.
- Billing sits on the same record. The schedule of values, the G703 and the contract are one structure, so billed to date never has to be imported.
- Cost to complete is a living forecast. PMs update it by cost code when something changes, with a note, and the history is kept, so fade is visible as it happens rather than at the monthly review.
- Close is still a close. Live doesn’t mean loose. At period end you lock a snapshot, and that’s what the bank and the surety see. The difference is that the snapshot is a formality, not a fire drill.
That’s what we’re building WIP to be in os.construction: a live view on the same data the field and the office already work in, with fade and over/under billing visible the day they change. We’re pre-launch and building it with founding contractors. If your WIP still takes a week, get early access and show us how you build it today.
Share this article