Charge for a furnace tune-up by pricing one real visit from your own costs: tech time on site, the drive there and back, the filter, overhead, and a margin. In the worked example below, a 1.5-hour visit with a half-hour drive costs the shop $135.77 to run and prices out at $169.71, so an $89 special (the price One Hour Heating & Air of St. Charles, IL and 911 Mechanical in Macomb, MI advertised as of Oct 1, 2026) loses $46.77 on every visit in that example. That loss can be a fair price for a new customer, but only if you decide in advance what it is supposed to buy and then check whether it did.
This guide covers the furnace tune-up cost from the contractor side. You'll time a real visit, put it into the HVAC job pricing calculator, compare the result with the specials around you, price the parts your tech swaps, check whether a maintenance plan covers its visits, and decide how many discounted slots October can afford. Every shop cost below is an example input. Replace each one with your own number before you quote anything.
What one tune-up visit actually costs you
A fall special is priced like a marketing offer, but the visit is a service call. The truck rolls, the tech drives, the tech works, the tech writes it up, and the tech drives to the next house. Every one of those minutes costs the same no matter what the homeowner pays.
The cost has six parts:
- Tech time on site, from arrival to departure, including the write-up and the talk with the homeowner.
- Drive time, paid at the same loaded rate as time on site, for every person in the truck.
- Fuel for the round trip, as its own line.
- Parts and consumables left at the house, at what you paid for them: usually a filter, sometimes a flame sensor or an igniter.
- Overhead: the share of your truck payments, insurance, dispatch, software, office staff, and the postcard that sold the special.
- Margin, the profit the visit is supposed to leave after all of the above.
The price has to cover all six, discount or not. If the advertised price covers fewer, the difference comes out of profit you made somewhere else.
Step 1: Time a real visit, on site plus the drive
Start with the clock, because time drives most of the cost. Contractors who publish their visit times give you a starting range. Reliable Heating & Air (Atlanta and Macon, GA) lists "Average Time to Complete: 1.5 Hr." on its furnace tune-up page as of Oct 1, 2026. Hytek Air Systems (Centennial, CO) and Kodiak HVAC (Charlotte, NC) both say 60 to 90 minutes on their pages as of the same date. JC Energy Solutions' furnace tune-up cost guide (Hesperia, CA, Sep 29, 2026) says a condensing furnace adds 15 to 20 minutes. Angi (Jul 9, 2026) and HomeGuide (last updated in 2024), both homeowner cost guides, say 1 to 2 hours.
None of those numbers includes the drive, and none of them is your crew. Pull your own average like this:
- Open your field service software or job tickets and filter for your last 20 tune-ups. If you don't have 20 from this season, use last fall's.
- For each one, record arrival to departure from the dispatch timestamps. If the tech writes up the ticket in the truck afterward, add that time too.
- Record drive time separately, from leaving the last stop (or the shop) to arriving at this house. The GPS log or the dispatch board usually has it.
- Tag each visit by equipment: standard-efficiency, condensing, propane, oil, or a second system in the same house. Average each group separately, because a condensing unit with a trap to clean is a different job from an 80% furnace in a basement.
- Average the on-site time and the drive time for each group.
If you have no timestamps at all, start with Reliable's 1.5 hours as a working figure and time the next ten visits yourself. Don't use the low end of a published range just because it makes the special look better.
Drive time belongs in the cost of the special whether or not you bill it as a separate line on the invoice. For how to bill it on regular calls, see whether contractors should charge for drive time. For a tune-up special, the point is narrower: the flat price has to cover the drive, because the homeowner won't be paying for it anywhere else.
Step 2: Price one visit in the calculator
Open the HVAC job pricing calculator and enter one visit. Here is where each input comes from, and what to use when you don't have it.
- Hours on site come from your average in Step 1. Missing it? Use 1.5 and fix it once you've timed some visits.
- Crew size is one tech for nearly every tune-up. If you send a trainee along, count both people, because both get paid to ride and to work.
- The loaded labor rate is your cost per tech-hour, the wage plus payroll taxes, workers' comp, and benefits. It comes from your payroll report and your benefits and comp invoices. The BLS median wage for HVAC mechanics and installers (SOC 49-9021) is $29.33 an hour (May 2025 data, BLS Occupational Outlook Handbook), and that is a wage that still needs burden added before it goes in this field. If you haven't worked out your loaded rate yet, the burdened labor rate guide walks through it.
- Material cost is what you paid for the filter and any part left at the house, from the supplier invoice. Enter it at cost. Missing an invoice? Use the supplier's current listed price and divide case prices by the count in the case.
- The overhead percentage comes from your P&L: annual overhead divided by annual direct cost. If you've never calculated it, the overhead percentage guide shows how. Don't leave it at zero while you figure it out.
- Drive time is your average from Step 1, in hours. The calculator multiplies it by crew size and the loaded rate.
- Fuel is round-trip miles divided by the truck's mpg, times the price per gallon. Your fuel card statement has both the gallons and the price. Without one, use the current EIA weekly retail price for your region.
- Margin is the share of the price you want left as profit. If you think in markup instead, read markup vs margin on a real ticket before you enter anything.
The calculator then works it out in this order. Labor is hours times crew size times the loaded rate. Drive labor is drive hours times crew size times the loaded rate. Overhead is your overhead percentage times labor plus drive labor plus materials at cost. Total cost is labor plus drive labor plus fuel plus materials at cost plus overhead. Price is total cost divided by one minus the margin.
The worked example
This is an example, and every input below is an assumption you should replace. Say your loaded cost is $48 per hour for one tech. Say your overhead runs 25% and you want a 20% margin. Those three numbers are example inputs, not benchmarks.
The visit uses Reliable's published 1.5-hour average and an assumed half-hour drive. The filter is a Mann+Hummel 16x25x1 MERV 8, which HVACFilters.com listed at $67.85 for a case of 12 on Oct 5, 2026, or $67.85 / 12 = $5.65 each.
For fuel, the example uses a 30-mile round trip in a truck that gets 15 mpg. Both of those are example figures; use your own miles and your own truck's mpg. The gas price is EIA's U.S. average for regular gasoline, $4.354 a gallon for the week of 10/5/2026 (EIA weekly retail, released Oct 6, 2026). That gives 30 / 15 x $4.354 = $8.71. Regional prices that same week ran from $3.911 on the Gulf Coast to $5.727 on the West Coast (EIA weekly retail, week of 10/5/2026), so use the figure for your area.
| Calculator field | What to enter for Example B (example inputs) |
|---|---|
| Estimated Hours | 1.5 (Reliable's published average) |
| Number of Workers | 1 |
| Hourly Labor Rate | $48, the example loaded cost per hour |
| Material Cost | $5.65, the filter at cost |
| Overhead % | 25%, applied to labor, drive labor, and materials at cost |
| Drive Time | 0.5 hr |
| Fuel / Travel Cost | $8.71, kept out of the overhead base |
| Desired Profit Margin | 20% |
Leave any field not listed at zero.
| Example B: 1.5 hr on site, 0.5 hr drive, one tech (example inputs) | Arithmetic | Amount |
|---|---|---|
| Labor on site | 1.5 hr x 1 tech x $48 | $72.00 |
| Drive labor | 0.5 hr x 1 tech x $48 | $24.00 |
| Fuel | 30 mi / 15 mpg x $4.354 (EIA U.S. regular, week of 10/5/2026) | $8.71 |
| Filter at cost | $67.85 / 12 (Mann+Hummel case, HVACFilters.com, Oct 5, 2026) | $5.65 |
| Overhead | 25% x ($72.00 + $24.00 + $5.65) = 25% x $101.65 | $25.41 |
| Total cost | $72.00 + $24.00 + $8.71 + $5.65 + $25.41 | $135.77 |
| Price at 20% margin | $135.77 / (1 - 0.20) = $135.77 / 0.80 | $169.71 |
| Profit on the visit | $169.71 - $135.77 | $33.94 |
Notice where the money goes. The filter is $5.65 of a $135.77 cost. Time on site and in the truck is $96.00 of it. That's why the clock in Step 1 matters more than any part price.
Step 3: Compare your cost with the specials around you
Now run the same example with a shorter visit, a longer drive, and a condensing furnace, so you can see how far the cost moves. All inputs not listed are the same as Example B ($48 loaded rate, 25% overhead, 20% margin, one tech, $5.65 filter). Example C assumes a 60-mile round trip at the same 15 mpg, so fuel is 60 / 15 x $4.354 = $17.42.
| Example | Labor | Drive labor | Fuel | Filter | Overhead (25%) | Total cost | Price at 20% margin | Gap vs $89 special |
|---|---|---|---|---|---|---|---|---|
| A: 1.0 hr on site (low end of Hytek and Kodiak's 60 to 90 min), 0.5 hr drive | 1.0 x 1 x $48 = $48.00 | 0.5 x 1 x $48 = $24.00 | $8.71 | $5.65 | 25% x $77.65 = $19.41 | $105.77 | $105.77 / 0.80 = $132.21 | $105.77 - $89 = $16.77 below cost |
| B: 1.5 hr on site (Reliable's average), 0.5 hr drive | 1.5 x 1 x $48 = $72.00 | 0.5 x 1 x $48 = $24.00 | $8.71 | $5.65 | 25% x $101.65 = $25.41 | $135.77 | $135.77 / 0.80 = $169.71 | $135.77 - $89 = $46.77 below cost |
| B plus condensing: 1.75 hr on site (Reliable's 1.5 hr plus the low end of JC Energy's 15 to 20 min), 0.5 hr drive | 1.75 x 1 x $48 = $84.00 | 0.5 x 1 x $48 = $24.00 | $8.71 | $5.65 | 25% x $113.65 = $28.41 | $150.77 | $150.77 / 0.80 = $188.46 | $150.77 - $89 = $61.77 below cost |
| C: 1.5 hr on site, 1.0 hr drive (60-mile example round trip) | 1.5 x 1 x $48 = $72.00 | 1.0 x 1 x $48 = $48.00 | $17.42 | $5.65 | 25% x $125.65 = $31.41 | $174.48 | $174.48 / 0.80 = $218.10 | $174.48 - $89 = $85.48 below cost |
The $89 in the last column is the price One Hour Heating & Air of St. Charles (via the Fox Valley Values coupon site, valid 9/8/2026 to 10/31/2026), 911 Mechanical (page dated Sep 14, 2026), and HB Home Service Team in Harrisburg, PA (expires Oct 31, 2026) advertised for a fall tune-up. Lower specials exist too. Element Service Group in Apex, NC listed $49 (page modified Sep 30, 2026), MSP Plumbing, Heating & Air in Minneapolis listed $49, and PV Heating, Cooling & Plumbing in Atlanta listed $79 with a filter change included, all as listed on Oct 1, 2026. At $49, Example B's $135.77 cost leaves a gap of $135.77 - $49 = $86.77 per visit.
One check on the raw wage
Some owners price from the wage alone. As a floor check, rerun Example B with the BLS median wage of $29.33 (May 2025) in place of a loaded rate, with every other input unchanged. Labor is 1.5 x $29.33 = $44.00 (rounded from $43.995). Drive labor is 0.5 x $29.33 = $14.67 (rounded from $14.665). Overhead is 25% x ($44.00 + $14.67 + $5.65) = 25% x $64.32 = $16.08. Total cost is $44.00 + $14.67 + $8.71 + $5.65 + $16.08 = $89.11. That is still above $89, before payroll taxes, comp, benefits, or any profit. Nobody should price with an unburdened wage; the check just shows how little room an $89 price leaves for a 1.5-hour visit with a half-hour drive.
Set a regular price first, then decide on the discount
Shops that run a low special usually publish a regular price next to it, so the special reads as a discount. MSP lists $189 as its regular price beside the $49 special (Oct 1, 2026). 911 Mechanical says its customary comprehensive tune-up runs $129 to $159 (Sep 14, 2026). Davis A/C & Heating in Houston describes its $89 new-customer tune-up as "valued at $149" in an AC-focused post (Aug 12, 2026). Done! in Denver values two HVAC tune-ups at $398 on its Care Club page (Aug 2026), which is $398 / 2 = $199 each. Kodiak lists $149 (Oct 1, 2026) and Sedgwick Heating in Minneapolis says tune-ups start at $139 (page from Dec 2025). The gas utility NW Natural charges $179 in Portland metro and $129 in Albany, Eugene, and Salem for fall 2026 (Aug 1 to Oct 31, 2026).
Homeowner cost guides land in a similar band. Angi, a homeowner cost guide, puts a furnace tune-up at $130 to $200 (updated Jul 9, 2026). HomeGuide, another homeowner guide whose page dates from 2024, gives $70 to $200. Fixr, also written for homeowners, gives an average of $275 for an annual HVAC tune-up (Jan 30, 2026). These sites describe what homeowners pay. They say nothing about what the work costs a shop, so use them only as a check on how customers will react to your price.
Your regular price comes from your own Example B, run with your own inputs. In the example, that's $169.71. Publish it. Then pick the special as a deliberate discount from it, and write down the gap per visit. The next step decides whether that gap is worth paying.
Step 4: Decide what the special is supposed to buy
The gap between your cost and the special price is what you pay to get through the door. In Example B, that's $46.77 a visit at $89. Say you sell 100 of them, an example count: the shop has spent 100 x $46.77 = $4,677.00 on access to 100 furnaces. That's a marketing expense, and it should be judged like one.
Decide before the postcards go out what you expect those visits to produce. There are three usual answers:
- Repair tickets found during the visit: a cracked igniter, a weak flame sensor, a failing inducer.
- Plan sign-ups, where the homeowner converts to a maintenance agreement before the tech leaves.
- Replacement leads on old or unsafe equipment, handed to whoever sells systems.
There's no published figure for how often a tune-up turns into a repair, so don't build the special around one. Use your own records. In your field service software or job ticket history, tag every special visit with a campaign code. At the end of the season, total the repair tickets, plan sales, and replacement contracts that came from those addresses within, say, 60 days. Subtract the cost of the work on those tickets, and compare what's left with the total gap you paid. The job profitability guide covers how to track profit per job so this comparison holds up.
If you can't tag and track the visits, you can't know whether the special pays. In that case, price closer to your regular rate and keep the discount small.
One more cost to account for: a tune-up that leads to a no-heat call two weeks later is a free return trip, and a callback reserve is how to fund those without eating the special's margin.
Step 5: Price the parts your tech swaps on the visit
The parts a tech commonly replaces on a tune-up are cheap at supplier prices. SupplyHouse.com listed the White-Rodgers 790-751A1 flame sensor (a Carrier/ICP replacement) at $13.48 and the Goodman 10735201 flame sensor at $12.28, while the OEM Carrier LH680534 was $49.51, all on Oct 1, 2026. The White-Rodgers 768A-845 hot surface igniter was $48.47 at SIM Supply and $47.45 at New England Supply House on Oct 5, 2026. United Filter listed a case of 12 16x25x1 MERV 8 filters at $61.00 the same day.
The part is the small piece. The time to swap it and the return trip it saves are worth more. Price an add-on as extra time on the same visit plus the part at cost, with overhead and margin on top, exactly as you priced the visit.
| Example F: flame sensor swapped on the same visit (example inputs) | Arithmetic | Amount |
|---|---|---|
| Extra labor (0.25 hr is an assumed swap time) | 0.25 hr x 1 tech x $48 | $12.00 |
| Drive labor and fuel | none; the tech is already there | $0.00 |
| Flame sensor at cost | White-Rodgers 790-751A1, SupplyHouse.com, Oct 1, 2026 | $13.48 |
| Overhead | 25% x ($12.00 + $13.48) = 25% x $25.48 | $6.37 |
| Total cost | $12.00 + $13.48 + $6.37 | $31.85 |
| Price at 20% margin | $31.85 / 0.80 | $39.81 |
If that same sensor needed its own trip next week, you'd be pricing a full service call with drive time attached. The add-on price is cheap for the homeowner and still pays you, because the drive was already covered.
Adding a markup when the part is a bigger one
Enter materials at your cost. Your margin already earns profit on materials. If you also want a materials markup, use the optional Material Markup field: it adds profit on top of your margin, and the calculator shows your effective margin. On a filter the extra is pocket change. On a condensate pump it is real money, so run the numbers before you quote.
Example: a Little Giant VCMA-20ULS condensate pump was $73.44 at Big Frog Supply on Oct 5, 2026. Overhead at 25% is $73.44 x 25% = $18.36, so the pump line costs you $91.80. At a 20% margin with markup at 0, the price is $91.80 / 0.80 = $114.75 and your profit is $22.95. Add a 20% material markup and you get $73.44 x 20% = $14.69, which brings the line to $114.75 + $14.69 = $129.44. Profit is now $129.44 - $91.80 = $37.64, an effective margin of $37.64 / $129.44 = 29.1%. Check that number against what your market will pay for a pump swap. For help choosing a percentage, see How much to mark up materials.
Filters are where bundling makes sense. Hytek prices its tune-up in tiers as of Oct 1, 2026: $100 standard, $100 to $109 with a 1" filter, and $129 to $149 with a 4" media filter. A tiered menu lets the homeowner pick, and it keeps an expensive media filter from quietly coming out of a flat price.
Step 6: Check whether a maintenance plan covers its visits
A plan replaces the one-time special with a yearly fee. The check is simple: divide the annual plan price by the visits it includes to get revenue per visit, then compare that with your cost per visit from Step 2.
| Published plan (as listed on Oct 1, 2026 unless noted) | Annual price | Visits | Revenue per visit |
|---|---|---|---|
| AirLux Lux Club, 2 visits (Niles, MI) | $165/yr | 2 | $165 / 2 = $82.50 |
| Hytek service plan (Centennial, CO) | $149/yr | 2 | $149 / 2 = $74.50 |
| PV Priority Plan (Atlanta, GA) | $189/yr | 2 | $189 / 2 = $94.50 |
| Done! Care Club (Denver, CO; page Aug 2026) | $9.99/mo x 12 = $119.88 | 2 | $119.88 / 2 = $59.94 |
| Comfort Land Comfort Club (Trophy Club, TX; page May 2026) | $17/mo x 12 = $204.00 | 2 | $204.00 / 2 = $102.00 |
| Kodiak Care Club (Charlotte, NC) | $19.95/mo x 12 = $239.40 | 2 | $239.40 / 2 = $119.70 |
Reliable lists a tune-up plan at $26.99 a month (Oct 1, 2026), which is $26.99 x 12 = $323.88 a year. Divide that by the visits a plan like it includes and you have the same per-visit check.
Against Example B's cost of $135.77, every per-visit figure in the table is lower. That does not mean those plans lose money. Those shops' real rates, drive times, and overhead aren't public, and a shop with short routes and a lower loaded rate may run well under the example cost. What the table shows is how to run the check on your own plan. Put your plan's per-visit revenue next to your own cost per visit. If it's below cost before anything else, the plan is a loss leader just like the special, and it needs the same tracking.
Then take off what the plan gives away. Most plans include a repair discount: Comfort Land lists 10% (page May 2026), Kodiak 15%, and AirLux 20% (both Oct 1, 2026). Multiply the discount by what members spent on repairs last year to get the dollar cost. Many plans also waive the trip or diagnostic fee, and the diagnostic fee guide covers what waiving that fee costs.
Plans can be underpriced. Level, a contractor CFO firm, reports a median service-agreement gross margin of 37.9% across 259 contractors (updated Apr 8, 2026), with the bottom 10% at -30.4%, below zero. Treat that as one vendor's client data. Level also claims agreement customers produce 2 to 4 times the repair revenue of other customers; that's a vendor claim, and your own records are the better test. Homeowners anchor low, too: in a 2024 homeowner survey reported by ACHR News (Feb 4, 2025), 57% said they'd expect to spend about $100 a year on an agreement. That's homeowner opinion, and it shouldn't set your price. For a sense of where trade writers set the bar, a Contracting Business article (Aug 18, 2026) uses $250 a year for the first system as an example, and Built on Tenth, a vendor blog, says typical residential plans run $200 to $350 a year (Mar 29, 2026).
Step 7: Protect October before you sell the slots
Several of the specials above (One Hour, HB, NW Natural) expire Oct 31, 2026. That's the same window when the first cold nights bring in no-heat calls, which pay full rate. A cheap special that fills your best weeks pushes those calls into overtime or onto a competitor.
Count the slots before you advertise. This is an example with assumed inputs: say you have 3 techs and 22 working days in October at 8 hours a day. That's 3 x 22 x 8 = 528 tech-hours. Say you hold back 40% for no-heat and repair calls, based on last October's call log: 528 x 40% = 211.20 hours reserved, leaving 528 - 211.20 = 316.80 hours. If a tune-up takes 2.0 hours with the drive (Example B's 1.5 on site plus 0.5 driving), that's 316.80 / 2.0 = 158.4, so 158 tune-up slots. Sell 158 and stop.
Put a hard expiration date on the special so it can't spill into November without a decision. How long a quote should be good for covers setting that date. When a no-heat call lands after hours on top of a full tune-up schedule, pricing after-hours work covers what to charge for it.
Two-visit plans help here for a scheduling reason: the spring visit moves half the plan work into a slower month. There's no statistic behind that, only scheduling sense, and it only helps if you actually book the spring visits.
Jobs that don't fit the standard price
Two systems in one house
The second furnace adds on-site time but no drive. Price it as extra hours plus its own filter on the same visit, the way Example F prices the flame sensor. PHA in Suffolk County, NY charges $17 a month for each additional system on its Comfort plan (Oct 1, 2026), which shows shops do charge separately for the second unit.
Propane and oil
JC Energy's cost guide adds $20 to $40 for a propane furnace (Sep 29, 2026), and HB Home Service Team lists an oil tune-up at $189 against $89 for gas (expires Oct 31, 2026). Both likely reflect more time on site. Time your own propane and oil visits as their own group in Step 1 and price them separately.
A dirty system that runs long
If the visit runs well past your average because the unit hasn't been touched in years, the special price doesn't cover the extra time. Say in the offer what the price includes, and quote extra cleaning as additional work before the tech starts it.
Long drives
Example C shows a one-hour drive adding $24.00 of drive labor and $8.71 of fuel over Example B. Draw a service radius for the special, or quote outlying addresses at the regular price.
Common pricing mistakes, and the fix for each
- Pricing from the wage. The raw $29.33 BLS median (May 2025) leaves out payroll taxes, comp, and benefits. Use your loaded cost from payroll and benefits invoices.
- Using the ad copy's time. A 60-minute claim on a website doesn't match your tech's arrival-to-departure average. Use your own timestamps.
- Leaving out the drive. In Example B the drive and fuel are $24.00 + $8.71 = $32.71 of the $135.77 cost. Enter both every time.
- Putting overhead on marked-up parts. Apply overhead to parts at cost, along with labor and drive labor.
- Using the Material Markup field as a substitute for margin. If you drop margin to 0 and rely on markup alone, your labor, drive time, fuel, and overhead earn no profit. Set your margin first, then add markup on top if you want more on parts.
- Copying a competitor's special price. Their loaded rate, routes, and overhead aren't yours. Run your own numbers and pick a discount on purpose.
- Quoting from old prices. Fuel and supplier prices move every week. Recheck them before you print anything.
Quick checklist before you mail the postcard
- Average on-site time and drive time from your last 20 tune-ups, by equipment type.
- Loaded labor rate from payroll, comp, and benefits.
- Overhead percentage from your P&L.
- Filter and common parts at current supplier cost.
- Fuel from your fuel card or the current EIA weekly price.
- A published regular price, and a written-down gap per special visit.
- A campaign code on every special visit so you can track what it produced.
- Plan revenue per visit compared with cost per visit.
- A slot count for October and a hard expiration date.
Run your numbers in the HVAC job pricing calculator. For jobs outside HVAC, the same method works in the general Job Profit Calculator.
This article is for educational purposes only and does not constitute legal, financial, or tax advice. All shop dollar figures in the worked examples are example numbers for illustration; they do not represent typical prices, rates, or costs in any market. Published prices were captured on the dates shown and may have changed. Consult qualified professionals for advice specific to your business and jurisdiction.