Skip to main content
Operations

Labor Cost Per Job: Your Real Hourly Cost

Wage, cost rate and billing rate are three different numbers, and job costing only tells the truth when you use the right one. Here's how to work out what an hour of each technician really costs you.

Published September 26, 2026 6 min read

Labor cost per job is the hours a technician spends on the job multiplied by what an hour of their time really costs you. That's not their wage. It's their wage plus payroll taxes, insurance, benefits and paid time off, and some owners include unbillable time too. Work out that hourly cost rate once for each tech, keep it separate from your billing rate, and your job costs start telling the truth.

Wage, cost rate and billing rate

Three numbers get mixed up constantly:

  • Wage: what you pay the technician per hour.
  • Cost rate: what an hour of that technician costs your business, all-in.
  • Billing rate: what you charge the customer for an hour.

The billing rate has to cover the cost rate, plus overhead, plus profit. If you don't know the cost rate, you're pricing blind.

Why the wage isn't the cost

Across private industry, employers paid an average of $46.89 per hour worked in total compensation in June 2026. Of that, $32.82 was wages and salaries (70.0%) and $14.07 was benefits (30.0%), according to the Bureau of Labor Statistics.

That's an all-industry national average, and your shop's mix will be different. A small shop with no health plan will come in lower, and one with a generous benefits package higher. But the point holds: for a typical employer, the wage is only around 70 cents of every dollar an hour of work costs.

How to work out a technician's cost rate

Take one technician and add up a year:

  1. Wages for the year.
  2. Payroll taxes your business pays: Social Security, Medicare and unemployment.
  3. Workers' comp premium for their classification.
  4. Health insurance and other benefits you pay.
  5. Retirement contributions, if any.
  6. Tools, uniforms and phone allowance, if you provide them per tech.

Divide the total by the hours they actually worked in the year, not the hours they were paid for. Paid holidays and vacation are already in the wages, but they shrink the hours you get back for them.

An illustrative example:

  • Wages: $34 × 2,080 paid hours = $70,720
  • Payroll taxes, workers' comp, health and retirement: $22,000
  • Paid time off: 80 hours of holidays and vacation, so worked hours = 2,000
  • Cost rate: $92,720 ÷ 2,000 hours worked = $46.36 an hour

That's the number to use. If you don't have time to work it out yet, the rough shortcut of wage ÷ 0.70 gets you in the neighborhood: $48.57 here.

Should unbillable time be in the cost rate?

Techs are paid for time that isn't on any job: the morning at the shop, training, the parts-house run. There are two ways to handle it.

  • Put it in the cost rate. Divide total cost by billable hours instead of worked hours. Every job then carries its share of the dead time. The rate is higher, and job margins look lower but more realistic.
  • Keep it as overhead. Use worked hours, and treat unbillable time as a company cost you watch separately.

Either works if you're consistent. The second is easier to explain to a manager, and it keeps utilization as its own number instead of hiding it inside every job.

From cost rate to labor cost per job

For each job, labor cost per job = cost rate × hours on the job. Two things to watch in the hours:

  • Time on hold. A job that sat waiting for a part for two days didn't cost two days of labor. Leave the on-hold time out.
  • Time from memory. Hours written down at the end of the week are guesses. Hours from the job's own start and finish are records. Digital timesheets make the same difference for payroll.

Apprentices, helpers and two-person jobs

Not every job is one tech. When a helper rides along, their hours belong on the job too, at their cost rate. Leaving the helper off is one of the easiest ways for a two-person install to look more profitable than it was.

The same goes for a lead tech who stops by to check a newer tech's work. If that time is on the job, it's job labor. If you'd rather treat it as training, decide that on purpose and do it the same way every time. Apprentices usually cost less per hour but take longer, so compare cost per job, not cost per hour, to see what each crew setup really costs you.

Keeping cost rates private and current

Cost rates are pay information, whatever the label. If your job costing tool shows every tech everyone else's cost rate, you've created a problem you didn't have. Keep cost rates visible to owners and managers only, and talk to techs about their jobs without the rates.

Raises, a new health plan and a workers' comp renewal each change the cost rate. When you update it, update it from a date. Last year's jobs were done at last year's cost, and their margins shouldn't change because someone got a raise in March.

Putting the cost rate to work

Once you have both numbers, you can answer questions that used to be guesses:

  • Is my billing rate high enough? If a tech's cost rate is $46 and you bill $95 an hour, is the $49 left over enough to cover overhead and leave a profit?
  • Are senior techs worth their rate on this work? They cost more per hour. Are they finishing jobs fast enough to make up for it?
  • Is flat rate covering labor? If a flat-rate job usually takes 2 hours, does the price cover 2 × the cost rate, plus parts, plus margin? How to calculate profit per job works through one.

Common mistakes

  • Using the wage as the cost. Understates labor on every job.
  • Using paid hours instead of worked hours. Understates the rate.
  • Changing the rate without a date. Rewrites history.
  • Sharing cost rates with the whole team.
  • Counting time on hold as job labor.

How FSM Navigator handles labor cost

FSM Navigator runs a service business from first booking to renewals: the job is booked, dispatched to the right tech, worked in the mobile app and invoiced from one record. Job profitability, on the Pro and Enterprise plans, turns that record into a margin.

Owners and Managers set a cost rate for each technician, separate from the billing rate, and nobody else sees it. Rates are dated: a job uses the rate in effect on the day it was completed, so a raise doesn't rewrite past jobs. Labor time runs from when work started to when the job was completed, minus time on hold, for the technician assigned to the job. A helper's time isn't added automatically, so if two-person jobs are common for you, keep that in mind when you read those margins. If a technician has no cost rate, the job's margin shows as Unknown rather than treating their labor as free.

FAQ

What's the difference between labor cost and labor rate?

Labor cost, or cost rate, is what an hour of a technician's time costs your business. Labor rate usually means what you charge the customer for an hour. The billing rate has to cover the cost rate, your overhead and your profit.

How do I calculate a fully burdened labor rate?

Add up a year of the technician's wages, payroll taxes, workers' comp, benefits and any other per-tech costs, then divide by the hours they actually worked that year, not the hours they were paid for.

Is 30% a good labor burden estimate?

It is the national private-industry benefits share of compensation reported by the Bureau of Labor Statistics for June 2026, so it is a reasonable first guess. Your own payroll and insurance numbers are better.

Should techs see their cost rate?

Most owners keep cost rates to owners and managers. A cost rate is pay information, and showing it to the whole team creates a problem you did not have.

Start a 14-day Pro trial

Set a cost rate for each technician and see how labor feeds the margin on every completed job. Job profitability is on the Pro and Enterprise plans. A payment method is required at signup, and nothing is charged until the trial ends.