Estimate vs. Actual Reports: The Weekly Habit That Saves Profit

If I could only get a contractor to run ONE report every week, it would be this one. Not the P&L. Not the bank balance. The estimate vs. actual report.

I’m Erin Andrews, owner of Level Accounting & Advisory. We’re a construction-only firm, and I’ve watched contractors lose tens of thousands of dollars on jobs that could have been saved if someone had looked at one report on a Friday afternoon. Usually they don’t find out until the job’s done, the deposit is gone, and they’re trying to figure out why the bank account doesn’t match the profit they thought they made.

The fix is a 30-minute habit. Every Friday. One report. This guide walks you through how to run an estimate vs. actual report in JobTread, what the variance numbers actually mean, when to escalate, and what to do with the data on your next bid.

What is an estimate vs. actual report?

Why Your Job Costing Is Wrong in QuickBooks Online (Fix This First)

An estimate vs. actual report shows, side-by-side for every open job, what you BUDGETED for each cost code versus what you’ve actually SPENT against it. The difference is the variance. Positive variance = you’re over budget. Negative = under.

It’s the only report that tells you a job is bleeding WHILE there’s still time to do something about it. Your P&L tells you a job lost money 3 months after it’s closed. Your estimate vs. actual tells you on Friday that the framing labor is 22% over with two weeks of work left.

That gap — knowing now versus knowing later — is the difference between a $4,000 problem and a $14,000 problem.

How to run an estimate vs. actual report in JobTread

Here’s the short version for JobTread users:

  1. Open Reports → Job Cost → Estimate vs. Actual
  2. Filter to “Active jobs only” — you’re not reviewing closed work right now
  3. Group by Cost Code (this is the view that matters — by category, not by job total)
  4. Sort by variance percentage, descending
  5. Export to PDF if you want to mark it up, or stay in the dashboard if you’re reviewing live

If you’re not on JobTread yet, the same report exists in QuickBooks Online Plus under Reports → Job Profitability Detail, but the QBO version is clunkier and doesn’t give you cost code breakdowns the same way. JobTread is built for this. QBO is making do.

JobTread’s official walkthrough on Dashboards & Reports covers building the views — worth the 30 minutes if you’re new to the platform:

Watch on YouTube: JobTread Mastery: Dashboards & Reports Setup

How to read the variance numbers (the thresholds that actually matter)

Every variance is not an emergency. Here are the thresholds we use with our clients to decide what gets a shrug and what gets a phone call:

Labor over budget by 15% or more → productivity or scope problem

If labor is 15%+ over, one of three things is happening: the crew is slower than you bid, the scope crept and nobody logged a change order, or you bid the labor wrong from the start. Walk the job. Ask the lead foreman what’s eating hours. The answer will be obvious within 10 minutes.

Materials over budget by 20% or more → takeoff miss or price spike

Materials going 20%+ over usually means one of two things: someone botched the takeoff (under-counted boards, fittings, fixtures), or supplier prices spiked between bid and order. Check the supplier invoices against your bid sheet. If it’s a price spike, it’s a one-time hit. If it’s a takeoff miss, your estimator needs feedback so the next bid doesn’t bleed the same way.

Subs over budget by ANY amount → missing change order

This is the one I’m strictest on. If a sub invoice came in higher than the budgeted amount, there is almost always a missing change order. Subs don’t usually bill more than agreed without a reason. Find the reason. Get it documented. Bill the customer for it.

The industry data is brutal here: there’s typically a 24-day lag between when a change order is verbally agreed to and when it’s documented. Multiply that across 5 years of jobs and you’ve got hundreds of thousands in margin you never billed for. Read our full breakdown in Change Order Accounting: How Contractors Lose $500K Over 5 Years.

Equipment over budget → rentals running long

Equipment overruns are almost always rental days. The lift was supposed to be on the job for 5 days, it’s been there 9. Either the schedule slipped (which is also costing you labor) or the rental return got forgotten. Both are easy to fix the day you spot them.

The 30-minute Friday review playbook

This is the routine. Same time every week. Block it on your calendar. Don’t move it.

  1. Open the report (2 minutes). Active jobs, grouped by cost code, sorted by variance %.
  2. Scan the top 5 worst variances (5 minutes). Anything red over the thresholds above goes on a sticky note.
  3. For each flagged variance, ask one question (10 minutes). “What’s eating this?” Either you know the answer or you call the foreman. Don’t guess.
  4. Decide one action per flagged item (5 minutes). Document a change order. Pull a crew member off the job. Re-forecast the cost to complete. Email the customer. Pick ONE thing.
  5. Calendar the action for Monday (3 minutes). Friday-night decisions don’t get done. Monday-morning calendar entries do.
  6. Note the lesson for the next bid (5 minutes). If labor on framing is always 12% over, your next framing bid needs to come up.
Estimate vs. Actual Reports: The Weekly Habit That Saves Profit

Thirty minutes. Once a week. That’s the whole habit.

When to escalate (the 25% rule)

If any single cost code on any single job is more than 25% over, that job needs to escalate to whoever has authority to do something about it. That’s usually you, the owner. Sometimes the project manager.

The escalation isn’t a meeting. It’s a decision: do we eat the loss, do we slow the job down to fix the bleeding, or do we get on the phone with the customer and have a hard conversation about scope?

Real example from a deck contractor we work with: framing labor hit 31% over on a $42K job in week 3. The Friday review caught it. They walked the job Monday, found out the deck was being built on a slope they hadn’t accounted for in the bid, called the customer, got a $4,800 change order signed, and saved the job’s margin. If they’d waited until the P&L showed it three months later, that $4,800 would have been a complete loss.

What to do with the data on the next bid

The Friday review isn’t just defense. It’s also offense for your next bid.

Every variance is data. Every quarter, look at your variances across all closed jobs and ask:

  • Which cost codes are CONSISTENTLY over budget? Those are the ones priced too low in your estimating template.
  • Which trades or sub categories run over the most? You may need to switch subs or renegotiate.
  • Which crew members or job types finish under budget every time? Bid more of those. Charge more for the others.

If your decking labor is 8% over on every job for 6 months straight, your bid sheet has a math problem. Fix it once and the next 50 jobs make more money.

The labor angle (where most variance lives)

If you only have time to look at one variance category every Friday, look at labor. 90% of profit problems live in labor — slow crews, untracked hours, missing time entries, owner labor that never got logged. The estimate vs. actual report is the place you catch it.

For the full breakdown of where labor profit leaks live and the fixes that close them, read How Contractors Lose Money on Labor (And the Tracking Fix That Stops It).

What this report can’t tell you

The estimate vs. actual report is honest about variances but it has blind spots. Things it doesn’t see:

  • Labor hours that got logged to the wrong job (your numbers look fine but they’re lying)
  • Materials charged to the company credit card with no job assignment (they fall into overhead and the job looks more profitable than it is)
  • Owner labor never tracked at all (the job looks great because YOUR time is free on paper)
  • Burden never allocated (the report shows base wage, not the true cost of the hour)

The report is only as good as the data going in. If your crew isn’t clocking to job + cost code, no report will save you. Garbage in, garbage out.

Frequently asked questions

How often should I run an estimate vs. actual report?

Weekly minimum. Friday afternoon is ideal because it captures the full work week and gives you the weekend to think about the actions before Monday. For jobs over $250K, run it twice a week. For shops doing $5M+ in revenue, the report should be a real-time dashboard everyone can see.

Can I run estimate vs. actual in QuickBooks Online without JobTread?

Estimate vs. Actual Reports: The Weekly Habit That Saves Profit

Yes, but it’s clunky. QBO Plus has a Job Profitability Detail report that gets you part of the way. It doesn’t break down by cost code the way JobTread does, and it doesn’t update in real time as field crews log time and material. For specialty trades doing $1M+, the JobTread version is meaningfully better.

What variance percentage is acceptable?

Anything within 5% in either direction is normal noise. 5–15% is a yellow flag — keep watching. 15%+ is a red flag — investigate today. 25%+ is an escalation. These thresholds tighten as the job gets closer to completion (a 10% labor variance in week 1 is fine; in week 8 of a 10-week job, it’s locked in).

Who should run this report — the owner or the project manager?

Both. Project managers should run it on each of their jobs daily or every other day. The owner should run the master view across all jobs once a week. The Friday review is the owner’s job because the owner is the only one with the authority to make the hard calls (firing a crew member, calling the customer about scope creep, eating a loss).

What if I don’t have estimates loaded into JobTread for my open jobs?

Then the report is useless and your first job is to back-fill the estimates. Even rough numbers are better than no numbers. Use your bid sheet, your contract value, and a rough breakdown by cost code category. You can refine it as the job progresses. The report needs SOMETHING to compare actuals against.

How does this report tie into my WIP report?

The estimate vs. actual feeds the WIP. The “estimated cost to complete” number on your WIP schedule should be re-forecasted using your latest actuals. If labor is running 15% over, your cost-to-complete should reflect that. Otherwise your percent complete and your overbilling/underbilling numbers will be wrong.

Estimate vs. Actual Reports: The Weekly Habit That Saves Profit

The bottom line

One report. Every Friday. Thirty minutes. More profit saved than any other habit in construction.

You don’t need a finance degree. You don’t need fancy software beyond JobTread + QBO. You need a calendar block, a willingness to ask hard questions of your crew, and the discipline to act on what you see while there’s still time.

The contractors who survive the next downturn are the ones who know on Friday what’s bleeding on each job. The ones who don’t will find out in the spring when the tax return shows a loss and they can’t figure out where the money went.

If you want help building the report, training your team to log time and materials cleanly so the data is real, and setting up the weekly review as a standing system, that’s what we do.

Ready to talk?

Book a Discovery Call

Or if you want the bigger picture first, start with our pillar guide: Job Costing for Contractors: The Complete Guide (JobTread + QBO).


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 experience in construction accounting and serves specialty trades doing $1M–$15M in annual revenue across HVAC, plumbing, electrical, concrete, deck, fencing, hardscape, and pool construction.

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.