Skip to main content
For HVAC Contractors · Pro Plan

Know which HVAC jobs make money, job by job

FSM Navigator® shows revenue against labor, parts and mileage on every completed job, and says Unknown instead of guessing when a cost is missing.

14-day free trial · Nothing charged until the trial ends · Cancel online anytime; access continues to the end of your paid period

The Problem

The busy month that didn't make money

July was the biggest revenue month you have ever had. Every truck ran full, the phones never stopped, and the bank balance at the end of August looks about the same as it did in June.

That usually means some of the work cost more than it brought in. Maybe it was the tune-ups sold at a member price with an hour of drive time each. Maybe it was the diagnostic calls that never turned into a repair. You cannot tell from the revenue report, because revenue does not know what the job cost.

HVAC job costing software puts the cost next to the price on every job, so you can see the margin one job at a time.

How It Works

How HVAC job costing works in FSM Navigator

Job profitability shows revenue against labor, parts and mileage cost on every completed job. The numbers come from things your team already does in the app, not from a spreadsheet someone rebuilds on Friday.

Labor from the hours on the job

Labor runs from when work started to when the job was completed, minus any time on hold, at that technician's cost rate. The cost rate is what an hour of their time costs you, wages plus taxes and benefits, and it is kept apart from the rate you bill.

Parts and mileage on the same job

Parts used on the job count at their cost. Drives are logged automatically with mileage tracking for HVAC, and each trip is costed at your own cost per mile, or the IRS standard rate until you set one, so drive cost lands on the job that caused it.

Unknown instead of a guess

If a cost is missing, job profitability says Unknown instead of filling in a number. A profit figure built on a guessed cost is worse than no figure, because you will make pricing decisions with it.

Worked Example

A worked example: repair call vs. member tune-up

This is a modelled example to show the math. It is not customer data. Your rates, prices and drive distances will differ.

Start with a loaded labor rate. The BLS median pay for HVAC mechanics and installers was $29.33 an hour in May 2025. In private industry, wages make up 70% of what employers spend on compensation and benefits the other 30% (BLS, June 2026). So a $29.33 wage costs you about $29.33 ÷ 0.70 = $41.90 an hour before overhead. The example uses a cost of $0.70 a mile; set your own in the app.

Job A, capacitor replacement (repair call). Price charged $325.00. Labor 1.5 hours × $41.90 = $62.85. Parts $28.00. Mileage 22 miles × $0.70 = $15.40. Job profit: $325.00 − $62.85 − $28.00 − $15.40 = $218.75, 67% of the price.

Job B, spring tune-up for a maintenance-plan member. Price charged $129.00. Labor 1 hour × $41.90 = $41.90. Parts (filter) $8.00. Mileage 18 miles × $0.70 = $12.60. Job profit: $129.00 − $41.90 − $8.00 − $12.60 = $66.50, 52% of the price.

Neither job is a bad job. But if your tune-up list spreads members across the county, Job B gets thinner fast, and you want to know that before you set next year's plan price.

The same formula works for any job: job profit = price charged − labor cost − parts cost − mileage cost. Overhead (rent, trucks, insurance, office salaries) is not in that number. Job profit tells you which work pays for the overhead, not whether the business as a whole is profitable. For the full walkthrough, read how to calculate profit per job.

Labor

The labor number most shops get wrong

Most job costing mistakes start with labor at the bare wage. A tech paid $30 an hour costs you more than $30 an hour once payroll taxes, insurance and benefits are added, and using the wage alone makes every job look better than it is. In FSM Navigator, enter each technician's loaded cost rate, not the wage on the paycheck. A technician with no cost rate shows the job's labor as Unknown, so a missing rate never passes as free labor.

The hours behind the rate come from the job's own status changes; see time tracking for how technician time is recorded.

Next Steps

What to do with the numbers

Maintenance pricing

If member tune-ups run thin because of drive time, raise the plan price, tighten the service area for members, or batch visits by neighborhood.

Diagnostic fees

Trip charges that never convert to a repair show up as low-margin jobs. That is a pricing conversation, not a technician problem.

Pricebook gaps

If the same repair shows a wide spread in margin from tech to tech, your pricebook may be missing a line, or techs are discounting in the field.

Callbacks

A callback is a second job with labor and mileage and often no revenue. Seeing it as a cost makes the case for getting the part right the first time.

Plans

Which Plans Include HVAC Job Profitability

Job profitability is on Pro, along with mileage tracking and time tracking. Pro has no user limit, and you can try it free for 14 days. See the general job profitability page and the HVAC industry page for the rest of the app. For the books, see the QuickBooks Online side for HVAC contractors.

FAQ

HVAC job costing, answered

What is HVAC job costing?

Tracking what each job actually cost in labor, parts and mileage against what you charged, so you know the profit on every call and not only the month.

How do you calculate profit per job for an HVAC service call?

Price charged before tax, minus labor cost, parts cost and mileage cost. Use a loaded labor rate (wage plus payroll taxes, insurance and benefits), not the bare wage.

How does FSM Navigator work out labor cost?

It takes the time from when work started to when the job was completed, minus any time the job spent on hold, and multiplies it by that technician's cost rate. You set each technician's cost rate in settings; it is separate from the rate you bill customers.

What should be included in HVAC labor cost?

The technician's wage plus what you pay on top of it: payroll taxes, insurance and benefits. BLS data shows benefits average about 30% of total compensation in private industry.

Does job costing include overhead?

No. Job profit is revenue minus labor, parts and mileage. It shows which work pays for overhead; compare it against your overhead budget separately.

What happens if a cost is missing on a job?

Job profitability shows Unknown instead of guessing, and the job's card names what is missing, such as a technician with no cost rate. Fix the missing cost instead of trusting a wrong number.

See What Each HVAC Job Really Paid

Set your technicians' cost rates, finish a few jobs and read the margin on each one.

14-day free trial on all paid plans · Job profitability is included on Pro and Enterprise