Quick Answer
Job costing goes wrong when labor is not coded to the job it was worked on. Supervision and project management time slides into overhead, so job cost reports understate true cost and overstate margin. Fix it by pulling line-level cost detail, tying labor hours to timesheets, recoding to the correct jobs, and rebuilding the variance report from clean data.
Key takeaways
- The gap is rarely in materials or subcontractors. It is usually supervision and project management (PM) labor coded to overhead.
- Small miscodes compound. In one client review, about $1.8 million of labor across 20 jobs never reached a job cost report.
- A quick test: if job-level margins are higher than your company-level gross margin, unallocated labor is the first suspect.
- The fix is a process, not software: source data, timesheets, recoding, then a rebuilt variance report.
What is job costing, and why does it matter for SMEs?
Job costing is the practice of tracking every cost that belongs to a specific job, project or client (materials, subcontractors, labor and direct expenses) so you can see the true profit on each one.
It is standard for construction, remodeling, field services, manufacturing and any business that bills by project, including agencies and consultancies.
Accurate job costing feeds three things owners care about: pricing the next bid, your work-in-progress (WIP) schedule, and the reports that lenders, sureties and investors rely on.
In the UK the same idea appears as contract accounting and work-in-progress valuation. If the underlying job costs are wrong, every one of those outputs is wrong with them.
Why do job cost reports look clean when margins say otherwise?
Most builders trust a budget-to-actual report because materials line up and subcontractor draws line up. The report is not lying. It is incomplete. The costs it leaves out are the ones that never got a job code in the first place.
On a recent engagement we ran a full job cost variance analysis across 20 active residential jobs for a luxury homebuilder.
Budgets were reasonable and subcontractor costs were tracked well. But when we pulled actual costs from QuickBooks Job Cost Detail exports, one category stood out: supervision and PM labor.
Superintendents and PMs were logging time, but a large share was coded to general overhead. Across 20 jobs and several months it added up to roughly $1.8 million of labor that never touched a job cost report.
That is an average of about $90,000 per job.
What causes labor to be missed in job costing?
- Payroll does not map to job codes. PMs split time across several jobs in a day, and the payroll export defaults to a general labor account.
- Overhead is the path of least resistance. When nobody forces a job code at the time of entry, "office" or "unassigned" absorbs the cost.
- Labor is not reconciled like materials. Invoices are matched to purchase orders and draws to contracts, but labor often flows through payroll unchecked.
- It compounds silently. A $9,000 miscode on one job in one month raises no alarm. Twenty jobs over six months is a seven-figure blind spot.
How do you fix job costing errors? A 5-step process
- Pull actual costs at the source. Replace summarized numbers with line-level detail, such as QuickBooks Job Cost Detail exports for every active job.
- Isolate labor from other cost categories. Materials and subcontractor costs are usually close to right, so concentrate the work on labor.
- Trace supervision and PM hours to timesheets. Compare hours worked with what was coded in the accounting system, job by job.
- Reallocate and correct. Recode under-captured labor to the jobs it belongs to, and fix any budget errors found along the way. In this case three separate homes also had budget mistakes layered on top.
- Rebuild the variance report. Only after the underlying numbers are right does a job cost variance analysis mean anything.
How can you tell if labor is hiding in overhead? A 15-minute check
Add up gross profit across all closed jobs and compare it with gross profit on your company profit and loss statement for the same period.
If the job reports show a noticeably higher margin, some direct cost is sitting in overhead. Then use the table below to narrow it down.
| Symptom | Likely Cause | First Check |
|---|---|---|
| Job margins beat company margin | Labor coded to overhead | Compare PM and superintendent payroll to job-coded hours |
| Margin fades in the final 10 percent of a job | Late supervision cost or unbilled rework | Review labor posted after substantial completion |
| One job is always "perfect" | Other jobs are carrying its labor | Check timesheets for that PM across jobs |
| Cash is tight despite healthy job reports | Real cost is higher than reported | Rerun WIP with corrected labor |
How do you set up job costing in QuickBooks?
QuickBooks Online Plus and Advanced include Projects, which group income and expenses by job.
Whichever method you use (Projects, Classes or Customer:Job), the rules are the same: require a job code on every time entry, run payroll with class or project tracking turned on, and review a Job Cost Detail report monthly.
The software is only as good as the labor allocation feeding it.
The takeaway
If your job cost reports look clean but your overall margin does not match, do not start by questioning subcontractors or material pricing.
Start with supervision and PM labor. It is the cost category most likely to be running through overhead, and the one most owners never check until the numbers stop adding up.
Frequently asked questions
What is job costing in simple terms?
Job costing tracks all the direct costs of a single job (materials, subcontractors, labor and direct expenses) so you can see its true profit. It helps you price future work accurately and spot problem projects early.
Why is my job profitability different from my profit and loss statement?
The usual reason is costs recorded in overhead that belong to specific jobs, most often supervision and project management labor. Job reports show only what was coded to a job, while the P&L shows everything the company spent.
Can QuickBooks do job costing?
Yes. QuickBooks Online Plus and Advanced offer Projects, and QuickBooks Desktop supports jobs. Accuracy depends on requiring a job code on every bill, expense and time entry, including payroll labor.
How often should I review job cost reports?
Monthly at minimum, and weekly on large or fast-moving jobs. Reviewing labor coding each pay period catches miscodes while they are still small and cheap to correct.
What is the difference between job costing and cost accounting?
Job costing is one type of cost accounting focused on individual projects or orders. Cost accounting is the broader discipline that also covers process costing, standard costing and overhead allocation.
Note. This article is general information and not tax, legal or investment advice.
BalancedBooks. Strong Business.
DK360 supports US businesses and the CPA firms who serve them with accounting, bookkeeping and finance operations.
Schedule a Call