ProvesTrue.All notes

WIP Reports Explained, With a Template Contractors Actually Use

August 21, 2026 · ProvesTrue notes

A WIP report answers one question per open job: have you billed for what you have actually earned? It lists every job in progress with contract value, estimated cost, cost to date, percent complete, earned revenue, and billings to date. The gap between earned and billed is the number the whole document exists for. Bill ahead of the work and you are overbilled, which feels great and is borrowed money. Bill behind it and you are underbilled, which is profit you have already paid for and not yet invoiced. Banks, bonding agents, and your CPA ask for the schedule because it is the only page that shows both at once.

Most guides stop at the definition. This one gives you the columns, the arithmetic, the two mistakes that make a WIP report lie, and a template you can open in Excel or Sheets today.

The eleven columns a usable WIP schedule needs

  1. Job and its original contract value.
  2. Approved change orders, and the revised contract they produce. Unapproved change orders do not belong here; they are hope, not contract.
  3. Estimated total cost, re-estimated, not the bid. A WIP built on the original estimate after the job went sideways is fiction.
  4. Cost to date, including labor burden and every material source, not just what reached the accounting system with a job tag.
  5. Percent complete = cost to date ÷ estimated total cost.
  6. Earned revenue = percent complete × revised contract.
  7. Billed to date.
  8. Overbilled (billed minus earned, when positive) and underbilled (earned minus billed, when positive).
  9. Estimated gross profit = revised contract minus estimated total cost, so you see margin drift next to billing drift.

The two mistakes that make a WIP report lie

Stale estimates. If the estimated total cost is still the bid number four months in, percent complete is wrong, earned revenue is wrong, and every billing conclusion is wrong. The estimate has to move when the job does.

Incomplete cost to date. The hours still sitting in the time-clock app, the supply-house run on the company card, the sub invoice in someone’s inbox: every cost that has not reached the job yet understates percent complete and quietly turns a real underbilling into an imaginary overbilling. This is the mistake that costs the most, because it hides until closeout.

Reading the template’s two example rows

The template ships with two example jobs. The remodel is 50% complete and billed 70,000 against 64,000 earned: overbilled by 6,000, which is fine if you know it and dangerous if you think it is profit. The HVAC install is 90% complete and billed 30,000 against 37,800 earned: underbilled by 7,800. That job has 7,800 of your money sitting in it that an invoice could collect this week. A WIP report that is current would have said so a month ago.

Why the bank wants it monthly

Lenders and sureties read the schedule for two things: whether your billing is ahead or behind the work across the whole book (cash-flow risk), and whether estimated gross profit is eroding job by job (margin risk). A contractor who produces a clean monthly WIP reads as run by adults. One who cannot produce it gets smaller lines and slower bonds.

Doing it by hand versus having it assembled

The honest cost of a monthly WIP by hand is a day of someone senior gathering the cost to date from four places. That is exactly why it slips to quarterly and why the numbers in it are stale when it is finally built. ProvesTrue produces it at month end from the tools you already run, with the same job data that feeds the Monday Ledger, so the schedule is a byproduct of numbers that are already current, not a project. Our QuickBooks job costing guide covers how the cost-to-date column gets complete in the first place.

Bring us one job you are not sure made money. Fifteen minutes, no slides, and you leave knowing which of your tools hold that job’s real costs.

Bring me one job
ProvesTrue · a Khanna’s LLC product · Inland Empire, California