What Is a WIP Report in Construction? (And How to Read Yours)

If you’ve ever sat across from a bonding agent or a banker and watched them ask for a Work in Progress schedule, then watched yourself pull up a P&L instead because that’s all your accountant gives you, this guide is for you.

I’m Erin Andrews, owner of Level Accounting & Advisory. We’re a construction-only firm, and the WIP report construction conversation is one we have with every contractor we onboard who’s growing past $2M. There’s a point where a P&L stops being enough. The bonding agent reads your WIP before they read your tax return. The banker reads it before they extend your line of credit. And most contractors I talk to either don’t have one or have one that’s been built wrong.

This guide covers what a WIP is, the math, what overbilling and underbilling actually mean, how often to update it, and how to build one if your QuickBooks Online file doesn’t make one for you.

What is a WIP report in construction?

A WIP report — short for Work in Progress — is a construction-specific financial report that shows, for every open job, the contract value, costs incurred to date, percent complete, revenue earned, and amount billed. It surfaces two numbers that don’t exist anywhere else in your accounting: overbilling (you’ve billed more than you’ve earned, so you owe the work) and underbilling (you’ve earned more than you’ve billed, so the job is profitable on paper but you’re cash-short to fund it). The WIP exists to match revenue to the period it was actually earned, which is the only way to read profit on a job that spans multiple months. Bonding agents, bankers, and sureties all ask for it. QuickBooks Online doesn’t build it for you.

The WIP schedule — column by column

A proper WIP report in construction schedule has 12 columns. Skip any of them and the math breaks. Here’s what each one is and why it’s there:

ColumnWhat it shows 
1. Job Number / NameUnique ID for the job. Has to match your job costing in QBO/JobTread exactly.
2. Original Contract ValueThe signed contract amount, before any change orders.
3. Approved Change OrdersSigned and approved changes only. Verbal “we’ll deal with it later” changes don’t go here.
4. Total Revised ContractColumn 2 + Column 3. The current full value of the contract.
5. Estimated Total CostYour CURRENT estimate of what the job will cost when finished. Re-forecast monthly — not your original budget.
6. Costs Incurred to DateWhat you’ve actually spent on this job so far. Pulled from job-level COGS in QBO.
7. Percent CompleteColumn 6 ÷ Column 5. Cost-to-cost method.
8. Revenue Earned to DateColumn 7 × Column 4. The revenue you’ve actually earned based on % complete.
9. Amount Billed to DateTotal invoiced to the customer (including retainage held).
10. Over/Under BillingColumn 8 minus Column 9. Negative = overbilled. Positive = underbilled.
11. Estimated Cost to CompleteColumn 5 minus Column 6. What’s left to spend.
12. Estimated Profit at CompletionColumn 4 minus Column 5. What you’ll net if your forecast holds.

Every column matters. Most of the broken WIPs I see are missing column 3 (approved change orders) or column 5 (re-forecasted total cost — they kept using the original budget). Both errors make the rest of the report wrong.

Overbilling vs. underbilling — what they mean

This is the part most contractors miss, and it’s the most important part of the whole WIP report in construction.

Overbilling

You’ve billed the customer MORE than you’ve actually earned in work performed. Common with front-loaded billing schedules, deposits, and progress bills that race ahead of cost.

What it feels like: extra cash in the bank.

What it actually is: a liability. You owe that customer the work that justifies what they paid you. Spend the cash on the wrong thing and you’ll be funding the rest of that job out of your operating account.

Example: $200,000 contract. You’ve billed $120,000. You’ve completed 40% of the work, so revenue earned is $80,000. You’re overbilled by $40,000. That $40,000 is sitting in your bank but it’s not profit — it’s customer money you haven’t earned yet.

Underbilling

You’ve earned MORE than you’ve billed. Common with end-loaded billing schedules, slow billing, or jobs where you waited too long to bill a milestone.

What it feels like: nothing — most contractors don’t notice it.

What it actually is: profit on paper, cash crunch in real life. You’ve spent the money to do the work. The bank doesn’t have the cash yet because you haven’t billed it.

Example: $200,000 contract. You’ve completed 60% of the work, so revenue earned is $120,000. You’ve only billed $90,000. You’re underbilled by $30,000. The job is making money. You’re going to be short cash to fund payroll until that $30,000 gets billed and collected.

Both are red flags, in different ways. Overbilling means your cash flow is borrowed time. Underbilling means you’re financing your customer’s job for them. A healthy WIP across all your active jobs nets close to zero — the overbilled jobs and the underbilled jobs roughly offset.

The video below from Reid Bangert with Lisa Hutt, CPA is a strong half-hour walkthrough on WIP construction accounting if you want a second voice on the same material:

Why WIP matters for small contractors (not just big GCs)

The myth: WIP is for $50M general contractors with bonding requirements.

The reality: any specialty trade contractor doing more than a couple of multi-month jobs at a time should have a WIP. Here’s why.

  • Bonding capacity. If you ever need a bond — and most pool, concrete, and high-end remodelers eventually do — your bonding agent reads your WIP BEFORE they read your tax return. A clean WIP can double your bonding capacity. A missing or messy WIP caps it.
  • Lines of credit. Your banker reads your WIP the same way. A $5M HVAC contractor we work with got a $400K line of credit increase six months after we built him a real WIP. The banker said the underwriter had asked for it on the prior application and never got it.
  • Profit visibility on multi-month jobs. A pool build runs five months. A high-end deck runs eight weeks. Without a WIP, your monthly P&L tells you what you BILLED, not what you EARNED. Those are different numbers and the difference is profit.
  • Catching jobs that are bleeding before they finish. The WIP shows you when costs to date are blowing past percent complete. That’s your early warning that the job is sliding underwater. Catch it at 40% complete and you can re-bid the back half of the work or push for a change order. Catch it at 90% complete and you eat the loss.

If you’re a $1M+ specialty trade contractor with even one multi-month job at a time, you need a WIP. Doesn’t matter if no one is asking you for it yet — you need it for yourself.

Cost-to-cost vs. other percent complete methods

Three ways to calculate percent complete. Most small contractors should use the first one.

  • Cost-to-cost. Costs incurred ÷ estimated total costs. The default. Most common. Ties cleanly to QBO data. Use this unless you have a specific reason not to.
  • Effort expended. Labor hours used ÷ estimated total labor hours. Useful when labor is the dominant cost driver and material is small (some service-heavy plumbing or electrical work). Harder to maintain.
  • Units delivered. Number of units installed ÷ total units. Useful for repetitive-unit work — production framing, large fence runs, parking lot striping. Rare for our typical client.

For specialty trades doing $1M–$15M, cost-to-cost is what we use 95% of the time. It’s the standard, it’s what bonding agents and banks expect, and it ties directly to job-level costs you should already be tracking in QBO.

For more on the related decision of revenue recognition method (percentage of completion vs. completed contract), read our piece on percentage of completion vs. completed contract for small contractors.

How often to update your WIP

Three frequencies, depending on your size and risk:

  • Monthly minimum. Every contractor with multi-month jobs should be running a WIP at month-end, no exceptions. Tied to your monthly close.
  • Weekly for jobs over $250K. Big jobs move fast. Weekly WIP catches the bleed early enough to do something about it.
  • Real-time for shops over $5M in revenue. Once you’re at this size, the WIP needs to live in a dashboard that updates whenever costs post. Usually a JobTread custom report or a connected BI tool.

Also: re-forecast estimated total cost (column 5) every time you update the WIP. If you’re using your original budget number 90 days into a job, your percent complete is wrong and your revenue earned is wrong. Re-forecast based on what’s actually happening on the ground.

How to build a WIP if QBO doesn’t make one

QuickBooks Online has no native WIP report. You have four options:

  1. Excel. Build a 12-column template, pull cost data from QBO’s Job Profitability Detail report monthly, type in contract values and change orders manually. Free, slow, error-prone after the third job.
  2. JobTread custom report. If you’re already on JobTread, the data lives there. Build a custom dashboard with the WIP columns and pull contract value, change orders, and costs to date directly. We do this for most JobTread clients.
  3. Dedicated WIP tools. Knowify, Procore (overkill for most small contractors), Foundation Software (commercial). They build a WIP automatically but they’re a different software stack to learn.
  4. Outsource to a construction accountant. What we do for our monthly clients — we own the WIP build, update it monthly, deliver it as part of the close.

For most $1M–$15M specialty trade contractors, option 2 (JobTread custom report) or option 4 (have your accountant build it) is the right call. Excel works for the first six months but breaks down once you have more than three or four open jobs at a time.

One important note: a WIP is only as good as the underlying data. If your retainage isn’t tracked properly, your A/R aging is wrong, which makes “amount billed to date” wrong, which makes the whole WIP wrong. The QBO retainage workaround has to be in place before the WIP can tell the truth.

Common WIP mistakes

Five mistakes I see on almost every WIP we inherit:

  1. Using the original estimated cost without re-forecasting. Your job is 70% done and the cost overruns started in week three, but the WIP still shows the original $180K budget. Percent complete is wrong, revenue earned is wrong, profit at completion is fantasy.
  2. Forgetting to include approved change orders. $20K change order signed last month never got added to column 3. Now revenue earned is understated and the job looks worse than it is.
  3. Mixing accrual and cash basis numbers. Costs to date pulled on accrual, billings pulled on cash. The math doesn’t reconcile. WIP must be 100% accrual basis or it tells you lies.
  4. Calculating percent complete on a flawed cost number. If your job-level COGS in QBO is missing labor burden, costs to date is artificially low, percent complete is wrong, every job looks more profitable than it actually is.
  5. Building it once, then never updating. The WIP is only useful when it’s current. A 90-day-old WIP is worse than no WIP — it actively misleads you and the bank.

Frequently asked questions

What is a WIP report used for in construction?

A WIP report is used for three things: to match revenue to the period it was actually earned (instead of when it was billed), to surface overbilling and underbilling on every open job, and to give bonding agents and bankers the financial picture they need to extend bonds and credit. It’s also a job-level early warning system — when costs to date outrun percent complete, the WIP shows you a job is sliding underwater while there’s still time to do something about it. Without a WIP, multi-month jobs hide their real profitability until they close.

What’s the difference between WIP and percent complete?

Percent complete is one CALCULATION inside a WIP. The WIP is the full report — contract value, change orders, costs to date, percent complete, revenue earned, amount billed, over/under billing, estimated cost to complete, and estimated profit at completion. Percent complete by itself doesn’t tell you anything actionable. Percent complete inside the context of a WIP tells you whether you’re overbilled, underbilled, on track, or sliding underwater.

Does QuickBooks Online have a WIP report?

No. QBO has no native Work in Progress report. The closest report it offers is Job Profitability Detail, which shows costs vs. invoiced revenue but doesn’t calculate percent complete, doesn’t surface overbilling and underbilling, and doesn’t include forecasted cost to complete or estimated profit at completion. To get a real WIP out of QBO you have to build one — either in Excel pulling from the Job Profitability data, in JobTread as a custom report, in a dedicated WIP tool, or have your construction accountant build and maintain it for you.

Do I need a WIP report if I’m a small contractor?

If you have any jobs that span more than one month, yes. The WIP exists to match revenue to the period it was earned — which only matters when work performed and billing happen in different months. A small handyman doing one-day jobs doesn’t need a WIP. A $2M deck builder with four open jobs at any given time absolutely does. The threshold isn’t revenue size — it’s whether you have multi-month jobs.

Why do bonding agents ask for a WIP report?

Because the WIP is the only document that shows a bonding underwriter the real-time financial health of your active jobs. A tax return shows last year. A current P&L shows what you’ve billed. The WIP shows what you’ve actually EARNED, what you’ve actually SPENT, and what’s still in the pipeline. Underwriters use it to estimate your working capital position, your ability to fund the proposed bonded job, and your historical accuracy in forecasting cost to complete. A clean WIP is one of the fastest ways to grow your bonding capacity. A missing or sloppy WIP caps it.

How much does it cost to have an accountant build my WIP?

Building the initial WIP from scratch usually runs $1,500–$5,000 as part of an onboarding project, depending on how many open jobs you have and how clean your underlying job costing data is. Ongoing monthly WIP maintenance is included in our regular monthly services package ($1,500–$6,500/month, depending on volume). Most of our $1M–$15M specialty trade clients fall in the $2,000–$3,500/month range and the WIP is delivered as part of monthly close.

The bottom line

A WIP report is the single financial document that separates contractors who can grow from contractors who can’t. The bonding agent reads it before your tax return. The banker reads it before extending credit. And it’s the only way to know — on a multi-month job — whether you’re actually making money or just billing fast.

Build it monthly minimum, weekly on jobs over $250K, real-time once you’re a $5M+ shop. Use cost-to-cost as your method. Re-forecast estimated total cost every time you update. Track over/under billing across all your active jobs and look at the net.

For the bigger picture on how WIP fits into the rest of your job costing system, read our pillar guide on job costing for contractors.

If you don’t have a WIP today and you’re growing past $2M, that gap is going to start costing you money — in lost bonding capacity, in cash flow surprises, in jobs that finish at a loss you didn’t see coming.

Ready to talk?

Book a Discovery Call


Erin Andrews is the owner of Level Accounting & Advisory, a construction-only accounting firm based in Vero Beach, FL serving contractors nationwide. Level has 20 years of construction-specialized experience and works with specialty trades doing $1M–$15M in annual revenue, including HVAC, plumbing, electrical, concrete, pool, fencing, deck, and hardscape contractors.

subcontractor packet for contractors. collect W9s, workman's comp insurance, general liability insurance

FREE RESOURCE

The Subcontractor Packet That Protects You From a $30K Audit Surprise

-> The complete done-for-you packet — setup form, W-9, and sample subcontractor agreement ready to hand to every sub before their first check

-> The one missing document that lets your insurance company add a sub’s entire payment to YOUR workers comp premium — and how this packet prevents it

-> The insurance minimums, COI requirements, and indemnification language most contractors don’t have in writing until it’s too late

Free Resource

Our “Subcontractor Checklist Packet” makes it easy. Inside, you’ll find exactly what you need for 1099s, workers’ comp, and liability audits.