The Short Version
I work with a lot of builders who tell me they can't figure out why their jobs finish under budget on paper but the money isn't there. When I pull up their JobTread, the budget is set correctly and the estimate looks right — but the actuals are missing half the costs. Bills got entered in QuickBooks but not in JobTread. POs were skipped. Labor hours weren't logged. The budget vs. actuals comparison is only as useful as the data feeding it. This post covers how to configure the comparison correctly and build the weekly review habit that catches overruns when they're still fixable.
Sound Familiar?
Signs your JobTread budget vs. actuals tracking isn't working:
- Your JobTread job cost reports show costs well below budget, but you're not actually profitable
- You enter expenses in QuickBooks but they don't show up in your JobTread budget comparison
- You only find out a phase ran over budget after the subcontractor has been paid
- Your project managers check JobTread job costs once a month, if that
- You have no standard process for when POs and bills get entered versus when work happens
What We Found
Why Most Budget-vs-Actuals Views in JobTread Are Wrong
The budget vs. actuals comparison in JobTread is one of the most powerful tools in the platform. It shows you, at the cost code level, exactly how much you budgeted versus how much you've committed and spent. Done right, it gives you a real-time picture of whether a job is tracking to margin or bleeding money. But in most implementations I audit, the comparison is producing misleading data — not because the software is wrong, but because the inputs are incomplete.
Three data problems consistently break the budget vs. actuals view:
Problem 1: Costs are entered in QuickBooks but not in JobTread
This is the most common one. A builder uses QuickBooks as the accounting system and JobTread for project management. Bills get paid in QuickBooks and the sync sends the data over — but the QuickBooks-to-JobTread sync maps to expense accounts, not to job-specific cost codes. The result: your QuickBooks balance sheet is accurate, but your JobTread job cost reports are missing 30–50% of actual project costs. You look at the budget vs. actuals and think you're 20% under budget. You're actually at margin or below it.
The fix is assigning every bill in JobTread directly — not relying on the sync to do the cost code attribution. Bills, subcontractor invoices, and vendor charges get entered in JobTread first, with the correct cost code, and then pushed to QuickBooks. That flow keeps both systems accurate without requiring manual reconciliation.
Problem 2: POs exist in email but not in JobTread
JobTread's committed cost tracking relies on purchase orders being in the system. When you issue a PO outside JobTread — via email, text, or verbal agreement — that committed cost is invisible to the budget vs. actuals report. The framing subcontractor has a signed $38,000 commitment. JobTread shows $0 committed to framing. Your report says you have $38,000 left in the framing budget. You commit it to something else. The sub invoices. You're over.
Every PO, every subcontract, every material order needs to exist in JobTread before work starts. That's the only way committed costs show up in the comparison before they become actual costs.
Committed vs. Actual: The Distinction That Saves Margin
JobTread separates committed costs (POs and subcontracts issued but not yet billed) from actual costs (bills entered and approved). The budget vs. actuals view should show both. If your comparison only shows actuals, you're looking at historical spending — not your current exposure. Committed costs are where overruns live before they show up as invoices.
Problem 3: Labor hours aren't being logged in real time
For builders running their own crews, labor is the cost category most likely to run over and the hardest to track in real time. If your crew logs hours at the end of the week, or your foreman estimates hours from memory, your labor actuals are always lagging by 3–5 days. For a phase that takes two weeks, that lag means you won't see the overrun until the phase is done. If you log daily — even at a rough level — you can see labor tracking 20% over budget by day 4 and adjust crew deployment before it becomes a $12,000 problem.
How to Configure the Budget vs. Actuals View Correctly
Once your cost data is flowing correctly into JobTread, the configuration of the comparison view itself matters. Here's the setup I recommend for builders who want a reliable weekly cost picture.
Step 1: Use the Job Cost Report, not the Budget Summary
JobTread has several report views. The one you want for budget vs. actuals is the Job Cost Report — it shows original budget, committed costs, actual costs, and remaining budget at the cost code level. The Budget Summary shows budget vs. estimated, which is a different comparison. Builders who rely on the wrong report think they're reviewing actuals when they're reviewing estimates.
Step 2: Set your budget at the cost code level, not the job total level
A lot of builders set a single job total budget and track against it. That's better than nothing, but it won't catch a blown framing budget offset by underspending on site work. The useful comparison is category-by-category. Set budget values at every cost code where you have meaningful spend. A 25-code structure is enough to give you category-level visibility without creating maintenance overhead.
Step 3: Review weekly, not monthly
The budget vs. actuals review needs to happen weekly to be actionable. Monthly reviews show you what happened. Weekly reviews show you what's happening. For active projects, I recommend a Friday morning review — 15 minutes per active job, looking for any cost code where actuals plus committed are more than 90% of budget before the phase is complete. That's your early warning signal.
The builders I work with who run this review consistently find overruns an average of 3–4 weeks earlier than they did before. That's the difference between adjusting scope, negotiating a sub rate, or having a change order conversation with the client — versus absorbing the overrun silently because the job is already past the point of recovery.
The 90% Rule
When any cost code reaches 90% of budget with work remaining, treat it as an active overrun. You still have room to negotiate, adjust, or have a client conversation. At 100%, your options are limited to absorbing the cost or a difficult after-the-fact conversation. Catching overruns at 90% is where margin gets protected.
Step 4: Connect budget tracking to your change order workflow
Every approved change order should update the job budget in JobTread immediately. This sounds obvious, but in practice most builders either update the budget manually days after approval or forget entirely. When the budget doesn't update with approved changes, your budget vs. actuals view becomes meaningless — it's comparing actuals to an outdated target. Configure JobTread to auto-update job budgets when change orders are approved. That one setting keeps your comparison current without manual intervention.
If your change order workflow needs tightening before this makes sense, the Go First change order system builds the approval and budget update workflow as a package — so change orders don't just get approved, they automatically feed the right numbers into the right places in your job cost view.
The Weekly Review Habit That Makes This Work
Configuration only gets you halfway. The system produces value because someone looks at it. The builders who catch overruns early have two things: correct data in JobTread, and a weekly review process that's short enough that it actually happens.
Here's the exact weekly budget review I run with builders when setting up this system:
- Open Job Cost Report for every active project — takes 2 minutes per job once you know what you're looking at
- Flag any cost code at or above 90% of budget with work remaining — these get a note in the job log: what happened, who's responsible, what the recovery plan is
- Check committed costs total vs. budget remaining — if committed plus actuals exceeds budget, a change order conversation needs to happen before more work is authorized
- Verify all POs from the prior week are in JobTread — a quick check against your email outbox or sub communications catches anything that got missed
- Confirm labor hours for the week are entered — for crew-based builders, this is a 5-minute check that keeps your labor actuals current
Total time: 20–30 minutes for a builder with 4–6 active jobs. That 30 minutes is what separates builders who finish jobs at margin from builders who find out they lost money on the job close report.
A pattern I see consistently: builders who start this review in the first week usually find one or two immediate overruns they had no idea about. The first review is often uncomfortable. By week four, they're catching things early enough that the overrun never materializes — they adjust before it becomes a cost.
If you want to see your current budget vs. actuals setup audited against this framework, that's a standard part of the strategy call process — we pull up your JobTread account live and show you exactly where the data gaps are.
See Exactly Where Your Job Costs Stand Right Now
Book a strategy call to get your JobTread budget vs. actuals setup reviewed live. I'll show you what's missing and how to fix it.
Book a Strategy Call →Frequently Asked Questions
Use the Job Cost Report under the Reports section of any active job. It shows original budget, committed costs (POs and subcontracts), actual costs (entered bills), and remaining budget at the cost code level. Make sure you're looking at this report — not the Budget Summary, which compares to estimated rather than actual spend.
The QuickBooks sync maps to expense accounts, not to job-specific cost codes. Costs entered only in QuickBooks won't appear in JobTread job cost reports. The correct workflow is to enter bills in JobTread first with the correct cost code, then push to QuickBooks — not the reverse. Builders who enter costs only in QuickBooks and rely on the sync are seeing incomplete job cost data.
Weekly. Monthly reviews show you what happened — by then your options are limited. Weekly reviews show you what's happening while you can still adjust. A 20–30 minute Friday morning review of all active jobs, looking for any cost code above 90% of budget with work remaining, is the minimum effective frequency.
Committed costs are POs and subcontracts you've issued but haven't received invoices for yet — money you've obligated but not paid. Actual costs are bills that have been entered and approved. Your real exposure on any cost code is committed plus actual. If your budget vs. actuals view only shows actual costs, you're missing committed costs and understating your true spend on every active line item.
Yes, if configured correctly. In your JobTread change order settings, enable automatic budget updates on approval. When a change order is approved, the job budget updates immediately. If this isn't configured, you'll need to manually update budgets after every approval — and most builders forget, which makes their budget vs. actuals comparison track against a stale target.