A Profit and Loss Statement Will Not Tell You This
A contractor's P&L tells you what you invoiced and what you spent last month. It does not tell you whether the work you performed was worth more than what you billed, which job is quietly eating your margin, or how much of your bank balance is money you have not earned yet.
The WIP schedule answers all three. It is the single most useful report in construction accounting, and it is the first thing a surety or a lender asks for. Below is a complete one, filled in, explained column by column.
The figures are illustrative — fourteen fictional jobs on a contractor running about $3.6m of contract value. You can download the template and put your own numbers in.
The Four Inputs
Everything on a WIP schedule derives from four numbers per job. Only these four are typed in:
- Final contract — the current contract value, including approved change orders
- Current budget — your best estimate today of what the job will cost in total, not the original bid
- Billed to date — what you have invoiced, including retainage
- Cost to date — what has actually been posted to the job
That word current in "current budget" carries most of the weight in this report. More on that below.
Percentage Complete: Cost to Date ÷ Current Budget
This is the cost-to-cost method, and it is what GAAP expects for most construction contracts. Progress is measured by cost consumed, not by time elapsed and not by what the field says.
Take one job from the schedule: contract $879,500, budget $605,600, cost to date $529,835. That is 87.5% complete. Not because someone walked the site, but because 87.5% of the estimated cost has been spent.
The method has one well-known weakness. If a large material order is delivered but not installed, the cost lands in the job and the percentage jumps without any work being done. On jobs with heavy material content, take uninstalled material out of cost to date or the schedule will flatter you.
Earned Revenue: Contract × Percentage Complete
This is the revenue GAAP says you have earned, regardless of what you have invoiced. That job at 87.5% complete on an $879,500 contract has earned $769,468.
Note what this number ignores entirely: your billing schedule. Whether you invoiced monthly, front-loaded the schedule of values, or have not billed since June, the earned figure is the same. That independence is the whole point.
The Column That Matters: Over and Under Billing
Earned revenue minus billed to date. Two possible outcomes, and they mean opposite things.
Underbilled — you have earned more than you have invoiced. On the job above: $769,468 earned against $629,000 billed leaves $140,468 underbilled. That is real revenue sitting on your balance sheet as an asset, costs in excess of billings. It is also cash you could have collected and have not.
Overbilled — you have invoiced ahead of the work. One job in the schedule shows $182,100 billed against $111,453 earned: $70,647 overbilled. That is a liability, billings in excess of costs. It is money in your bank that you have not earned, and you will work it off over the remaining job.
Across all fourteen jobs the schedule shows $165,776 of underbilling and $221,377 of overbilling — a net overbilled position of $55,601.
Why That Net Number Deserves Your Attention
A net overbilled contractor is, in effect, being financed by customers. That is not automatically bad — front-loaded schedules of values are normal and deliberate. But it has a consequence people miss.
Your bank balance looks healthier than the business is. You have collected for work not yet performed, and the cost of performing it is still ahead of you. Contractors who mistake an overbilled position for profitability spend the money, then hit the back end of those jobs with nothing left to fund them. It is one of the commonest ways a profitable contractor runs out of cash.
Being heavily underbilled is a different problem: you are financing your customers, and it usually points at a billing process that is behind rather than a pricing issue.
Gross Margin: Where the Schedule Earns Its Keep
Each job shows margin as (contract − current budget) ÷ contract. Compare it to what you bid, and the schedule starts talking.
One job in the sample runs a $165,000 contract against a $146,300 current budget — an 11.3% margin. If that job was bid at 25%, the budget has grown by roughly $22,000 since award and nobody has raised it. That is margin fade, and it is visible here months before it shows up in the P&L at close-out.
This is also where the report is most easily gamed, usually without anyone intending to. A budget that is never updated keeps reporting the original margin right up until the job closes and the loss arrives in one lump. The schedule is only as honest as the cost-to-complete behind it.
Backlog: Contract Less Billed, Across Everything
The sample shows $1.46m of backlog — contract value signed but not yet invoiced. Your surety will ask for this first, because it tells them what work you are carrying and whether your bonding capacity fits it. Lenders use it to size a line of credit.
It is also the number to sanity-check against your schedule. If backlog is large and your crews are idle next month, the problem is sequencing, not sales.
The Five Questions to Ask Your Own Schedule
- Which jobs are overbilled by more than 10% of contract value? That cash is spent and the work is still owed.
- Which jobs show a margin materially below bid? Find out what changed, and whether a change order should have been raised.
- Is any budget unchanged since award on a job that is half done? Almost certainly stale.
- Does any job show costs but almost no billing? Usually a billing process failure, and it is costing you cash.
- Does the net over/under position agree with your balance sheet? If the schedule and the ledger disagree, one of them is wrong.
One Rule That Overrides Everything Above
If a contract is expected to finish at a loss, US GAAP requires the entire loss to be recognised as soon as it is probable and can be estimated. Not spread over the remaining months. Not deferred until close-out.
That rule exists because optimistic cost-to-complete estimates were being used to postpone bad news. A surety who later finds you deferred a known loss will remember it considerably longer than the loss itself would have cost you.
Get the Template
The schedule described here is available as a working Excel file — fourteen sample jobs already filled in, every formula live, with notes explaining each calculation. Replace the sample jobs with yours and it recalculates.
Download the WIP schedule template.
If you would rather have someone look at your actual numbers, our Job Cost & WIP Diagnostic reviews your last two quarters and gives you a written findings report in two weeks.
Ready to get your finances in order?
Book a free 30-minute consultation with FinRise Advisors — no obligation.