2,200+ contractors benchmarked. How do your margins stack up? See where you stand →
Level
Job Costing

What Your Stale Job Backlog Is Costing You

Sam Young·2026-04-14·10 minute read
What Your Stale Job Backlog Is Costing You — Level CFO

Every Open Job Is an Open Wound

Every job sitting open in your system past 90 days is hemorrhaging cash. Not dramatically. Not in a way that shows up on a single P&L line. But quietly, across dozens or hundreds of zombie jobs, the bleed is real: trapped WIP on your balance sheet, labor hours nobody's reviewing, invoices that haven't gone out, and margins you'll never actually know.

Most contractors don't think about job duration as a financial metric. They think about it as an operational one, if they think about it at all. But after analyzing 2.1 million completed jobs across hundreds of contractors, I can tell you: the length of time a job stays open is one of the strongest predictors of whether you'll actually capture the margin you quoted.

The Benchmarks

Here's what job duration looks like across the industry:

MetricValue
Median job duration10 days
Average job duration36 days
P90 (top 90% finish within)98 days
Jobs open > 90 days11.2%
Jobs open > 180 days4.1%

The first thing to notice: median is 10 days, average is 36 days. That's a massive long tail dragging the average up. Most jobs finish fast. But a meaningful chunk lingers for months, and those lingering jobs are where margin goes to die.

11.2% of jobs exceed 90 days. On a company running 2,000 jobs per year, that's 224 jobs sitting open for three months or more. Each one accumulating labor, tying up WIP, and delaying final invoicing.

The Variance Is Staggering

Not every contractor has the same backlog problem. The spread between the best and worst operators is enormous:

CompanyTradeMedian DurationAvg Duration% Over 90 Days
Company APlumbing2 days5 days0.3%
Company BPlumbing4 days12 days0.4%
Company CMulti-trade7 days22 days8.5%
Company DHVAC24 days62 days27.4%
Company EMulti-trade18 days62 days28.0%

Company A runs a tight plumbing operation: median 2-day job duration, only 0.3% of jobs exceeding 90 days. Their backlog is clean. Company E has 28% of their 25,000+ jobs open past 90 days, with an average duration of 62 days. Same industry, completely different financial reality.

The plumbing companies tend to run cleanest because the work is inherently shorter-cycle: diagnose, fix, close. HVAC project work and multi-trade operations have longer natural durations, but 27-28% of jobs over 90 days isn't a function of trade complexity. It's a process failure.

What Stale Jobs Actually Cost You

1. Trapped WIP

Every open job carries work-in-progress on your balance sheet. Labor hours logged, materials purchased, subcontractor costs incurred. Until the job closes and the final invoice goes out, that WIP sits there, overstating your assets and understating your expenses.

For a contractor with 200+ jobs open past 90 days, the trapped WIP can easily be six figures. That's cash you've spent on labor and materials that hasn't converted to revenue yet. It distorts your financials, your cash flow forecasting, and your borrowing capacity.

2. Labor Overruns Nobody Catches

From the same dataset: 40% of jobs exceed their budgeted labor hours. And 18.3% blow past 150% of their labor budget. When a job stays open for months, the labor overruns compound invisibly. A tech goes back for a follow-up. Another one logs time to troubleshoot a callback. The PM spends an hour on the phone with the customer sorting out a punch list.

None of that gets flagged if nobody's reviewing the job. On a 10-day job, the PM notices when it's running over. On a job that's been open for 4 months, nobody's looking anymore.

3. Missed and Delayed Billing

Stale jobs delay invoicing. Closeout efficiency in the dataset tells the story: the average closeout takes 14 days from job completion to final invoice, with a median of 1.7 days. But the P90 is 36 days. That means 10% of jobs take more than five weeks after completion before the invoice goes out.

And some jobs skip invoicing entirely — across the dataset, 288,000 jobs had labor hours logged but were never invoiced, representing pure revenue leakage. That's on top of however long the job was open. A job that runs 120 days and then takes 36 days to invoice means you're waiting 156 days from job start to first billing. Add 30-day payment terms and you're looking at 6+ months from starting work to collecting cash. If you're not tracking billing speed on a per-job basis, these slow-closers are invisible.

4. Phantom Margin

When a job is open, its margin is estimated. When it closes, the margin is real. The longer a job stays open, the more likely the "margin" you see in your system is fiction. Additional labor, unreturned materials, warranty visits, scope additions without change orders. All of these erode the actual margin, but the estimated margin doesn't update unless someone forces the reconciliation.

I've seen contractors with healthy-looking job margins in their system discover, after a backlog cleanup, that a dozen long-running jobs were actually breakeven or negative. The backlog was hiding the losses.

Why Jobs Go Stale

The reasons are predictable:

1. No formal closeout process. The tech finishes the work but the job stays open because nobody owns the closeout step. The office assumes the tech will close it. The tech assumes the office handles it. The job sits in limbo.

2. Waiting on the customer. Punch list items, final inspections, customer sign-offs. The job is 98% done but stays open waiting for something outside your control. Meanwhile, the 98% of billable work goes uninvoiced.

3. Warranty or callback ambiguity. The original job spawns a callback. Instead of creating a new job for the warranty work, the tech logs time against the original job. The original job never closes because there's always "one more thing."

4. Nobody's looking. This is the most common reason. If nobody runs a report on jobs open longer than 90 days, nobody knows they exist. The jobs sit in the system, accumulating cost, and the only person who notices is the CFO doing year-end reconciliation.

5. The PM left. Project managers leave, retire, or switch roles. Their open jobs become orphans. Nobody inherits the backlog review. Six months later, there are 40 jobs assigned to someone who doesn't work there anymore.

How to Implement Backlog Hygiene

Weekly Backlog Review

Every Monday, run a report: all jobs open longer than 60 days. For each one, the assigned PM must answer three questions:

  1. Is work still actively happening? If yes, is the budget tracking to plan?
  2. If work is complete, why hasn't it closed? What's blocking closeout?
  3. Has the customer been invoiced for completed work? If not, send a progress invoice this week.

This takes 30 minutes for a company running 1,000+ jobs per year. The ROI is immediate: you'll find jobs that should have been closed months ago, invoices that should have been sent, and labor hours that shouldn't have been logged.

90-Day Escalation Trigger

Any job open past 90 days gets flagged automatically and escalated to the ops manager or controller. Not the PM. Someone above the PM. Because if the PM hasn't closed it in 90 days, they're not going to close it without pressure.

The escalation requires a written justification: why is this job still open, what's the remaining scope, what's the expected close date? If there's no good answer, the job gets force-closed with a reconciliation note.

Closeout Process: Make It a Defined Step

Closeout isn't "the job is done." Closeout is a defined checklist:

  1. All labor hours reviewed and approved
  2. All materials reconciled (purchased vs. used vs. returned)
  3. Final walkthrough or customer sign-off complete
  4. Final invoice sent
  5. Job status changed to "closed" in the system
  6. Budget vs. actual variance reviewed

Until all six steps are done, the job is open. And someone owns that checklist — typically the office admin or project coordinator, not the tech.

Separate Warranty Work

Create a new job for every warranty callback. Link it to the original job for tracking, but don't log warranty labor against the original job number. This keeps the original job's cost accurate and allows it to close on time. It also gives you a clean view of warranty cost as a percentage of revenue — a critical metric for understanding true job margin.

Set a Hard Cutoff

Pick a number. 120 days. 150 days. Whatever makes sense for your trade. Any job open past that cutoff gets force-closed in a monthly batch process. The controller reviews each one, reconciles the costs, sends a final invoice if applicable, and closes it. No exceptions.

This sounds aggressive. It is. But the alternative is a backlog that grows forever, with each stale job making your financials a little less trustworthy.


The Bottom Line

The median job takes 10 days. The average takes 36. More than 11% of jobs linger past 90 days, and 4.1% past 180. The difference between the cleanest operators (0.3% over 90 days) and the worst (28%) is entirely process, not trade complexity.

Every stale job traps WIP, hides labor overruns, delays billing, and inflates your margin numbers. A weekly 30-minute backlog review, a 90-day escalation trigger, and a defined closeout process will surface problems you didn't know you had and free cash you didn't know was trapped.

If you've never run a report on jobs open longer than 90 days, do it this week. The number will surprise you.

Q: How does Level help with backlog management? A: We connect to your QuickBooks and field service software and build an aging backlog dashboard automatically. Every open job shows duration, accumulated cost, budget variance, and invoicing status. We flag jobs over 60, 90, and 120 days and include them in your monthly financial review. The first audit is free.

Q: What's a healthy percentage of jobs over 90 days? A: For service-heavy contractors (plumbing, electrical, HVAC service), under 2% is achievable. For project-heavy contractors (commercial HVAC, multi-trade), under 10% is a reasonable target. If you're above 15%, you have a systemic closeout problem that's costing you real money.

Q: Should I worry about jobs that are legitimately long-duration? A: Long jobs aren't the problem. Unreviewed long jobs are. A 9-month commercial buildout that's actively managed, progress-billed monthly, and on budget is fine. A 9-month job where nobody's checked the budget since month two and no invoice has gone out since month three is a cash flow emergency. The distinction is whether someone is actively managing the job's financial performance, not just its operational status.

About the author

Sam Young

Founder of Level. Former PE investor and investment banker. Built AI-powered accounting products at BuildOps — the largest field management software for commercial contractors — benchmarking financial data across 2,200+ contractors in HVAC, plumbing, electrical, and mechanical trades. Operations analytics work with Astra Service Partners, CIVC Partners (American Refrigeration), and other PE-backed portfolios in the trades. Co-founded Overline, where his team has analyzed over $1B in real estate assets. Stanford MBA.

LinkedIn

Ready to see where your money is going?

Get a free job profitability audit.

Get Your Free Audit