The Best Tools for Tracking Job Costs in Trades Businesses

Reading Time: 23 minutes
The open side door of a trades service van showing parts bins, a clipboard and a tablet on the wheel well

Every trades owner who goes looking for a job costing tool is really asking a different question: why does the number in my field software not match the number in my books. The tool search is downstream of that, and picking the wrong tool because you skipped the real question is how businesses end up with three systems and still no answer.

Key Takeaways

  • There is no single best job costing tool for trades. There are three layers - a field system, an accounting system with job costing switched on, and the payroll mapping between them - and the third layer is where most margin errors actually live.
  • QuickBooks Online does track job costing, but only after specific settings are enabled and labor is mapped correctly. Most trades businesses have the first part and not the second.
  • If your field platform reports one gross margin and your accounting system reports another for the same period, the gap is almost always where technician payroll is sitting.
  • Changing tools before fixing the mapping just moves the discrepancy into a more expensive piece of software.

What Are the Best Tools for Tracking Job Costs in a Trades Business?

Three layers, working together: a field service platform that captures labor hours and materials at the job, an accounting system with job costing enabled, and a deliberate payroll mapping that decides which labor lands in cost of goods sold and which lands in overhead.

The field layer is where most trades businesses start, and reasonably so. Field platforms are built for dispatch, technician time, and pricebook-driven quoting, and they will report job-level and technician-level profitability out of the box. That reporting is genuinely useful for operations.

The accounting layer is what your financial statements, your bank, and your bonding company actually read. It is the number of record. It only produces reliable job costing when the job dimension is turned on and used consistently, which is a discipline question more than a software question.

The mapping between them is the layer nobody sells, nobody demos, and nearly everybody gets partly wrong. It is also the one that determines whether your two systems agree.

Worth saying plainly: there is no ranking to give you here, and any article that hands you one is guessing about your business. The right field platform for a plumbing company running thirty trucks is different from the right one for a three-technician electrical shop, and both of them will report a margin that disagrees with their accounting system unless the third layer is set up deliberately.

Does QuickBooks Online Track Job Costing?

Yes, with conditions. QuickBooks Online supports job-level cost tracking once projects are enabled, expenses and time are tagged to a project, and payroll items are mapped to the right accounts.

The conditions are where trades businesses fall down. Enabling projects is a two-minute setting. Making sure every material purchase, every subcontractor invoice, and every technician hour actually lands against a project is an operating habit that has to survive a busy week, and it usually does not without someone whose job it is to check.

The most common failure is partial adoption. Materials get coded to jobs because purchasing is a deliberate act. Labor does not, because payroll runs on its own schedule through its own system and lands wherever it was mapped when someone set it up years ago. That single asymmetry produces most of the job costing errors we see.

Why Your Field Software and Your Books Report Different Gross Margins

Because they are counting different labor. The field system counts the hours it billed against the job. Your books count the payroll you actually paid, and some of that payroll is probably sitting in overhead where the field system never looks.

An automotive service business we work with had exactly this gap, and it was not subtle. Their field platform reported gross margin in the high fifties to low sixties. Their accounting system, for overlapping periods, reported it in the thirties to high forties. Both numbers had been circulating internally for a long time. The gap traced to how technician and service-advisor payroll had been mapped - a meaningful share of labor was sitting outside cost of goods sold, so the field system's margin was structurally optimistic by construction.

That mattered beyond reporting. Staff compensation was being calculated against the field system's number, which meant people were being paid against a margin the business was not earning. The reporting error had quietly become a payroll error, and it had been running long enough that correcting it was a conversation rather than an adjustment.

A plumbing and HVAC business we work with had the same class of problem on the install side. Their data quality had already been materially improved, and the job costing and invoicing issues kept surfacing anyway - the phrase used internally was that they were still turning over rocks. Separately, estimators priced capital projects and operations executed them with nobody reconciling estimate to actual, so even clean job costing would have been measuring against a target nobody owned.

A multi-branch trades business had a tooling-shaped version of it. Their job-file system could not drill down to technician-level profitability the way leadership wanted, and one branch was not connected to the accounting file at all, so its numbers moved by hand. Their own assessment of accounting accuracy sat at roughly three quarters against a target close to complete. The tool was genuinely part of that problem. The manual transfer was the bigger part.

Can a Job Cost Record Track the Labor on the Job?

It can, but only if the labor rate it uses is a real loaded rate rather than a base wage, and only if that rate gets updated when wages change.

The trap in trades is flat-rate labor. If your field system costs a job at a standard labor rate while payroll pays a technician their actual wage plus taxes, benefits and non-billable time, the job cost record is tracking an assumption rather than a cost. That is fine for pricing decisions and dangerous for margin reporting, and the two get confused constantly.

The fix is not complicated, but it is somebody's job: set a loaded labor rate that includes burden, review it when wages move, and reconcile field-reported labor cost to actual payroll at least monthly so the drift stays visible.

What to Set up Before You Change Job Costing Tools

Four things, and they all sit outside the software. Do them first and a cheaper tool will outperform an expensive one.

Decide, in writing, which payroll items belong in cost of goods sold and which belong in overhead - then check that your payroll system is actually mapped that way, because it frequently is not.

Set a loaded labor rate that includes payroll taxes, benefits and realistic non-billable time, and put a date on when it gets reviewed. Then pick one system as the number of record. Both systems will keep reporting margin; only one of them is what you tell your bank. Say out loud which one that is.

Finally, reconcile the two monthly and expect a gap. The goal is not zero difference. The goal is a difference you can explain in one sentence, which is what our work with trades businesses tends to start with before anyone touches software.

One more thing worth doing before a migration: pull a single completed job and cost it by hand, end to end. Every material invoice, every subcontractor charge, every hour of technician time at a loaded rate, plus the burden. Compare that to what each of your systems said the job made. If both systems are wrong in the same direction, you have a mapping problem and new software will inherit it. If they are wrong in different directions, you have two mapping problems.

When the Tool Really Is the Problem

When it cannot report at the level you need to make a decision, or when it cannot connect to your accounting system at all and someone is retyping numbers.

Manual transfer between systems is the clearest case for replacement. Every hand-keyed number is a delay and an error rate, and it scales badly - the branch that is not connected is always the branch whose numbers arrive last and get trusted least.

The second clear case is a reporting ceiling. If you need technician-level or crew-level profitability to make staffing decisions and your system cannot produce it at any configuration, that is a real constraint and no amount of process discipline fixes it.

Outside those two cases, be suspicious of a tool migration. Migrations consume an operating quarter, and a system that inherits the same payroll mapping will reproduce the same discrepancy at a higher monthly cost.

Your Next Step

If Your Two Systems Disagree, You Do Not Have a Tool Problem Yet

Pull the same period out of your field platform and out of your accounting system. If the gross margins differ and you cannot explain the gap in a sentence, the mapping is the issue, and that is one of the things the Financial Control Score Quiz scores directly.

Common Questions

Frequently Asked Questions

How Do You Track Job Costs in QuickBooks Online?

Enable projects, tag every expense, material purchase and subcontractor invoice to a project, and map payroll items so technician labor lands in cost of goods sold. The setup takes minutes; the discipline of tagging consistently through a busy week is the part that actually determines accuracy.

Does QuickBooks Online Track Job Costing?

Yes. Projects in QuickBooks Online produce job-level income, cost and margin once the feature is enabled and transactions are tagged consistently. The common failure is partial adoption - materials get coded to jobs and labor does not, which makes every job look more profitable than it was.

Which Platform Supports Job Costing and Project Profitability Tracking?

Most field service platforms and most mid-market accounting systems both do. The more useful question is which one you will treat as the number of record, because running two and reconciling neither is how trades businesses end up with two defensible margins and no decision.

Can a Job Cost Record Track the Labor on the Job?

Yes, if the labor rate is a loaded rate that includes payroll taxes, benefits and non-billable time. If your field system costs jobs at a flat rate while payroll pays actual wages, the job cost record is tracking an assumption, which is useful for pricing and misleading for margin.

How Do Trades Companies Track Job Costs in Real Time?

Through a field platform capturing technician time and materials as work happens, synced to accounting. Real time is achievable for operational visibility. Financial-grade job cost is not real time, because payroll burden and vendor invoices arrive later, and pretending otherwise creates false confidence.