Skip to content
Cash and pricing

Job costing: how to track job profitability

By Mike VentrellaUpdated 5 min read

An electrician with a gray beard compares a job estimate on his clipboard with a laptop at a garage workbench, with a coil of wire and a voltage tester nearby.

Job costing is tracking what each job brought in against what it cost you to do: your techs' hours at their fully loaded rate, materials, subcontractors, permits and disposal. Job profit is the revenue minus those costs, and job margin is that profit divided by the revenue. Check every open job against its estimate once a week, so a job that's going over gets caught while you can still fix it.

Most construction job costing guides are written for projects that run for months, with phases, cost codes and retainage. An electrical shop running 10 service calls a day needs something lighter. The math is the same.

What counts as a job cost?

Count the costs that exist only because you did this job:

  • Labor: hours on the job × each tech's fully loaded cost per hour, meaning the wage plus payroll taxes, workers' comp and benefits. The labor burden guide shows how to get that number.
  • Materials and parts, less anything you returned to the supply house.
  • Subcontractors and equipment rental.
  • Permits, inspections and dump fees.
  • Commissions or spiffs paid on that job.

Office pay, rent and marketing are overhead. Keep them out of the job, and make sure your average job margin is big enough to cover them.

The job costing formula

Job gross profit = job revenue − direct job costs

Job gross margin = job gross profit ÷ job revenue

An estimate-vs-actual example

An electrical panel upgrade sold for $3,800, with labor at an example fully loaded cost of $58 an hour.

Line Estimate Actual Difference
Revenue $3,800 $3,800 $0
Labor 10 hours = $580 16 hours = $928 −$348
Materials $1,100 $1,240 −$140
Permit and inspection $150 $150 $0
Job cost $1,830 $2,318 −$488
Gross profit $1,970 $1,482 −$488
Gross margin 52% 39% −13 points

The job still made money. It made $488 less than it should have, and nothing in the invoice says why. In this example the six extra hours were a second supply-house run for a missing breaker and a return trip after a failed inspection. Both have a fix, a parts checklist on the truck and a pre-inspection walkthrough, and you only find them if someone compares the estimate with the actual while the crew still remembers the job. The painting bookkeeping post runs the same check on a repaint that took 6 days instead of 4.

The account that lost money every visit

Job costing gets more useful when you roll jobs up by customer and by service line. Brandon Vaughn, who coaches home service owners, saw why on an exterior cleaning owner's route work for a group of restaurant locations, worth about a quarter million dollars a year. A cost analysis showed the owner losing 6% on every visit, partly because the prices were set so low and partly because the routes wasted time.

The owner rerouted the whole contract and raised every price by more than 20%. Brandon had made a harder call in his own window cleaning company, and told the owner so:

I killed all my route work. I killed it all. I sold it all to someone else. … It was our lowest margin service and we were losing money every time that we drove out to go do work.

One job at a time, neither problem shows up. Once a month, total your job margins by customer and by service line, and look at the margin, not the revenue. The post on HVAC profit margins shows that split for a service and replacement shop.

Set it up in QuickBooks Online

Projects come with QuickBooks Online Plus and Advanced (how we set up QuickBooks for contractors covers the rest of the file). Intuit's help pages give these steps:

  1. Turn on projects. Select Settings (the gear), then Account and settings, then Advanced. In the Projects section, turn on "Organize all job-related activity in one place."
  2. Create the job. Go to All apps, then Projects, then Projects, and select New project. Enter a project name, choose the customer and select Save.
  3. Give each tech an hourly cost. In Projects, select Employee hourly rate. Find the employee, select Add, and enter the hourly wage and employer taxes, plus workers' comp. Select Add, then Save, then Done. The rate only applies to time tracked after you enter it.
  4. Put every cost on the job. Track each tech's timesheets to the project, and tag the supply-house bills and receipts for the job to the same project.
  5. Read the result. Open the project. The Overview tab shows income, costs and profit margin. The Project profitability report on the Project Reports tab uses payroll expenses only, so it fills in after payroll runs.

If your field software tracks job costs, the rule is the same: hours by job at the loaded rate, and every material bill tied to a job.

Review it every week

Fifteen minutes on Monday covers it: open jobs that are over on hours, closed jobs that came in under your target margin, and any pattern by tech or job type. Brandon put it this way to the partners of a pool company:

you should know in the middle of a project if a project's getting away from you, as opposed to always just waiting to the very end on like, how did we do?

Your target margin comes from your overhead and profit goal; how to price HVAC jobs shows that math, and it works for any trade. If your books can't show job margins yet, bring a recent P&L to a free profit call. With YetiBooks you get the same specialist every time, who walks you through your numbers (how it works).

Questions owners ask

What's the difference between job costing and construction job costing?

The math is the same. Construction job costing adds phases, cost codes, retainage and change orders for projects that run for months. A service or repair shop can usually track at the job level and roll up by job type.

Should overhead be included in job costs?

Not in the job margin. Overhead doesn't change with any single job, so spreading it across jobs hides which work pays. Cover it through your target margin instead, and check the total on your monthly P&L.

Keep reading

See every article
  • How to calculate labor burden for your crew

    Labor burden is what a tech costs beyond the wage: payroll taxes, workers' comp, benefits and paid time off. Here's the math, with 2026 IRS rates.

  • How to price HVAC jobs

    Price an HVAC job from its cost per billable hour plus parts, divided by one minus your target margin. Here's the math on an example repair call.

  • HVAC profit margins: how to benchmark yours

    Most HVAC companies net single digits. How to check your gross and net margins against ACCA survey data, with a worked P&L and the fixes that move them.

Know what to change next month.

It starts with a free 30-minute call, and you'll leave knowing what your books need and what it costs.

100% money-back in your first 30 days.