A contractor who is busy all year and shows a profit can still have three job types quietly losing money, carried by a fourth. The profit and loss cannot show it: everything lands in one bucket of labor, one bucket of materials, one bucket of subcontractors. Job costing is what pulls those buckets apart.
What job costing needs from the books
Only one thing, but it has to happen every time: every dollar of cost is tagged to the job when it is recorded, not sorted out later. That means:
- Materials assigned to a job at purchase — a supplier account with a job or PO reference on the invoice makes this nearly automatic.
- Subcontractors invoiced per job, which is worth insisting on when you engage them.
- Labor hours recorded by job, including drive time and callbacks, which are where margin usually goes.
- Equipment and consumables allocated by a simple, consistent rule rather than ignored.
Cost your labor properly
The most common job costing error is using the hourly wage. The real cost of an hour includes employer payroll taxes, workers' compensation, general liability, paid time off and any benefits — commonly 20% to 35% on top of the wage, depending on the trade and the coverage. Estimating with the wage and costing with the wage produces jobs that look profitable and aren't. Your insurance and payroll figures give you the rate; apply the same rate to every job for the year.
Estimate versus actual, while you can still act
The estimate belongs in the system alongside the actual. On a job of any length, a mid-job comparison is worth more than a post-mortem: materials over by 30% at the halfway point is a conversation with the client or the supplier now, and an unexplained loss in three months' time otherwise.
Change orders are the margin
Extra work performed on a handshake is almost never billed in full. Write the change order, price it, get it approved in writing, and record it against the job the same day. Books cannot recover revenue nobody documented — and on fixed-price work this single habit is often the difference between a good and a bad year.
Progress billing and retainage
If you bill in stages, the books should show what has been billed against what has been earned, so an over-billed job is not mistaken for a profitable one. Retainage held by a customer stays visible as an amount owed to you rather than disappearing into a receivable nobody chases. Both are ordinary in QuickBooks Online with a little setup, and both keep cash flow honest.
What to do with the report
Run job profitability monthly and read it by type of work, not only by job. Recurring patterns are what make it useful: small jobs that never cover mobilization, one customer whose work always runs long, a service that prices well and is worth marketing. Repricing one job type usually pays for the effort of job costing several times over.
The setup lives in QuickBooks Online Plus or Advanced (Projects), or in classes for simpler operations. See building a chart of accounts for how this fits with the rest of the file, and QuickBooks services if the file needs setting up for it.

