All articles

Custom CRM

QuickBooks Job Costing for Contractors (2026)

The value is catching a labour overrun while the job runs, not a report afterwards. Setup order decides whether it works, and a spreadsheet does 80% free.

Om Patel 11 min read
Photo: Sergey Zolkin / Unsplash

The short answer

QuickBooks job costing works if you create each job as a customer or sub-customer before any expenses hit it, and fails if you set it up loosely, because you spend more time reassigning transactions than the visibility is worth. The real value is seeing labour and material overruns while the job is still running rather than at final reconciliation. For pure cost-plus work at low volume, a budgeted-versus-actual spreadsheet does roughly 80% of it for free.

The case for job costing is usually made as better reporting. That undersells it, and it is why so many contractors set it up, find it tedious and quietly abandon it.

The actual value is narrower and much more valuable: seeing a job go wrong while you can still do something about it.

A contractor running QuickBooks Plus on residential remodels put it concretely. He budgeted 120 labour hours on a bathroom job. His crew was at 155 before he noticed. On a $45,000 job, catching that mid-project instead of at final reconciliation is the difference between a conversation with the client and money quietly leaving the business.

The short answer

Create every job in QuickBooks before the first expense lands, keep one consistent cost code structure, and review budget against actual weekly rather than at completion. Done in that order it works well into eight figures of revenue. Done loosely it becomes an ongoing chore of reassigning transactions, produces numbers nobody trusts, and gets abandoned within a quarter.

Do you need it yet

Be honest about this before spending anything, because the answer for a lot of small contractors is not yet.

You probably do not need it if:

  • All your work is cost-plus, so you pass costs through and your margin is baked into the markup.
  • You run one to five jobs at a time and can hold their state in your head.
  • You are disciplined with receipts already.
  • Nobody but you needs to see the numbers.

You probably do need it if:

  • You do fixed-price work, where a costing error is your loss rather than the client's.
  • You run labour-heavy jobs where hours can drift without anyone noticing.
  • You are bidding future work off assumptions rather than measured costs.
  • More than one person is making purchasing decisions on a job.

A contractor on r/Contractor asking whether QuickBooks job costing was worth it at their size got a pointed reply before any software advice: a 15% markup translates to roughly a 13% gross margin, which has to cover all overhead before any take-home pay, and the responder wanted to know how the business survived on it.

That exchange is the real argument for job costing. Not reporting elegance. The fact that without measured costs, a contractor can run for years on a margin that does not actually work, and never see it.

Setup, in the order that matters

1. Decide your unit. Usually one job equals one customer or sub-customer. For repeat clients with multiple jobs, sub-customers under a parent customer keeps history together. Pick one convention and never mix them.

2. Create the job before anything hits it. The one rule that decides everything. A contractor who ran QuickBooks Plus job costing for two years described this as the whole workflow: set the job up first, or spend far too much time going back to reassign transactions after the fact.

3. Build a cost code structure. Labour, materials, subcontractors, equipment, permits, and whatever else you genuinely track. In QuickBooks Online these map to products and services. Keep it short. A structure with forty codes gets used inconsistently, which is worse than one with eight used properly.

4. Estimate against the same codes. Your budget and your actuals must share a structure or comparison is impossible. This is where most setups quietly fail: the estimate is written one way and the costs land another.

5. Route every cost to a job at entry. Bills, expenses, timesheets, mileage. If it cannot be assigned at entry, it will not be assigned later.

6. Review weekly, not at completion. The entire point. A monthly automated report is a compromise; weekly is where overruns get caught.

Watch out

The most common failure is skipping step two under time pressure. A job starts, materials get bought, someone means to set it up properly next week, and by then there are forty transactions to reassign from memory. That backlog is why people conclude job costing is not worth it, and it is a sequencing problem rather than a software one.

The spreadsheet version

Worth taking seriously, because for a meaningful share of contractors it is the right answer and the honest one.

A contractor on the same thread was blunt: if you are disciplined with your current system and running only cost-plus, a spreadsheet with budgeted versus actual per job does about 80% of what QuickBooks Plus does, for free.

A workable minimum: one tab per job, rows for cost categories, columns for budgeted, actual to date, variance and percent complete. Updated weekly.

Where it breaks:

  • Volume. Past ten or so concurrent jobs, maintenance exceeds the value.
  • Multiple people. Version control becomes the problem.
  • Busy weeks. It stops being updated exactly when it matters most, which is the flaw that eventually forces the upgrade.

Another contractor described a middle path: cost codes mapped to QuickBooks products and services, with a supplementary spreadsheet tracking budget against spend to date and automated monthly reports. Slightly redundant, and easier than several purpose-built programmes they had tried. That hybrid is common and perfectly legitimate.

Job costing tells you which finished work made money. It cannot tell you which quotes you lost or why, because those never became jobs. We build the layer that captures the stage before the job, so cost per booked job and close rate become numbers rather than guesses.

Book a CRM walkthrough

Where QuickBooks is genuinely weak

Contractor opinion on this splits harder than on almost any other software question, and both camps are describing real experience.

The defence. One contractor reported twenty years of job costing through QuickBooks Enterprise, running seven-figure jobs, with budget-to-actual reporting, and stated it serves well into eight-figure revenue provided jobs and cost codes are set up correctly from the start. That is a serious track record and it is not an outlier.

The prosecution. Another, an eighteen-year QuickBooks user, moved to Buildertrend when he needed real job costing and described QuickBooks as poor for the purpose, recommending JobTread as a lower-cost alternative built by people who left that company. A third noted Xero's job costing was simply easier to understand.

Both camps are right about different situations. The genuine QuickBooks limitations:

No field access to budget versus actual. Costing lives at a desk. Purpose-built platforms put it on a phone, which is where the person creating the overrun actually is.

Estimating is not integrated. Your estimate and your cost structure connect by convention rather than by design, so accuracy depends on people.

No change order workflow. Scope changes are the largest source of margin loss on fixed-price work and QuickBooks has no native handling for them.

Labour hours depend on external time tracking. Since labour is where overruns concentrate, this matters more than it sounds.

Reporting is accounting-shaped. Correct, and not built for the mid-job question of whether this job is currently going wrong.

The pattern: QuickBooks does the accounting side of job costing properly and the operational side by workaround. If your problems are operational, that is what you are feeling, and it is the same conclusion as QuickBooks alternatives for contractors.

The four numbers to review weekly

A budget-versus-actual report has a lot on it. In practice four figures per active job tell you almost everything, and they take about ten minutes across a whole schedule.

Labour hours, budgeted versus actual to date. The first place overruns appear and the one most likely to be caught early enough to act on. The 120-to-155 hour example was visible for weeks before anyone looked.

Percent of budget spent versus percent of work complete. The single most diagnostic comparison on the page. A job at 70% of budget and 40% complete is in trouble now, not at handover. Neither number alone tells you this.

Committed costs not yet invoiced. Materials ordered, subcontractors booked. These are real costs that have not hit the ledger, and a job can look healthy purely because the bills have not arrived. This is the most common way a costing report flatters a job that is already lost.

Change orders approved but not costed. Scope creep that was agreed verbally and never priced. On fixed-price work this is where margin most reliably disappears, and QuickBooks has no native workflow for it, so it has to be a manual discipline.

Reviewing four numbers weekly beats reviewing forty monthly, because the point is intervention rather than analysis. A perfect report delivered after the job closes has told you something you can no longer use.

Reading the result honestly

Two habits separate contractors who get value from job costing from those who generate reports nobody acts on.

Compare the costed result against what you assumed before you looked. Write down your expected margin before opening the report. If the two match consistently, your instinct is calibrated and you can review less often. If they diverge, you have found the actual reason to keep doing this, and the size of the gap tells you how much the exercise is worth.

Look for the pattern across jobs, not the story within one. Any single job can go wrong for reasons that will not recur. Five jobs of the same type all running over on the same cost code is a pricing problem, and it is the finding that changes how you bid rather than how you manage.

That second habit is where job costing pays for itself repeatedly rather than once. Catching one overrun saves one job. Discovering that a whole category of work is priced 8% too low changes every future quote in that category, and you cannot see it without measured costs across a sample.

One caution worth carrying: costing data is only as good as the coding behind it. If half the materials on a job were entered without a job assigned, the report is not conservative, it is wrong, and it will read as a job performing better than it is. When a number surprises you, check the coding before you act on it.

What job costing still cannot tell you

Worth stating plainly, because it is the gap that costs most contractors more than any labour overrun.

Job costing measures work you won. It is silent on:

  • Quotes you lost, and why.
  • What each lead source cost you.
  • Your close rate.
  • Cost per booked job.

Those come from records created at the enquiry stage, and QuickBooks does not hold them, because it starts counting at the invoice. The reasoning is in is QuickBooks a CRM.

The scale is not marginal. At a moderate job volume, improving close rate by five percentage points can save over $130,000 a year in lead costs, which is a larger number than most job costing recovers, and it is invisible without lead-stage records. The arithmetic is in how many HVAC leads you need per month, and the reason cost per booked job beats cost per lead is in what HVAC leads cost.

Both are worth having. Job costing protects the margin on work you won; lead tracking decides how much work you win and what it cost to get. Most contractors have neither, then add job costing first because it feels more like accounting.

A 30-day implementation

Week 1. Pick your convention, build a short cost code list, set up your three most recent active jobs. Do not backfill history; start clean.

Week 2. Route every new cost to a job at entry. Expect friction; this is the habit that matters.

Week 3. Run your first budget-versus-actual review. It will look wrong. Find out why, and fix the coding rather than the report.

Week 4. Compare a completed job's costed result against what you believed the margin was. This is the moment the exercise justifies itself or does not.

Then decide honestly. If week four's number matched your instinct, you may not need this. If it did not, you have just found out something about your business that no amount of revenue growth would have revealed, and the discipline is worth keeping.

If you are on QuickBooks Desktop, factor in that support for 2023 ends 31 May 2026 and 2024 is the final version, supported through 30 September 2027. Building a job costing structure on Desktop now means rebuilding it during migration, so it is worth reading QuickBooks Desktop discontinued before investing the setup time.

Frequently asked questions

Is QuickBooks job costing worth it for a small contractor?
It depends on your work type. For pure cost-plus work at low volume, probably not, since your margin is in the markup and a spreadsheet captures most of the visibility for free. It becomes worth it when you start doing fixed-price work alongside cost-plus, because that is when knowing true costs per category starts affecting how you bid future jobs.
How do I set up job costing in QuickBooks?
Create each job as a customer or sub-customer before any expenses are recorded against it, then build a consistent cost code structure using products and services. The order matters more than the configuration: set the job up first, or you will spend more time reassigning transactions afterwards than the reporting is worth.
Which QuickBooks plan do I need for job costing?
Plus or higher on QuickBooks Online, since the project and class tracking features that job costing depends on are not in Simple Start or Essentials. The step up is meaningful in cost, so weigh it against whether a spreadsheet covers your current needs, particularly if all your work is cost-plus.
What is the real benefit of job costing?
Visibility while the job is running, not a report at the end. One contractor budgeted 120 labour hours on a bathroom remodel and found his crew at 155 before noticing. On a $45,000 job, catching that mid-project rather than at final reconciliation is the difference between a conversation with the client and an absorbed loss.
Can I do job costing in a spreadsheet instead?
Yes, and for many small contractors it is the right answer. Budgeted versus actual per job, per cost category, updated weekly, delivers roughly 80% of what QuickBooks Plus job costing gives you at no cost. It fails when volume rises, when more than one person needs to see it, or during the weeks you are busiest.
Is QuickBooks good at job costing compared to alternatives?
Opinions among contractors split sharply. Some report running seven-figure jobs through QuickBooks Enterprise successfully for twenty years with correctly configured jobs and cost codes. Others describe it as poor for the purpose and move to purpose-built platforms such as JobTread or Buildertrend. The deciding factor is usually setup discipline rather than the software.
When should I move off QuickBooks for job costing?
When you need budget-versus-actual visibility in the field rather than at a desk, when multiple crews need real-time cost data, or when the reassignment workload has become someone's regular job. Purpose-built construction and field service platforms handle these natively, and QuickBooks handles them with workarounds.
What is a good gross margin for a contractor?
Higher than many operators realise they are running. A 15% markup translates to roughly 13% gross margin, which has to cover all overhead before any owner pay, and contractors are regularly challenged on how that is sustainable. Job costing exists partly to reveal this, since without it the true cost of a job is an estimate rather than a number.
Bespoke pipelines, automations, 360° customer records and real-time reporting, a CRM built around how your team actually works, connected to your entire stack.
Book a free CRM demo

Free tools

Find out what your site is costing you.

Enter your address and we check the real page. Scores are free and the itemised report lands in your inbox. No account, and we change nothing on your site.