Civilcfo Blog

WIP Schedule Explained: Overbilling, Underbilling

Written by Michael King | Apr 10, 2026 5:00:00 AM

Of all the financial documents in a construction business, the WIP schedule is the single most important, and the single most misunderstood.

Done right, it tells you whether you're actually making money on every active job right now. In real time. Before the loss has a chance to bury itself.

Done wrong, or worse, not done at all. It's the document that quietly hides the loss until the year-end financials show up six months later and the conversation with your CPA starts with "So… we're going to need to talk about a few of these jobs."

We've watched 8-figure contractors run into walls because nobody was reading the WIP right. We've also watched contractors at the same size avoid those walls because someone was. Same industry, same conditions, different outcomes, and the WIP schedule was the gauge that separated them.

Here's how to actually read one.

Let's dive in.

What WIP actually means

WIP stands for Work In Progress. In plain English, it's a table (usually a spreadsheet, sometimes a report from your accounting system) that shows every active job on your books at a single point in time.

For each job, the WIP schedule shows:

  • What the contract is worth
  • What you've spent on it so far
  • What you think it'll cost in total
  • What percentage complete you are based on cost
  • How much revenue you've actually earned (which is different from how much you've billed)
  • How much you've billed
  • The gap between what you've earned and what you've billed

That gap, between earned revenue and billed revenue, is the part nobody wants to read but everybody should.

If you've earned more than you've billed, you're underbilled. You've done the work but haven't billed for it. Your billing is behind the work.

If you've billed more than you've earned, you're overbilled. You've collected cash for work you haven't done yet. Your billing is ahead of the work.

Both are normal in some scenarios. Both can also be deadly in others. The trick is knowing which is which.

The percentage-of-completion method, without the headache

WIP is built on a method called percentage of completion (POC). It's the accounting method most $10M+ construction contractors are required to use, and the only one that actually tells the truth about an active long-cycle job.

Here's the math in one paragraph:

  • Costs incurred to date ÷ total estimated costs at completion = % complete
  • % complete × contract value = earned revenue
  • Earned revenue − billings to date = over- or underbilling

Let's walk through an example. Say you have a $1,000,000 job. You estimated total costs of $850,000. You've spent $425,000 to date. You've billed $600,000.

  • $425,000 ÷ $850,000 = 50% complete
  • 50% × $1,000,000 = $500,000 earned revenue
  • $500,000 earned − $600,000 billed = $100,000 overbilled

You've collected $100K of cash for work you haven't done yet.

Now flip it. Same job, same costs, but you've only billed $440,000.

  • 50% complete
  • $500,000 earned revenue
  • $500,000 earned − $440,000 billed = $60,000 underbilled

You've done $60K of work the customer hasn't paid for yet, and probably doesn't even know about, because you haven't sent the invoice.

Same job. Two completely different cash and financial stories. The WIP is what surfaces the difference.

Overbilling: when it helps and when it kills you

Overbilling isn't automatically bad. In fact, smart front-loading on a draw schedule is healthy financial management.

When you negotiate a schedule of values that's weighted toward the early phases of work (mobilization, site prep, foundations), you're deliberately accelerating cash inflow before you spend the heavy cost. That cash funds the next job's mobilization, keeps the line of credit balance low, and gives you working capital you didn't have to borrow.

That's a feature, not a bug. We coach contractors on how to do it well.

Here's where overbilling becomes the slow-motion killer though. When the owner starts thinking the overbilled cash is profit.

We worked with an 8-figure mechanical contractor a few years back where the owner kept looking at the bank balance and assuming the company was crushing it. He was distributing aggressively, buying equipment in cash, paying out generous bonuses. The bank balance kept refilling because new jobs kept overbilling at mobilization.

The problem was the first jobs in the cycle were running over budget. The overbilled cash from new jobs was funding the cost overruns on old jobs. The company looked healthy on the bank statement and was bleeding to death in the WIP.

That's called job borrow. It's the slow-motion failure that takes down contractors that on paper look strong.

The test: if your overbilled position keeps growing and your gross margin on closed jobs keeps falling, you're not doing healthy front-loading. You're job borrowing. And it always ends the same way.

Underbilling: the silent margin killer

If overbilling is the loud killer that takes down 8-figure contractors, underbilling is the quiet killer that strangles them in the night.

Chronic underbilling means you're financing the job for your customer. Every dollar you've earned but haven't billed is a dollar of your cash being used as the customer's working capital. That money is funding your customer's business and not yours.

Why does underbilling happen? Always one of these:

  • Slow billing cycles. The PM doesn't get the pay app to accounting on time. Accounting doesn't get it out on time. The invoice goes out two weeks late, every month.
  • Unbilled change orders. Work was performed in the field but never made it into a written change order. The cost is in the books. The revenue isn't. We covered this whole pattern in our change orders and profit fade post.
  • Unbilled retainage. Retainage owed but never actually invoiced.
  • Disputed work. The customer is contesting a portion of the bill. The contractor is working on the rest of the job but hasn't billed the disputed portion. It just sits there.
  • Pure process failure. Nobody owns billing as a discipline.

CFMA and FMI data consistently shows cash flow as the leading cause of contractor failure, and underbilling is one of the most common patterns inside that failure. The work is good. The estimating is good. The crews are good. The billing is slow. The cash doesn't arrive. The contractor runs out of runway.

You can be the best contractor in your market and go out of business because nobody invoiced.

How to read a WIP schedule line by line

This is the section worth bookmarking. Here's what every column on a WIP schedule means and what to actually look for.

A clean construction WIP has these columns, in roughly this order:

Column What it means What to look for
Job number / name The job identifier Is anything missing? Job not on WIP that should be?
Contract value Original signed contract amount Match it to your contracts file. Discrepancies = problem.
Approved change orders Signed change orders added to contract Is this updated? Lagging change orders = lagging cash.
Revised contract value Original + approved COs The actual number you're working against.
Estimated total costs at completion Your best current estimate of total costs Is this updating monthly? Stale = profit fade hiding.
Estimated gross profit Revised contract − estimated total costs Compare to the bid GP. If it's drifting down = profit fade.
Estimated GP % Gross profit as % of revised contract The number to track over time.
Costs incurred to date Actual costs spent on the job Pulled from job cost reports. Must be accurate.
% complete Costs incurred ÷ estimated total costs The engine of the whole schedule.
Earned revenue % complete × revised contract value The "right" amount of revenue at this point in time.
Billings to date Total billed to the customer Pulled from your billing records.
Over/(Under) billing Billings − earned revenue Positive = overbilled. Negative = underbilled.
Projected profit at completion Same as estimated gross profit, but tracked across time Watch this number over months.

Now, the patterns to flag:

Estimated total costs creeping up month over month, with no offsetting change order revenue. That's profit fade in motion. The job is running over and nobody priced the overage into the customer.

A job that's been at the same % complete for two months. Either the job is stalled or the costs aren't being booked correctly. Both are problems.

A persistent underbilling on a fast-cycle job. Billing should be at least keeping pace with the work. Persistent underbilling = billing process failure.

A persistent overbilling that grows over time. Especially on a slow-cycle job. That's either intentional front-loading (fine, but track it) or job borrow (not fine).

Costs incurred that exceed estimated total costs at completion. You're past 100% complete on cost but the job isn't done. The estimate needs to be updated immediately, and you need to know why it was wrong.

Profit fade and WIP

This deserves its own section because it's one of the most expensive patterns in construction.

Profit fade is when your estimated job margin shrinks over the life of a job. You bid a job at 22% GP. By month three the estimated total costs have crept up and the projected GP is 18%. By month five it's 14%. By close it's 9%.

That's 13 points of margin that walked off the job.

Where did it go?

  • Costs in the field exceeded estimate (labor productivity, material price increase, weather, rework)
  • Change orders were performed but not priced into a CO at the same markup
  • Overhead absorption was wrong at the time of bid
  • Estimated total costs were too optimistic at the start

The WIP is where profit fade shows up first. Contractors who run a tight monthly WIP review catch it in month two. Contractors who don't catch it in month nine. When the year-end close strips it from the books and the owner finds out at the tax meeting.

The contractor who catches it monthly can adjust crews, push for unapproved change order recovery, escalate disputed work, and protect the next bid by tightening the estimating model. The contractor who finds out at year-end has none of those options.

For the full breakdown of how change orders specifically erode margin, we covered it in detail in our change orders and profit fade post.

Why your surety is reading WIP harder than you are

Here's a thing most contractors don't realize: your bonding agent is reading your WIP more carefully than you are.

Sureties use the WIP to calculate your bonding capacity. Specifically, they look at:

  • Total backlog (sum of revised contract values minus earned revenue)
  • Working capital position (and how it adjusts for over/underbilling)
  • Profit fade history (have your closed jobs come in at bid margin or below?)
  • Job concentration (any one customer or job too large relative to the portfolio?)
  • Overbilling exposure (sureties discount overbillings because that cash represents work not yet done)

A surety reads your WIP for management quality. Consistent profit fade tells them you can't estimate or you can't execute. Sloppy WIP categorization tells them your operations are a mess. Aggressive overbilling tells them you're financing your business off customer money.

You don't see the WIP as a sales document for your bonding capacity. The surety absolutely does.

This means the WIP isn't an internal document. It's the document that, more than any other, decides how much work you'll be able to bid on next year. We dig into the bonding capacity side specifically in our increase bonding capacity guide.

The monthly WIP review meeting

If you take one operational change from this post, take this one:

Once a month, every active job goes through a 60-minute WIP review meeting with Estimating + Operations + Finance in the same room.

For each job:

  • What was the estimated total cost at completion last month?
  • What is it this month?
  • If it changed, why?
  • Are there any unapproved change orders we should be pushing on?
  • Is billing keeping pace? Why or why not?
  • What's the projected GP at completion?
  • What action are we taking before next month's meeting?

This single meeting separates $25M+ contractors from $10M ones. It's where profit fade gets caught. It's where unbilled change orders get assigned to someone with a deadline. It's where the estimating team gets feedback on what they missed in the original bid. It's where the operations team gets accountability for the cost trajectory of their jobs.

If your finance function isn't sitting in this meeting every month, the WIP is being prepared by accounting for nobody. Which is to say, the WIP is being prepared for an audience that doesn't exist. We covered this exact theme in the $10M Wall post, and it's why most contractors plateau there.

Frequently asked questions

Cost-to-cost vs efforts-expended percentage of completion. Which should I use?

For most construction, cost-to-cost (costs incurred ÷ total estimated costs) is the standard and what your CPA and surety will expect. Efforts-expended methods (labor hours, units installed) can be used in specific scenarios. Heavy civil with discrete unit-based work, for example. Default to cost-to-cost unless your CPA has a reason to deviate.

When does a job belong on WIP vs off?

Active jobs over a meaningful size. Usually anything over ~$100K in contract value, or any job that will span more than one accounting period. Service work, short T&M jobs, and small repairs that close within the same accounting period generally don't need WIP treatment. The threshold should match your business. We help clients set this during onboarding.

How do I handle unapproved change orders?

Carefully. Unapproved change orders are revenue you've earned but the customer hasn't formally agreed to. Some accountants book them at 100% confidence, some at 0%. The right answer is somewhere in the middle and varies by customer relationship. The safer approach: don't book unapproved change order revenue, but track it separately so you know what's at risk. And get them approved.

Should small jobs be on WIP?

No. Anything that will be billed and closed within the same accounting period doesn't benefit from POC accounting. Service work, short T&M jobs, and small repairs are accounted for as completed contract or straight invoicing.

My WIP and my financials don't match. What's wrong?

This is one of the most common problems in mid-sized contractors. It usually means the WIP was built outside the accounting system instead of from it. Or the schedule of values for billing doesn't tie to the cost categories on the job. Or there's a timing mismatch between when costs are booked and when the WIP is run. A monthly reconciliation between WIP and the GL is non-negotiable. If yours doesn't tie, something is wrong upstream.

Who should own the WIP?

The controller or the bookkeeper builds it. The Fractional CFO reads it strategically with the owner and the operations team. The PMs own the inputs (costs to complete estimates, change order tracking). Three different roles, one document. If one of those roles isn't filled, your WIP is missing a leg.

The WIP isn't an accounting exercise. It's the operational gauge that tells you whether your business is actually making money. Job by job, week by week, before the financials show up to confirm it.

If yours is being prepared by someone who doesn't sit in your monthly operations meeting, the gauge is broken.

At Civil CFO, every Fractional CFO on our team has actually held the CFO seat at an 8- or 9-figure contractor and run this meeting hundreds of times. We work exclusively with $10M–$70M construction companies trying to move from 1-3% net margin to 10%+. If that's the move you're trying to make, you'll know what to do.