Construction contractor reviewing WIP report and job costing spreadsheet at desk with blueprints

What Does 'Jobs in Progress' Mean in Construction Accounting?

March 28, 2026

Jobs in Progress (WIP) means money you have spent or earned on a job that is not finished yet. It sits on your balance sheet, not your profit and loss statement, until the job closes out. If you have ever wondered why your P&L shows profit but your bank account is empty, WIP is usually the reason. It is tracking the gap between what you have billed, what you have spent, and what you actually owe or are owed.

Why Does WIP Matter More Than Your Profit and Loss Statement?

Your profit and loss statement only tells you part of the story. It shows revenue and expenses for a period — say, last month. But construction does not work that way. You buy materials in February, install them in March, bill in April, and collect in May. If you only look at your P&L, you might think you made $40K in March because you billed three progress payments. But if you spent $60K on materials and labor that same month and have not billed for it yet, you actually burned $20K in cash. That unbilled cost is sitting in WIP. It is real money out the door that has not hit your P&L yet.

Here is what this looks like on a real job. You are a remodeler doing a $120K kitchen gut. You are halfway done. You have billed $60K and collected $50K. You have spent $55K on cabinets, demo, rough plumbing, and electrical. Your P&L might show $5K in profit ($60K billed minus $55K in costs). But your bank account is down $5K because you are still waiting on that last $10K payment. WIP captures all of this — the costs you have not billed yet, the revenue you have earned but not invoiced, and the cash you are waiting on. Without WIP reporting, you are flying blind.

What Are the Main Components of a WIP Report?

A WIP report breaks down every active job into a few key numbers. You need to know what you budgeted, what you have spent, what you have billed, and what you have left. Here is what shows up on a solid WIP report:

  • Contract Value: The total price the client agreed to pay — $120K in our kitchen example.
  • Costs to Date: Everything you have spent so far — labor, materials, subs, equipment. Let us say $55K.
  • Billings to Date: What you have actually invoiced the client. In this case, $60K.
  • Estimated Cost to Complete: What you think it will cost to finish the job. Maybe another $50K.
  • Over/Under Billed: The difference between what you billed and what you earned based on percent complete. If you are 50% done (based on cost), you should have billed $60K. You did. So you are even. If you billed $70K but only completed $60K worth of work, you are over-billed by $10K. That is a liability — you owe the client work.
  • Projected Profit: Contract value minus total estimated costs. If the job will cost $105K total and you are billing $120K, you are looking at $15K profit.

Most contractors never look at this until the job is done. By then, it is too late to fix a job that went sideways. If you review WIP every month, you catch cost overruns while you still have time to adjust scope, push for a change order, or cut waste.

How Do You Calculate Percent Complete on a Construction Job?

Percent complete is how you figure out how much revenue you have actually earned, even if you have not billed it yet. There are two main ways to calculate it: cost-based and units-based. Cost-based is the most common in residential and small commercial work.

Here is the formula: Percent Complete = Costs to Date ÷ Total Estimated Costs.

Let us use a $180K framing job. You budgeted $140K in total costs. You have spent $70K so far. Your percent complete is $70K ÷ $140K = 50%. That means you have earned 50% of the contract value, or $90K in revenue, even if you have only billed $60K. The $30K difference is unbilled revenue — money you earned but have not invoiced yet. That goes on your balance sheet as a WIP asset.

Units-based is simpler but only works if you have clear deliverables. If you are a roofer doing 10 identical buildings and you finished 4, you are 40% complete. If you are doing custom work, cost-based is the way to go.

Here is the trap: if your cost estimate is wrong, your percent complete is wrong, and your profit projections are garbage. If that $180K framing job actually costs $160K instead of $140K, you are not making $40K — you are making $20K. You need to update your estimated costs every month as the job moves. Otherwise, you are lying to yourself about how profitable the work is.

What Does It Mean If You Are Over-Billed on a Job?

Being over-billed means you have invoiced the client for more work than you have actually completed. Let us say you are 40% done with a $200K job, so you have earned $80K in revenue. But you billed $100K because the payment schedule was front-loaded or you needed cash. You are over-billed by $20K. That $20K is not profit — it is a liability. You owe the client $20K worth of work.

This is not always a bad thing. A lot of contracts are structured with a big deposit or progress payments that come before you hit that percentage of completion. The problem is when you spend that $20K on another job or on overhead and then realize you still have $20K worth of work left to do on the original job. Now you are scrambling for cash to finish.

Here is a real scenario: You are an HVAC contractor. You land a $250K commercial job with a $75K deposit. You are 20% complete — you have done $50K in work. You billed $75K. You are over-billed by $25K. If you spend that whole $75K, you are going to be short when you hit 50% complete and realize you have another $75K in costs coming and only $175K left to bill. A good WIP report flags this before it becomes a crisis. You see the over-billing, and you know that cash is not really yours yet.

What Does It Mean If You Are Under-Billed on a Job?

Being under-billed is the opposite problem — you have done more work than you have invoiced. You are 60% complete on a $300K job, so you have earned $180K in revenue. But you have only billed $150K. You are under-billed by $30K. That $30K is an asset — the client owes you for work you already did. But until you invoice it, it is not cash.

This is incredibly common with contractors who bill on a schedule instead of based on actual progress. You finish a phase early, but your contract says you do not bill until the 15th of the month. Or you do a bunch of change orders and forget to invoice them. Or you are just bad at paperwork and do not send the invoice until the job is 80% done.

Here is the danger: under-billing kills cash flow. You spent $180K on labor and materials. You collected $150K. You are $30K in the hole, even though the job is profitable on paper. If you have three jobs running and they are all under-billed, you are floating $90K out of your own pocket. That is why your line of credit is maxed out and you are paying subs late.

The fix is simple but requires discipline: bill as soon as you hit a milestone. If your contract says you bill at 50% complete, run your WIP report, confirm you are at 50%, and send the invoice that week. Do not wait. Every week you delay is a week you are funding the client's project with your cash. We have seen this pattern destroy otherwise solid contractors — they do great work, they price jobs right, but they are always 60 days behind on billing and they run out of oxygen.

How Often Should You Run a WIP Report?

Monthly, at a minimum. If you are running jobs over $100K or you have more than three jobs going at once, you should be looking at WIP every month like clockwork. Ideally, you close your books by the 10th of the following month and review WIP with whoever is managing the jobs — your project manager, your lead carpenter, your ops person, or just yourself if you are a small crew.

Here is what that review looks like. You pull up each active job. You ask: How much did we spend last month? Are we on track with the budget? Did we bill what we were supposed to? Are we over or under? What is the estimated cost to complete? If a job that was supposed to cost $80K is already at $70K and you are only 60% done, you have a problem. You are heading for a $35K overrun. You need to either get a change order, cut scope, or accept that the job is going to lose money. But at least you know now, while there is still time to stop the bleeding.

If you wait until the job is done to run WIP, you are just doing an autopsy. The patient is already dead. Monthly WIP is preventive medicine. It catches the small bleeds before they become hemorrhages.

For a deeper dive into how this fits into your overall job tracking, take a look at our breakdown of job costing for construction. It is the foundation that makes WIP reporting actually useful.

What Is the Difference Between WIP and Job Costing?

Job costing tracks what you spend on a job while it is happening — your labor hours, material invoices, subcontractor bills, equipment costs. It is the detail. WIP reporting takes all that job cost data and compares it to what you billed and what you budgeted. It is the summary that tells you if you are making money or losing it.

Think of job costing as the daily play-by-play. WIP is the scoreboard. You need both. If you only do job costing, you know what you spent, but you do not know if you are over or under billed. If you only look at WIP without good job costing, your numbers are just guesses. You are plugging in rough estimates instead of actual costs, and your percent complete is wrong.

Here is an example. You are a commercial GC managing a $1.2M project. You have 8 subs, a ton of materials, and your own labor on site. Job costing tells you that as of today, you have spent $487K — broken down by phase, by trade, by cost code. WIP takes that $487K and says: OK, you budgeted $950K total, so you are 51% complete. You should have billed $612K. You have billed $550K. You are under-billed by $62K. Job costing gave you the data. WIP gave you the action item: send an invoice.

If your job costing is sloppy — you are not coding invoices to the right job, you are not tracking labor by project, you are guessing at what you spent — then your WIP report is useless. Garbage in, garbage out. This is why we push contractors to get their construction financial systems dialed in first. You cannot manage WIP if you do not know what you are spending.

What Should You Do If a Job Is Showing a Projected Loss?

First, do not panic. Second, do not ignore it. If your WIP report shows a job heading for a loss, you have a few moves. You can try to get a change order if scope has crept beyond the original contract. You can cut costs — maybe you bring some work in-house instead of subbing it, or you find a cheaper material supplier. You can eat the loss and use it as a tuition payment — figure out what went wrong and price the next job better.

What you cannot do is pretend it is fine and hope it fixes itself. It will not. If you are 50% done and already over budget, the second half is not magically going to cost less. It is going to cost more, because now you are rushing, you are making mistakes, and you are throwing bodies at it to get it done.

Here is a real one: You are a remodeler. You bid a $95K bathroom remodel. You are 60% in and you have spent $68K. Your estimated cost to complete is another $45K. That puts you at $113K in total costs on a $95K job. You are losing $18K. What do you do? You call the client. You walk through what changed. Maybe they upgraded tile. Maybe you hit a plumbing nightmare behind the walls. Maybe you just bid it wrong. If there is a legitimate change in scope, you ask for a change order. If not, you finish the job, you take the loss, and you update your estimating system so it does not happen again.

The worst thing you can do is keep spending and keep hoping. We have seen contractors lose $50K on a single job because they would not face the music at the halfway point. A monthly WIP review forces you to face it early, when you still have options.

Can You Recover From a Badly Managed WIP Situation?

Yes, but it takes discipline. If your WIP is a mess — you have no idea what is billed, what is earned, what is owed — you need to stop and clean it up. Block out a day. Pull every active job. Go through the contracts, the invoices, the bills. Build a simple spreadsheet if you do not have software. List every job, the contract amount, what you have spent, what you have billed, and what you think it will cost to finish.

It is going to hurt. You are going to find jobs you thought were profitable that are not. You are going to find $30K in unbilled work sitting there. You are going to realize you are over-billed on two jobs and under-billed on three others. But once you know, you can fix it. You send the invoices you should have sent two months ago. You have the hard conversations about change orders. You update your budgets. You start running WIP every month so you never get this far behind again.

Most contractors avoid this because they are afraid of what they will find. But you cannot fix what you will not face. And the longer you wait, the worse it gets. If you need help untangling it, that is exactly the kind of work a Fractional CFO does — not just cleaning up the mess, but building the system so it does not happen again.

What Tools Do You Need to Track WIP?

You need job costing software that ties into your accounting system. QuickBooks Desktop with job costing enabled works. Foundation, Buildertrend, Co-construct, Procore, Sage 100 Contractor — they all have WIP reporting if you set them up right. The tool matters less than whether you are actually using it every month.

Here is the minimum you need: a way to assign every cost to a job, a way to track what you have billed, and a way to compare costs to budget. If you are doing this in a spreadsheet, it is better than nothing, but it is fragile. One missed invoice, one forgotten material receipt, and your numbers are off. Software forces the discipline. Every bill gets coded to a job. Every payment gets logged. Your WIP report pulls automatically.

The bigger issue is not the tool — it is the habit. You need someone running the report every month, reviewing it with the people who are actually on the jobs, and making decisions based on what it says. If you are too buried to do that, it might be time to get help. You do not need a full-time CFO. You need someone who knows construction accounting and can run your WIP, translate it into plain English, and tell you what to do about it. That is what we do, and it is usually the difference between a contractor who knows their numbers and one who is guessing.

You are not bad at business. You just did not get taught this stuff in trade school. But WIP reporting is not optional if you want to grow past $1M or $2M in revenue. It is the scoreboard that tells you if you are actually making money or just staying busy. Start running it monthly. Face what it tells you. Fix the leaks. And watch your bank account start to match the work you are putting in.

#ConstructionAccounting #WIPReporting #JobCosting #ContractorCashFlow #ConstructionCFO #ContractorFinancials

Cory Salisbury is a construction bookkeeping and job costing specialist who helps contractors eliminate financial chaos and run more profitable projects. He builds clean, accurate financial systems focused on job costing, WIP reporting, cash-flow forecasting, AR/AP management, and real-time dashboards—giving builders complete visibility into their numbers. Cory’s expertise helps general contractors, subcontractors, and specialty trades tighten margins, stabilize cash flow, and scale with confidence.

Cory Salisbury

Cory Salisbury is a construction bookkeeping and job costing specialist who helps contractors eliminate financial chaos and run more profitable projects. He builds clean, accurate financial systems focused on job costing, WIP reporting, cash-flow forecasting, AR/AP management, and real-time dashboards—giving builders complete visibility into their numbers. Cory’s expertise helps general contractors, subcontractors, and specialty trades tighten margins, stabilize cash flow, and scale with confidence.

LinkedIn logo icon
Instagram logo icon
Back to Blog