WIP & Job Costing
The Problem That Doesn’t Show Up Anywhere You’re Looking
Ask most contractors how their business is doing, and they’ll point to the bank balance or the bottom line on last month’s P&L. Both numbers feel concrete. Both numbers can also be quietly wrong, in a way that has nothing to do with bad bookkeeping or dishonest reporting. It’s built into how construction billing works, and it’s the reason a business can look completely healthy right up until the moment it doesn’t.
The issue is over-billing and under-billing — the gap between what you’ve actually earned on a job and what you’ve actually invoiced for it. Every contractor runs some version of this gap on every active job, all the time. Most have no idea how big it is, because nothing in a standard bookkeeping setup is built to show it to them.
Why a Healthy-Looking P&L Can Still Be Wrong
Standard invoicing and progress billing don’t move in lockstep with actual job costs. You might bill a customer 40% of a contract because that’s what the schedule of values calls for this month, while your crews have only really completed 25% of the physical work. That’s over-billing — cash in hand for work not yet done. Or the reverse happens: you’ve poured concrete, framed walls, and burned through payroll for weeks, but the next billing milestone hasn’t arrived yet, so none of that gets invoiced. That’s under-billing — real cost and real progress sitting there unbilled and, on paper, invisible.
Neither of these shows up as a line item anywhere in a typical bookkeeping file. A regular P&L just shows invoiced revenue against paid expenses. It has no mechanism for asking “how much of this job have we actually earned versus billed” — that comparison doesn’t exist unless someone builds it deliberately, job by job, on a schedule.
Why It Stays Hidden
A few reasons this problem tends to go unnoticed for years:
- On a single job, the gap between billed and earned often closes itself out by the time the project finishes, so it never gets flagged as a problem — it just looks like normal ebb and flow.
- Standard accounting software has no field for “percent complete.” It tracks what was invoiced and what was paid, not what was physically finished.
- A contractor juggling several jobs at once sees the combined cash position, not the individual job-level gaps that are offsetting each other — one job’s over-billing can mask another job’s under-billing in the aggregate bank balance.
- Nobody’s looking for it specifically. It only surfaces when something else forces a closer look — a bonding renewal, a loan application, or a sudden cash crunch that doesn’t match what the P&L says should be happening.
The Moment It Becomes Impossible to Ignore
The gap usually stays invisible as long as new work keeps coming in behind it — fresh billings on new jobs cover the shortfall from older, under-billed ones, and the whole thing feels self-sustaining. The trouble starts when growth slows, several jobs hit their back half at the same time, or a big job’s billing schedule and cost curve fall out of sync in the same direction as several others. That’s when the accumulated gap stops being background noise and becomes an actual cash shortfall, right when there’s no new billing coming in to paper over it.
The gap doesn’t cause a crisis. It just waits for the moment nothing new is around to hide it.
By that point, it isn’t a one-job problem anymore. It’s a structural gap that’s been building silently across the whole backlog, and it surfaces all at once.
What This Costs You Even in a Good Year
You don’t need a crisis for this to matter. Even in a perfectly ordinary year, an unmeasured over/under-billing position means:
- You can’t actually tell which jobs are profitable and which are being propped up by billing timing.
- Decisions about hiring, equipment purchases, or bidding new work get made on numbers that don’t reflect where the business really stands.
- Any outside party asking for real numbers — a bonding agent, a bank, a buyer — gets a very different picture than the one you’ve been operating on, and the mismatch reflects on you, not on them.
The bottom line
Over-billing and under-billing aren’t signs that something has gone wrong. They’re a normal, built-in feature of how construction gets paid — every contractor carries some version of this gap at all times. What separates a business that’s managing it from one that’s blind to it is whether anyone is actually measuring it, job by job, on a regular cadence, before it has a chance to compound into something that shows up as a genuine cash problem instead of a number on a schedule.
