Running Your Shop

HVAC pricing: flat rate, diagnostic fees, and how to raise prices without losing customers

August 12, 2026 · 17 min read
Illustration of two service invoices side by side: a flat-rate card showing one all-in price of $486 for a capacitor replacement, and a time-and-materials ticket itemizing labor, part, and trip charge with an open 'second trip?' line and a total of $486 plus. Headline reads: Flat rate or by the hour?

Busiest July you have had. Trucks out six days a week, techs on overtime, the board full every morning. Then the dust settles in September and there is less in the account than there was last year, and nobody in the building can tell you why.

That is a refrigerant leak. The system runs, the numbers look close enough, and nothing announces itself until something expensive lets go.

Here is the short version of this whole article. Most shops price from the market instead of from their own costs, which is exactly how margin disappears without anyone noticing. Flat rate is the right default for repair work. The diagnostic fee is a filter, not a revenue line. And there is one piece of arithmetic in this trade that most owners get wrong, and it costs more than any of the rest of it.

One thing about the sources before we start. Every substantial pricing guide published this year comes from a company selling field-service software, quoting software, or marketing to contractors. They agree on the shape of the advice and disagree on the numbers, sometimes considerably. We have named each publisher and dated each figure so you can weigh them yourself. We sell search visibility, which matters in one section near the end, and we flag it when we get there.

Nothing here tells you what to charge. It tells you how to build the number, and then shows you what other people are publishing as a sanity check.

The arithmetic mistake that costs the most

Markup and margin are not the same thing, and almost everyone in this trade uses them as though they were. This one is not a matter of opinion. It is either right or it is wrong.

Markup is what you add to your cost. Margin is what you keep out of the price. Multiply a cost by 1.5 and you have applied a 50% markup, but you have earned a 33% margin, because the $50 you added is a third of the $150 you charged. Multiply by 2.0 and you get a 50% margin. Multiply by 2.5 and you get 60%.

So an owner who marks everything up 50% believing he is holding a 50% margin is actually holding 33%. Across every ticket, all year. That gap is larger than most of the pricing decisions he agonizes over.

The formula that gets it right. Divide your direct cost by one minus the margin you want. If a repair costs you $80 in loaded labor and parts, and you want a 55% gross margin, the price is $80 divided by 0.45, which is $177.78. Not $80 times 1.55, which is $124 and a 35% margin.

Run that on three or four of your most common tickets tonight. If the answers surprise you, you have found the leak.

What an hour of your technician’s time actually costs

Every price in your book sits on this number, and it is always bigger than owners expect. Here is the build with invented figures. Substitute your own.

Start with a technician at $30 an hour. Add payroll taxes at roughly 9%, which is $2.70. Workers compensation for HVAC work, call it 8%, another $2.40. Health coverage at $600 a month across about 173 paid hours is $3.47. Truck, fuel, insurance, and maintenance at $1,200 a month is $6.94. Tools, phone, and software at $250 a month is $1.45. That technician costs you about $47 for every hour you pay him.

Now the part that gets skipped. You pay him for forty hours and you bill maybe twenty-five. Drive time, callbacks, the parts run, the morning meeting, the no-show. Those hours are real and they have to live somewhere. At forty paid and twenty-five billed, that $47 becomes about $75 per billable hour.

Then overhead. Rent, the office person, phones, software, insurance, marketing, your own pay. Say $18,000 a month spread across four technicians billing 100 hours each, which is $45 a billable hour. Add it and your true loaded labor rate is roughly $120 an hour before one dollar of profit.

That number reconciles two benchmarks that look like they contradict each other. PipelineOn, a marketing company serving contractors, cites a ServiceTitan figure putting a fully loaded single-tech truck at $55 to $80 an hour of cost in a mid-size market, June 2026. SubcontractorHub, which sells quoting software, models a $28 to $29 wage reaching $40 to $48 an hour burdened, July 2026. Both are describing the truck. Neither includes the office, and the office does not pay for itself.

Against a real cost floor near $120, published residential billing rates of $85 to $150 an hour stop looking generous and start looking tight.

Flat rate, time and materials, and the hybrid most shops land on

Flat rate means the customer sees one fixed price before the work starts, looked up from a price book rather than calculated on the tailgate.

The strongest argument for it is one nobody disputes: hourly billing punishes a fast technician. The man who diagnoses a bad capacitor in eight minutes because he has done it four thousand times earns you less than the one who takes an hour. Flat rate decouples what you charge from how long the job takes, and it lets the technician quote from a book instead of doing arithmetic in a hot attic while a homeowner watches.

You will also see a specific claim repeated almost word for word across vendor sites, that moving to flat rate lifts revenue or average ticket by 20% to 40%. PipelineOn publishes it. So do several others. We could not find a primary study behind it anywhere, and every site publishing it sells something to contractors. Treat it as a vendor claim rather than a measured result. The efficiency argument stands on its own without it.

The honest trade is that you carry the risk when a job runs long, so the buffer has to be built into the book rather than discovered on the job.

Time and materials still fits work where scope genuinely cannot be defined up front: large commercial jobs, open-ended diagnostics, unusual retrofits. That is a narrower category than most shops treat it as.

Most residential shops land on a hybrid, and the sources agree on its shape. A fixed service call fee to get on site, then flat-rate prices from the book for whatever the technician finds, with time and materials held back for the genuinely unusual.

If building a book sounds like a winter’s work, it is smaller than you think. Most residential service revenue runs through a few dozen repair types. Price the twenty or thirty repairs that make up the bulk of your tickets and you have covered most of what rolls through the door. The long tail can stay on time and materials until you get to it.

Marking up parts without inviting an argument

One multiple across the whole truck is the lazy answer and it creates the arguments.

PRISM Field Notes, which sells quoting software, describes the approach most shops settle on in its July 2026 guide: roughly 2x to 3.5x purchase cost, with the higher multiples on inexpensive fast-moving parts like capacitors and contactors, and the lower multiples on expensive items like coils and condensing units where a large percentage produces a dollar figure that invites scrutiny. Other publishers describe the same practice in percentage terms and land in a different-looking place, with SubcontractorHub citing 30% to 100% and a widely used pricing calculator saying 40% to 100%. Those are not really in conflict once you remember the first section: 2x is a 100% markup.

What matters more than the multiple is knowing what it covers, because a technician who cannot answer that question loses the argument at the kitchen table. The markup pays for the parts run, the wrong part that has to go back, the inventory sitting on the shelf and in the truck so the repair happens today instead of Thursday, and the warranty callback you perform at no charge six weeks later.

Which is why passing parts through at cost to seem transparent is not generosity. It is financing your customers’ repairs with your own working capital, and it is invisible right up until it is not.

The diagnostic fee, and why waiving it on the phone is a mistake

Published ranges for the residential diagnostic fee sit between $75 and $150, per SubcontractorHub in July 2026, or $89 to $149 per PipelineOn in June.

One source goes further and it is worth reading twice. Writing in May 2026, the pricing guide at Oryx-Horn argues that a service call costing $120 before a single part is touched would need to be priced at $240 to $300 to clear a 50% to 60% gross margin, and that contractors charging $79 to $99 are running negative margins on every call that does not convert into a repair. Whether or not that matches your numbers, run it against your own cost floor from the section above before you dismiss it.

What the fee actually buys is a licensed technician, a stocked truck, the drive, and thirty to sixty minutes of skilled diagnosis, delivered whether or not the customer buys anything afterward. On a six-call day, unbillable drive time alone can run four hours or more. That time is not free and the fee is where it gets recovered.

Applying the fee toward the repair is reasonable and common. Waiving it on the phone is a different thing entirely. It converts the price shoppers who were never going to book anyway, it teaches your market that your time costs nothing, and the customer who talked you out of it on Tuesday will talk you out of something else in October.

This fee is won or lost by whoever answers your phone, not by the technician. Give that person one sentence and make it plain: the fee covers a licensed tech coming out and telling you exactly what is wrong, and it comes off the repair if you go ahead. Our article on covering the phone gets into why the person answering needs the fee, the policy, and the qualifying questions in writing before the first call.

Six signs you are underpriced

Underpricing does not feel like anything. That is the problem with it. These are the signals that show up before the bank balance does.

  • Your close rate is above about 70%. PRISM Field Notes names this one directly and it is counterintuitive enough to be useful. When customers say yes almost every time, the price is not the obstacle it should be.
  • Your net margin sits under 8%. The published targets vary widely, from a floor of 8% to 12% at PRISM, to 10% to 20% at Housecall Pro and PipelineOn, to 20% to 25% at SubcontractorHub. They disagree about the ceiling. None of them puts the floor below 8%.
  • You have not rebuilt the book since costs moved. And costs have moved. Equipment is reported up 15% to 25% since 2023, materials up 12% to 18% across 2024 to 2026, and insurance up 8% to 15% year over year.
  • You cannot say what a job costs you. If the cost floor from the second section is not written down somewhere, every price in the book is a guess wearing a decimal point.
  • Your busiest months do not produce your best months. Volume covering for margin is the specific failure this whole article is about.
  • You discount to fill a slow week. That is a pricing problem being treated as a scheduling problem, and our article on the slow season covers what to do instead.

PipelineOn cites a residential owner posting on ContractorTalk about losing $45,000 of margin in a single year to prices that had not been updated since 2023. That is one contractor’s account on a forum rather than research, and it is worth repeating anyway, because the number is not implausible and the mechanism is exactly the one described above.

Raising prices without losing the customers you want to keep

The trick is not the announcement. It is the schedule. A shop that rebuilds the book on a calendar raises prices routinely and nobody blinks. A shop that raises them in reaction to one bad quarter makes it an event, and events invite arguments.

  • Rebuild on a cadence. Twice a year is the common recommendation, most often January with a mid-year adjustment in July, and SubcontractorHub adds a useful trigger: any time supplier pricing jumps 5% to 8%, or you raise wages, your loaded rate has already moved.
  • Raise the diagnostic fee and the flat rates together. Doing them separately means two conversations with the same customer in the same year.
  • Tell agreement holders before it happens and honor the locked term. That promise is most of what they bought. Our article on maintenance agreements covers renewal notice and why the renewal rate is the number to watch.
  • Give the technicians the sentence. They will be asked, and “the price went up” is not an answer. Something plain about parts and insurance costing more, and about the price including the warranty and the callback, works because it is true.
  • Do not email the whole customer base about it. Nobody has ever sent a price-increase newsletter and been thanked for it. Update the book, update the site, tell the plan holders, and move on.

You will lose some customers. They will be the ones who were only ever buying on price, and they are disproportionately the same people who generate the callbacks, the haggling at the door, and the one-star review about a fee that was disclosed twice. Losing them is the mechanism working, not the mechanism failing.

Should you publish your prices?

Our interest is visible in this section, so weigh it accordingly. Start with the case against, which is real.

Publishing invites shopping, and shopping on price is the one comparison you cannot win against somebody running a truck out of his driveway. Your competitors can read your book as easily as your customers can. Published numbers go stale, and a stale number is worse than no number because somebody will hold you to it. And every job has variables that a figure on a web page cannot capture, which means a homeowner arrives with an expectation the technician then has to dismantle.

Now the case for. Homeowners search cost questions in enormous volume, far more than they search for contractors directly, and they are increasingly asking assistants the same questions conversationally: what should this cost, is this quote fair, who is honest about pricing. A shop with nothing to say on the subject is not in that conversation at all. A shop with a clear, current page about what things cost and why they vary is one an assistant can actually quote. Verified August 2026. AI answers shift, so check it yourself.

The resolution is not to publish everything, and it is not to publish nothing. Publish the logic and the ranges, not the price book.

  • Publish the diagnostic fee as a real number. It is a filter and it should do its filtering before the truck rolls.
  • Publish ranges for common work, with the variables named. Age of the system, access, refrigerant type, whether it is an emergency. The variables are the useful part.
  • Publish how you price. Flat rate from a book, quoted before the work starts, approved by the homeowner. That sentence is worth more than any number on the page.
  • Publish what is included that others leave out. The warranty. The callback at no charge. The fact that the fee comes off the repair.
  • Publish who you are not for. The shops that say plainly that they are not the cheapest option in the county get fewer arguments, not more.
  • Do not publish line-item repair prices, and never publish a number you will not honor. Date the page and revisit it whenever the book gets rebuilt.

Done that way the page is not a price list. It is an explanation of how you charge, which is the thing homeowners are actually looking for when they type a cost question into a search box. Our local search page covers where a page like that fits with everything else.

Homeowners are asking what it costs.
Your site does not answer.

Frequently asked questions

What is flat rate pricing in HVAC?

A fixed price for a defined repair, looked up from a price book and quoted before work begins, rather than billed by the hour. The customer knows the total in advance, and a fast technician stops costing you money. You carry the risk when a job runs long.

How much should an HVAC diagnostic fee be?

Published 2026 ranges run $75 to $150 residential. Build yours from your own cost floor instead, since one analysis argues a fee at $79 to $99 loses money on every call that does not convert. Applying it toward the repair is common. Waiving it on the phone is not the same thing.

What is a normal markup on HVAC parts?

Roughly 2x to 3.5x purchase cost, higher on cheap fast-moving parts and lower on expensive equipment. The markup covers parts runs, returns, stocking, and warranty callbacks done at no charge. Passing parts at cost means financing your customers’ repairs yourself.

How often should I raise my prices?

Rebuild the book on a schedule, commonly January with a mid-year check in July, rather than in reaction to a bad quarter. Rebuild sooner if supplier pricing jumps 5% to 8%, if you raise wages, or if insurance climbs. Routine increases draw far less argument than dramatic ones.

Should I put prices on my website?

Publish the logic and the ranges, not the price book. The diagnostic fee as a real number, typical ranges with the variables that move them, how you quote, and what the price includes. Skip line-item repair prices, and never publish a figure you will not honor.

Is flat rate better than hourly?

For residential repair work, usually yes, because it gives the customer certainty and stops penalizing your fastest technician. Hourly still fits open-ended diagnostics and large commercial jobs where scope genuinely cannot be defined up front. Most shops run both, with flat rate as the default.

Price the work, then check the market

Nobody charges a system by reading the gauges on the unit next door. You take your own readings, on this equipment, in today’s conditions, and you charge it to what those numbers say. It is the same word doing the same job here, and almost nobody treats it that way, which is why so many busy shops finish the year wondering where it all went.

Build the cost floor. Divide by one minus your target margin. Then look at what everyone else is charging, and treat that as a sanity check rather than an instruction. If your number lands well above the market, find out why before you cut it. Sometimes the answer is that your overhead is heavy. More often the answer is that the market is underpriced and quietly miserable about it.

And if you want to know whether homeowners can find any of this when they go looking, that is what the free visibility audit is for: your rankings in every town you serve, your profile against the competitor winning your market, whether your site answers the questions people actually type, and whether AI tools name you or them when a homeowner asks who to call. One page, two business days, yours either way. We work with one HVAC company per service area, so it also tells you whether your towns are still open. Here is how the rest works. Worth a look?

You rebuilt the price book in January.
When did you last rebuild the website?

Want to see where your HVAC company ranks?

Get a free visibility audit across your whole service area. Two business days, no strings.

Request your free audit
← All posts