The Best Way to Track Job Costs in Trades

Reading Time: 13 minutes
An open service-van side door in a residential driveway with a clipboard of work orders on the bumper (text illegible), tools inside, flat midday light (no logos, no plates)

Key Takeaways

  • If your job costing runs on the estimate you sold instead of the actual cost you incurred, every profit number you see is a guess, and usually an optimistic one.
  • The gap hides in the ordinary: materials that came in over bid, labor costed at a flat rate instead of real hours, parts invoices that post weeks after the job closed, and fees that quietly eat the margin.
  • The real danger is paying out on that guess, whether that’s a commission on a job that lost money or your own decision to keep bidding work the same way.
  • The fix is closing the loop: cost every job on actuals before you act on its profit, and reconcile the operating system against the accounting.

The Number You Sold Is Not the Number You Made

Most trades businesses know what a job was supposed to cost. They bid it, they won it, and the estimate is sitting right there. Far fewer know what the job actually cost once it was done, and the two numbers are rarely the same. Materials come in over bid. A job takes more labor hours than quoted. A parts invoice shows up three weeks after the job closed. A payment-processing fee shaves a point off the top.

When a business costs its jobs on the estimate instead of the actuals, every profit figure it looks at is really a guess dressed up as a fact. And the guess leans optimistic, because the estimate was written to win the work, not to survive contact with reality. The owner feels profitable, the reports agree, and the bank account slowly disagrees.

This is not a small-shop problem that goes away with size. It gets more expensive with size, because the same distortion now runs across more jobs, more crews, and more money, and no one has time to check whether the number that drives everything is real.

Tracking Job Costs in Trades: Where the Gap Actually Hides

The gap between estimated and actual profit does not hide in one dramatic place. It accumulates in ordinary, boring ones, which is why it is so easy to miss.

  • Materials over bid. The estimate assumed a price and a quantity; the job used more, or the supplier charged more. Unless someone matches the actual invoices to the job, the overage never shows up against that job’s profit.
  • Labor costed on a flat rate. Many operating systems assume a standard labor cost per job rather than pulling actual clocked hours from payroll. Real labor almost always differs, and it is one of only two things (labor and materials) that make up the cost of the work.
  • Timing mismatches. Parts get recorded on the job at one moment but the vendor invoice posts to accounting weeks later. For a stretch, the job looks cheaper than it was, and by the time the real cost lands, everyone has moved on.
  • Fees and leakage. Payment-processing fees, unreturned materials sitting in the yard, warranty rework that never gets tied back to the original job. Each is small; together they are a persistent drain on margin that never appears on the job’s scorecard.
Take the Financial Control Score Quiz

Two Trades Businesses, the Same Problem

This is not theoretical. It shows up the same way across very different trades.

A roofing company we worked with was tracking jobs against estimates, and when someone finally trued up actual material costs against the bids, several jobs turned out to be running thousands of dollars over. Across three months the variance was around twenty-three thousand dollars, which annualized to roughly a hundred thousand once merchant fees and revenue miscounts were added in. None of it was visible on the sold numbers. The jobs looked fine right up until someone compared the estimate to reality.

An auto repair business we worked with had the same disease in a different system. The shop’s operating software calculated technician cost at a flat rate rather than actual clocked hours, and parts costs were entered on repair orders at a different time than the vendor invoices hit the books. The result was a gross-profit number the owner could not trust, because the two things that make up cost of goods, labor and parts, were both being estimated rather than measured. Until it was reconciled, every margin figure the shop looked at was fiction.

Different trades, different software, identical mechanism: the number the business ran on was the number it expected, not the number it incurred.

The Real Danger: Paying Out on a Guess

Getting the profit number wrong would be tolerable if it just sat in a report. It does not. Businesses act on it, and the most expensive action is paying out on profit that was never actually earned.

The clearest version is commissions. If a salesperson earns a commission when the job is sold, based on the estimated margin, the business is paying real cash on a profit it has not verified and may never realize. The roofing company above eventually changed its policy so that full commission was paid only after a job was confirmed profitable on actuals, holding the back end until the numbers were real. That was a direct response to discovering how often the sold margin and the real margin diverged.

But the payout does not have to be a commission to hurt. Every time an owner decides to keep bidding work the same way, to add a crew, or to take on more of a certain job type because it “makes good margin,” they are paying out on the guess with the company’s capital and capacity. If the guess is wrong, they are scaling a loss and congratulating themselves for it.

Closing the Loop

The fix is to close the loop between what you sold and what you actually spent, before you act on the profit. In practice that means costing every job on actuals: real material invoices matched to the job, real labor hours pulled from payroll rather than a flat assumption, and fees and rework tied back to the work that caused them.

It also means reconciling the operating system against the accounting on a regular cadence, because the two will drift, and the drift is where the lie lives. When the field system says one thing and the books say another, someone has to notice and resolve it, every period, not once a year at tax time.

None of this requires new software. Both businesses above already had capable systems; what they lacked was someone owning the discipline of turning estimates into verified actuals and refusing to let decisions ride on unverified numbers. That is CFO-level work. It is the difference between knowing your margins and hoping for them, and at any real volume, hoping is expensive.

Frequently Asked Questions

How Do I Track Real Job Profitability?

Cost every job on actuals, not the estimate: match real material invoices to the job, pull real labor hours from payroll instead of a flat rate, and tie fees and rework back to the job. Then reconcile your operating system against your accounting each period to catch drift.

Why Is My Estimated Profit Different From My Actual Profit?

Estimates are written to win work and assume ideal costs. Real jobs use more material or labor, incur fees, and generate rework. Unless actuals are matched back to each job, you never see the gap, and it usually runs against you.

Should I Pay Commissions on Estimated or Actual Margin?

On actual, verified margin. Paying commission on the sold estimate means paying cash on profit you may not have earned. Many trades businesses hold the back-end commission until a job is confirmed profitable on actual costs to avoid paying out on a guess.

How Do I Track Job Costs in QuickBooks Online?

Enable projects/job costing, then tag every expense, bill, and payroll cost to the specific job so actual costs post against it, not just the estimate. The catch: the tool only reflects what you feed it. If invoices and real labor hours are not matched to the job, QuickBooks reports the same optimistic guess you started with.

Why Does Flat-Rate Labor Costing Cause Problems?

Labor is one of only two components of job cost. If your system assumes a standard labor cost instead of actual clocked hours, your gross profit is built on a guess for half of what drives it, so the margin you see will not match the margin you made.