A WIP schedule (work-in-progress schedule) is a job-by-job table that compares how much of each active job you've earned against how much you've billed. That one comparison tells you — before the bank balance does — which jobs are funding themselves, which ones you're financing for the owner, and whether the profit on your P&L is real.
Updated monthly as part of the close, it's the early-warning system for construction businesses. Left quarterly (or skipped), it becomes a scramble the week before a bonding renewal.
| Term | Meaning |
|---|---|
| WIP schedule | One row per active job; earned revenue vs billings (and the gap) |
| Percent complete | Usually cost-to-cost: costs to date ÷ estimated total cost |
| Earned revenue | Contract value × percent complete |
| Billing position | Billed to date − earned revenue → over-billed or under-billed |
Your income statement can look fine while two jobs quietly drift under-billed and drain cash. The WIP schedule is the report that catches that — months earlier than a surprise payroll crunch.
For how this math drives the books (not just a side spreadsheet), see percentage-of-completion accounting. For the cash and balance-sheet side of the gap, see over-billing vs under-billing.
A WIP schedule is not a once-a-year bonding packet. It's a monthly operating tool.
Blackline Financial is construction-only bookkeeping and advisory for contractors and specialty trades (roughly $1M–$30M). We do not prepare tax returns. Monthly close by the 15th, job costing, and WIP reporting for Frame-level work live on services — every engagement starts with a DIG Diagnostic, and every package is custom-quoted.
One row per active job. Core columns:
| Column | What it is | Why it matters |
|---|---|---|
| Contract value | Current total price, including approved change orders | Stale contract value understates earned revenue |
| Estimated total cost | What you expect the whole job to cost at completion | Must be updated when jobs drift — stale EAC hides fade |
| Costs to date | Actual job costs posted so far | Needs complete job costing |
| Percent complete | Costs to date ÷ estimated total cost (cost-to-cost) | Standard input to percentage-of-completion |
| Earned revenue | Contract value × percent complete | Revenue you've genuinely earned by doing the work |
| Billed to date | Invoices sent (draws / pay apps), not cash collected | Retainage billed but held is still "billed" — track retainage separately for cash |
| Over / under billing | Billed − earned | This column is the point of the schedule |
| Estimated gross profit (optional but useful) | Contract − estimated total cost (and % / $ to date) | Surfaces bid margin vs current margin — profit fade |
Some schedules also show backlog, cost to complete, or billings in excess / costs in excess balance-sheet lines. The seven columns above are enough to run the business month to month. Building or checking the layout itself? See what columns a WIP template needs.
Over-billed (billings > earned revenue): You've invoiced ahead of completed work. Cash feels strong — but you're holding money for work you still owe. On the balance sheet it's typically a liability ("billings in excess of costs"). A modest over-billed position is often healthy: customers fund the job. Heavy, chronic over-billing is job borrow — the front of the job lends you cash; the back takes it back.
Under-billed (earned revenue > billings): You've done work you haven't invoiced. You're financing the owner's project. Chronic under-billing is a top reason contractors feel broke while the P&L says they're fine. Sometimes it's slow billing or a missed draw. Sometimes it's unapproved change orders — or cost overruns that inflate percent complete so "earned" outruns what you can actually bill. That last case is a margin problem wearing a timing problem's clothes.
Example only — not a client case, not a quote. Three open jobs at month-end:
| Job | Contract | Est. cost | Cost to date | % complete | Earned | Billed | Position |
|---|---|---|---|---|---|---|---|
| Job A | $1,000,000 | $800,000 | $400,000 | 50% | $500,000 | $520,000 | $20,000 over |
| Job B | $600,000 | $480,000 | $360,000 | 75% | $450,000 | $380,000 | $70,000 under |
| Job C | $850,000 | $700,000 | $175,000 | 25% | $212,500 | $212,500 | Even |
How to read it:
In this sketch, the P&L can still show all three jobs "profitable." Only the WIP schedule shows that Job B is $70,000 behind on billings — cash sitting in the ground until someone invoices or faces the estimate.
This is why WIP reporting isn't a report you bolt onto generic bookkeeping. It's the output of an accounting process built for construction.
A work-in-progress (WIP) schedule is a job-by-job report that compares earned revenue (from percent complete) to billings on every active job. The over/under-billing column shows whether each job is funding itself or draining cash.
Monthly — as part of the regular close. Quarterly WIP schedules surface problems after you've already financed them. Banks and sureties may ask quarterly; operators should look monthly.
They're the same math in two seats. Percentage-of-completion is how earned revenue hits the books; the WIP schedule is the job-level proof and the monthly control. You can't run honest POC without a current WIP.
Over-billed = billed more than earned (often a liability; modest amounts can be healthy). Under-billed = earned more than billed (you're financing the job). Details and fixes: over/under billing.
Yes — for construction businesses. Frame-level packages include job costing and a monthly WIP as part of close-by-the-15th. Start at contact or review packages. We don't prepare tax returns.
Tell us about your construction business and we'll put together a custom quote — usually within one business day. DIG first; no invented rate card.
Get a custom quote →Call (480) 617-2664
Blackline Financial · 4320 E Brown Rd, Suite 103, Mesa, AZ 85205