Contractor Guide

What is a WIP schedule? The contractor report banks and sureties ask for

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.

The short definition

TermMeaning
WIP scheduleOne row per active job; earned revenue vs billings (and the gap)
Percent completeUsually cost-to-cost: costs to date ÷ estimated total cost
Earned revenueContract value × percent complete
Billing positionBilled 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.

Why contractors need a WIP schedule every month

A WIP schedule is not a once-a-year bonding packet. It's a monthly operating tool.

  1. Cash follows billing position, not "profit." Under-billed work is money you've spent (or owed) that you haven't invoiced. Over-billed cash feels free until the back half of the job consumes it with little left to bill.
  2. Profit fade shows up here first. Bid margin vs current estimated margin — when estimated cost-at-completion climbs and nobody updates the schedule, "profitable" jobs shrink in silence. That fade is what sureties watch. (Thin bids from confusing markup vs margin make fade more likely.)
  3. Banks and sureties already expect it. Lines of credit and bonded work usually come with a WIP ask — quarterly at minimum, often monthly. Contractors who walk in with a current schedule get smoother renewals; contractors who build one the week before don't.
  4. Quarterly is too late. By the time a quarterly WIP flags a missed draw or an unapproved change order, you've often already financed a full billing cycle out of pocket.
  5. It only works on construction books. Job costing, honest cost-to-complete estimates, and a disciplined close aren't optional extras — they're the inputs. A pretty WIP on unreconciled books is fiction with columns.

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.

Columns on a WIP schedule (how to read one)

One row per active job. Core columns:

ColumnWhat it isWhy 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-billing and under-billing (the bridge)

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.

Rule of thumb: slightly over-billed on most jobs is a healthy default. For the full trap-and-fix picture, read over-billing vs under-billing.

Labeled example (illustrative only)

Example only — not a client case, not a quote. Three open jobs at month-end:

JobContractEst. costCost to date% completeEarnedBilledPosition
Job A$1,000,000$800,000$400,00050%$500,000$520,000$20,000 over
Job B$600,000$480,000$360,00075%$450,000$380,000$70,000 under
Job C$850,000$700,000$175,00025%$212,500$212,500Even

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.

What you need before the schedule is trustworthy

  1. Job costing that's complete — every cost coded to a job, every month (job costing in QuickBooks Online).
  2. Honest cost-at-completion estimates — updated when change orders land and when jobs drift. Stale estimates are how profit fade hides.
  3. Clean, current books — reconciliations done; a WIP built on unreconciled accounts is a spreadsheet cosplay.
  4. A monthly close rhythm — POC / over-under entries posted as part of close, not once a year when someone asks (how we close).

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.

FAQ

What is a WIP schedule in 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.

How often should contractors update a WIP schedule?

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.

What's the difference between a WIP schedule and percentage-of-completion?

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.

What do over-billing and under-billing mean on a 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.

Can Blackline build and maintain our WIP schedule?

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.

Ready for a WIP you can take to the bank?

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 →

See services and packages →

Call (480) 617-2664

Blackline Financial · 4320 E Brown Rd, Suite 103, Mesa, AZ 85205