The bonding agent wants the WIP schedule by Friday. The bookkeeper has a spreadsheet that was last updated for the CPA in March, the project managers have estimates in their heads, and the job cost report in the accounting system does not tie to either. The company has 14 open jobs, and nobody can say with confidence whether it is overbilled or underbilled in total, or by how much.
A work-in-progress schedule is not complicated in principle. It is five numbers per job and three formulas. It becomes complicated when the five numbers are unreliable, and it becomes dangerous when nobody notices. This article walks through the percentage-of-completion method, the cost-to-cost calculation, the over and under billing formulas, a complete worked WIP schedule, the errors that distort it, and what a surety looks for when the schedule lands on the desk. If you want to run your own numbers, the construction WIP calculator does the arithmetic.
Why percentage of completion exists
A construction contract can run for months or years. If you recognized revenue only when you billed, the income statement would swing with the billing calendar. If you recognized it only at completion, a growing contractor would show losses for a year while building profitable work. Percentage of completion solves this by recognizing revenue in proportion to how much of the job is done, so that profit shows up as the work is performed rather than as the invoices happen to be cut.
The method requires an estimate of how done each job is. The most common and most defensible measure is cost-to-cost: the job is as complete as the share of its total estimated cost that has been incurred. Other measures exist, such as units installed or engineer-certified progress, but cost-to-cost is what most contractors, CPAs, and sureties use, and it is what this article works through.
The five inputs
For each open job, the WIP schedule needs five numbers. The quality of the schedule is the quality of these inputs, and the third one is where most schedules go wrong.
- Contract price. The original contract plus approved change orders only. Pending or verbal change orders do not belong here until they are approved in writing.
- Total estimated cost. The current best estimate of what the whole job will cost at completion, including cost incurred to date plus cost still to come. This is not the original bid. It is the bid updated for everything learned since.
- Cost incurred to date. Actual job cost posted through the period end, including labor with burden, materials, subcontractors, equipment, and any other direct cost. Unposted subcontractor invoices and stored materials are the two most common gaps.
- Billed to date. Cumulative pay applications submitted through the period end, gross of retainage.
- Period end. The schedule is a snapshot as of a specific date, and every input must be measured as of the same date.
The three formulas
With the inputs in hand, the arithmetic is short. Percent complete is cost incurred to date divided by total estimated cost. Earned revenue is percent complete multiplied by contract price. Over or under billing is billed to date minus earned revenue.
If billed to date exceeds earned revenue, the job is overbilled, and the excess is a liability called billings in excess of costs and estimated earnings. You have collected, or at least invoiced, for work you have not yet performed. If earned revenue exceeds billed to date, the job is underbilled, and the shortfall is an asset called costs and estimated earnings in excess of billings. You have performed work you have not yet invoiced. Two derived figures round out the line: gross profit to date is earned revenue minus cost to date, and backlog is contract price minus earned revenue.
Percent complete = cost to date / total estimated cost. Earned revenue = percent complete x contract price. Over (under) billing = billed to date minus earned revenue. Positive is overbilled, a liability. Negative is underbilled, an asset.
A full worked WIP schedule
The schedule below is an illustrative example with invented figures, not a client's data. It shows five open jobs as of a single period end. Read across each row and check the formulas against the columns. Job E is worth particular attention, because its estimated cost has grown from an original $520,000 to $620,000, and the profit fade shows in every column to the right.
| Job | Contract price | Total est. cost | Est. gross profit | Cost to date | % complete | Earned revenue | Billed to date | Over (under) billed | GP to date | Backlog |
|---|---|---|---|---|---|---|---|---|---|---|
| A | 850,000 | 700,000 | 150,000 | 420,000 | 60.0% | 510,000 | 560,000 | 50,000 | 90,000 | 340,000 |
| B | 1,200,000 | 1,020,000 | 180,000 | 255,000 | 25.0% | 300,000 | 240,000 | (60,000) | 45,000 | 900,000 |
| C | 400,000 | 360,000 | 40,000 | 342,000 | 95.0% | 380,000 | 380,000 | 0 | 38,000 | 20,000 |
| D | 2,000,000 | 1,700,000 | 300,000 | 850,000 | 50.0% | 1,000,000 | 1,100,000 | 100,000 | 150,000 | 1,000,000 |
| E | 650,000 | 620,000 | 30,000 | 496,000 | 80.0% | 520,000 | 455,000 | (65,000) | 24,000 | 130,000 |
| Total | 5,100,000 | 4,400,000 | 700,000 | 2,363,000 | 53.7% | 2,710,000 | 2,735,000 | 25,000 | 347,000 | 2,390,000 |
A few things to notice. The total line nets to $25,000 overbilled, but that net hides $150,000 of overbillings on jobs A and D and $125,000 of underbillings on jobs B and E. On the balance sheet, those are presented separately: $150,000 as a current liability and $125,000 as a current asset. Netting them into one number is a common shortcut, and it is wrong, because it understates both the cash you owe in future work and the cash you have not yet asked for.
Job D is 50 percent complete and $100,000 overbilled. That is not a problem on its own. Overbilling is how a contractor funds a job, and a front-loaded schedule of values is a legitimate way to get there. It becomes a problem if the company has already spent that $100,000 on something other than job D, because the remaining $850,000 of cost must now be funded from somewhere else. Job B is $60,000 underbilled at 25 percent complete, which usually means either a late pay application or a back-loaded schedule of values. Either way, it is $60,000 of the company's cash sitting in the customer's account.
Turning the schedule into journal entries
The WIP schedule produces a monthly adjusting entry that moves the income statement from billed revenue to earned revenue. Using the example totals, the company has billed $2,735,000 and earned $2,710,000. The entry reduces revenue by $25,000 in net, but it is booked gross: a credit to billings in excess of costs for $150,000 and a debit to costs in excess of billings for $125,000, with the offset to contract revenue.
Each month, the prior entry is reversed and the new one is booked, so the balance sheet always reflects the current schedule. If the schedule is only prepared at year end for the CPA, the interim financials are wrong by whatever the over and under billings happen to be, which in the example is a quarter of a million dollars gross. That is a large number to discover in February.
The errors that distort a WIP schedule
Most WIP problems are input problems. The formulas do not fail. The five numbers do, and in predictable ways.
- Stale total estimated cost. The single largest error. If the estimate at completion is the original bid and the job has since had a bad month, percent complete is overstated, earned revenue is overstated, and profit that will never arrive is sitting on the income statement. Estimates must be updated monthly by the project manager and challenged by someone in finance.
- Unapproved change orders in the contract price. Including a verbal change order inflates earned revenue and hides an underbilling. Pending change orders belong in a memo column, not in the contract price.
- Unposted costs. A subcontractor invoice for June work that posts in July understates cost to date, understates percent complete, and overstates the overbilling. Accrue subcontractor and supplier costs to the period the work was performed.
- Stored materials counted as installed cost. Material delivered to the site but not yet installed inflates percent complete under cost-to-cost. Many contractors exclude uninstalled materials from the calculation, or treat them separately, so that a delivery does not create profit.
- Retainage confusion. Billed to date is gross of retainage. Retainage receivable is a separate balance sheet item. Netting it out of billings understates the overbilling.
- Loss jobs recognized gradually. If total estimated cost exceeds contract price, the entire projected loss must be recognized in the period it becomes known, not spread across remaining percent complete. Spreading a loss is the error most likely to draw a comment from the CPA.
- Netting over and under billings. Presenting one net number on the balance sheet hides both the liability and the asset and misstates working capital.
- Preparing it annually. A WIP schedule updated once a year for the tax return is a compliance document. Updated monthly, it is a management tool that catches profit fade while there is still time to do something about it.
What bonding agents look for
A surety reads a WIP schedule to answer one question: can this contractor finish the work it has taken on, at the margin it says it will, without running out of cash? In our experience, the underwriter goes to a handful of specific places to find the answer.
- Profit fade and gain. The surety compares estimated gross profit on each job across successive schedules. A job that was bid at 20 percent, showed 18 percent at mid-point, and finishes at 11 percent is fade, and a pattern of fade across jobs is the signal underwriters trust least. Consistent gain is nearly as suspicious, because it suggests sandbagged estimates.
- Underbillings relative to equity. Large or chronic underbillings suggest unapproved change orders, disputed work, or an estimating process that is not keeping up. The surety will want to know what the underbillings are made of and when they will be billed.
- Overbillings as a funding source. Overbillings are normal, but the surety checks whether the cash has been spent. Overbillings large relative to cash on hand mean the contractor has borrowed from its own future work.
- Backlog and backlog gross profit. Remaining revenue and the margin embedded in it tell the underwriter whether the company has enough profitable work ahead to support its overhead, and whether a new bond would push the work program past what the balance sheet can carry.
- Tie-out to the financial statements. The schedule totals must agree to contract revenue, cost of revenue, billings in excess, and costs in excess on the financial statements. A schedule that does not tie is not a schedule. It is a spreadsheet.
- Consistency of method. The same cost-to-cost approach, the same treatment of stored materials, and the same change order policy from period to period. Method changes between schedules invite questions about what the change is hiding.
The general contractor page on this site covers what the surety relationship looks like in a GC's specific circumstances, where subcontractor retainage and pass-through billing add their own wrinkles.
A monthly WIP process that holds up
A WIP schedule that a lender or surety can trust is the product of a process, not a spreadsheet. The process has a calendar and named owners. Project managers update the estimate at completion for every open job by a fixed date each month, with a short note on any change. Accounting accrues unposted subcontractor and supplier costs to the period, confirms billed to date to the pay application log, and confirms approved change orders against the signed documents.
Then someone in finance reviews the schedule for the errors listed above, compares each job's estimated gross profit to the prior month, asks about every change, books the adjusting entry, and ties the totals to the general ledger. The whole cycle should finish inside the monthly close. If it does, the income statement is right every month, and the bonding agent's Friday request is a matter of attaching a file.
Where a construction CFO fits
Building and running the WIP process is a large part of what a construction Controller or CFO does. The Controller owns the mechanics: the monthly estimate updates, the cost accruals, the reconciliation of billings to pay applications, the journal entry, and the tie-out to the financial statements. The CFO owns what the schedule means: the profit fade conversation with the project manager, the cash implication of the overbillings, the collection plan for the underbillings, and the presentation to the lender and the surety.
For a contractor whose schedule currently lives in a spreadsheet updated once a year, the engagement usually begins by rebuilding the schedule for every open job with current estimates, booking the catch-up entry, and then installing the monthly cycle so the catch-up never has to happen again. The WIP calculator on this site will show you the arithmetic for a single job. The process for 14 jobs, every month, on time, with numbers the surety trusts, is the job.