The maintenance agreement is the most valuable thing a small HVAC shop can sell, and the most commonly mispriced. It is the only product on your menu that pays you in your slowest weeks and turns a one-time caller into a customer who is still yours in five years. Operators know all of that, which is why almost every shop offers a plan. What far fewer do is price the plan from the cost of delivering it. Most pick a number that looks right next to the competition and hope the math works out. Below is how to make the math work out on purpose.
What an HVAC maintenance agreement actually is
An HVAC maintenance agreement is a recurring contract. The customer pays a set amount, usually billed once a year or monthly, and in return you perform scheduled preventive visits, normally one before cooling season and one before heating season, plus a set of membership perks such as priority scheduling and a discount on repairs. It is not a warranty, and it is not a repair plan. It is a subscription to upkeep.
The money it makes you comes from more than the visit fees. It comes from the repairs those visits surface before they become emergencies, and from the customer who stays with you for years instead of price-shopping the next breakdown. That is the trap built into the product: if you price the plan as if the visit fees are the only revenue, it looks like a money loser and you give up. If you price it as if the visits are free, you give away the work. The job is to price the visits honestly and then name the rest of the value out loud so the customer understands what the membership is actually buying.
Why pricing it as a discount off two tune-ups loses money
Here is the move almost every shop makes. A tune-up retails for $120 to $150 in 2026.1 Two visits a year is $240 to $300 at retail. So the plan gets set at "two tune-ups, and as a member you save," landing somewhere around $180 to $199. It feels generous and it feels safe because it is anchored to a real retail number.
The problem is that the retail tune-up price was never costed for this. A one-off tune-up is demand-driven work a customer called you for, priced for a market that is not comparing it to anything. A maintenance visit is a low-margin commitment you sold months in advance, and you have to perform it whether or not it is a convenient day. When you discount off retail, you are discounting off a number you never built from cost, so you have no idea how much margin you just gave away. In a lot of markets, the discounted plan price lands below what the two visits actually cost you to perform. The plan is underwater before the customer's first filter change, and it only looks profitable because the loss is hidden inside the visits.
Build the price from your loaded visit cost
The fix is to cost a single maintenance visit the way you would cost any job, then build the plan up from there. There are four layers, and most shops stop after the first.
Start with the wage, not the bill rate. The median wage for a heating, air conditioning, and refrigeration mechanic was $28.75 an hour in May 2024, with a median of $59,810 a year.2 Use your own tech's real number. For the example below, assume a maintenance tech you pay $30 an hour.
Add the labor burden. Wage is not what the hour costs you. Payroll taxes, workers compensation, and benefits sit on top. Federal data on employer compensation costs shows benefits run about 30 percent of total compensation for private-industry workers, with wages making up the other 70 percent.3 That means the loaded compensation cost is roughly the wage divided by 0.70, or about 1.4 times the wage. A $30 wage becomes about $43 an hour of real labor cost.
Add the truck and the overhead. The hour also has to carry its share of the truck depreciation, fuel, insurance, software, and the office time behind the schedule. Allocated per billable hour, that is often $20 to $25 in a one-truck or two-truck shop. Call it $22. Now the fully loaded cost of a tech-hour is about $65.
Add the time the visit really takes. A maintenance visit is not only the hour on the equipment. Count the drive and the paperwork. One productive hour on site plus roughly a half hour of windshield and admin time is about 1.4 hours. At $65 an hour that is about $91, and the filter and minor consumables add maybe $12. A single maintenance visit costs you on the order of $103 to deliver. Two visits a year is about $206 of direct cost, before you have paid a cent toward selling or administering the plan.
Now the $189 plan from the section above is not a discount. It is a $17 loss on every member, every year, before a single repair. Whether the plan makes money depends entirely on repair pull-through you have not measured. That is the gap a real cost build closes.
Pricing tiers without giving away the middle
Two or three tiers work better than one because they let the customer choose up instead of choosing whether. The standard structure is a basic plan with the two visits and priority scheduling, and a higher plan that adds a deeper repair discount and waived diagnostic fees, often with a same-season service guarantee. The higher tier is where your margin lives, so the gap between the tiers has to be real. If the basic tier already waives the diagnostic fee and discounts repairs heavily, there is nothing left to sell up to, and every customer takes the cheap plan you can least afford to give away.
Price each tier from its own loaded cost. The higher tier promises more, so it costs more to deliver, so it carries a higher price and a wider margin, not a token $20 bump. Some shops add a free entry tier, a single annual filter change and a system check, as a lead magnet to get a customer into the membership and onto the repair-discount track. That can work, but only if you treat the free tier as a marketing cost with a conversion target, not as a plan that is supposed to pay for itself.
Commercial agreements are priced per unit
A commercial maintenance agreement is a different document. You are not pricing one home system, you are pricing a count of rooftop units, split systems, and sometimes chillers, each on its own visit frequency, often quarterly rather than twice a year. Annual commercial agreements commonly run from about $500 to $2,000 per unit depending on equipment type and service level.4
The method does not change, only the inputs. Take the same fully loaded tech-hour, estimate the time per unit per visit, multiply by the number of units and the number of visits a year, then add for the access reality of the site. A unit behind a locked roof hatch with a ladder and a fall-protection requirement is not the same labor as a ground-mounted condenser, and the bid has to price the access, not just the equipment. The same per-page quote that holds a residential plan together scales to the commercial proposal: the unit list and the visit schedule behind a per-unit price the property manager is going to compare against the other bid.
The auto-renewal terms most plans get wrong
Almost every maintenance plan renews automatically, which is the right design, because a plan that lapses every year is a plan you have to resell every year. But an auto-renewing agreement that bills a customer's card carries legal requirements a lot of shop plans ignore, and the rules tightened recently.
The federal piece is in flux. The Federal Trade Commission's Click-to-Cancel rule, which would have set nationwide disclosure and cancellation requirements for auto-renewing subscriptions, was struck down by the Eighth Circuit Court of Appeals in July 2025, days before it was to take effect.5 That did not deregulate anything. It pushed the binding requirements back onto state automatic-renewal laws, which many states now have and which the FTC can still enforce against deceptive practices under its older authority.
California's law is the one to build to, because it is among the strictest and because building to it tends to keep you clean elsewhere. Its automatic-renewal statute requires that the renewal terms be presented clearly and conspicuously before the customer agrees, that you get the customer's affirmative consent to the automatic renewal itself, and that you give the customer a record they can keep that states the renewal terms and how to cancel. The expanded version of these rules applies to contracts entered into, amended, or extended on or after July 1, 2025.6 The practical version for an HVAC plan is simple: the renewal and the cancellation method go on the agreement in plain language, the customer signs to the auto-renewal on purpose, and they get a copy. A plan billed on a handshake renewal is a charge a customer can unwind and a renewal you may not be able to enforce.
A worked example: a two-visit residential plan
Here is the full build for a basic two-visit residential plan. The figures are illustrative and use the cost layers from above, not a quote.
| Line | Amount |
|---|---|
| Tech wage (assumed) | $30.00 / hr |
| Loaded labor (wage ÷ 0.70) | ~$43.00 / hr |
| Truck and overhead, allocated | +$22.00 / hr |
| Fully loaded tech-hour | ~$65.00 / hr |
| Time per visit (1.0 hr on site + 0.4 hr drive/admin) | 1.4 hr |
| Labor cost per visit | ~$91.00 |
| Filter and consumables per visit | +$12.00 |
| Cost per visit | ~$103.00 |
| Two visits a year, direct cost | ~$206.00 |
Now price two ways and watch the difference. Plan A is the discount-off-retail plan at $159 a year. Against a $206 cost it loses about $47 per member per year on the visits alone. Across a book of 200 members that is roughly $9,400 of negative contribution you are betting repairs will cover, and most shops have never measured whether they do.
Plan B is built from cost. Start at the $206 of direct cost, target a 35 percent gross margin on the visit work, and the two visits price at about $317. Round to $299 a year, or offer it at $25 a month, which is $300 a year and smooths your cash into the slow season. The repair discount and the priority scheduling are then the membership's value, funded by the repair work the visits pull through, rather than a subsidy paid for out of underpriced tune-ups. Plan B is not more expensive for no reason. It is the first version where you actually know whether the plan makes money.
Put the plan on a signed agreement, not a handshake
The plan that gets disputed at renewal is the one that lived in a verbal promise to "come by in spring and fall." The plan that holds is the one the customer signed, with the visits, the price, the renewal terms, and the cancellation method written on the page. That signed agreement is also what makes the auto-renewal enforceable and what separates your membership from a loose promise the customer forgets they made.
The same discipline shows up across HVAC pricing. The service-call fee that gets argued at the door is the one that was never written down, which is the subject of the guide on how to set an HVAC service call fee, and the invoice that gets questioned is the one that did not itemize the work, covered in the guide to HVAC invoicing. The recurring-revenue logic here is not unique to HVAC either. The same separate-the-initial-from-the-maintenance pricing argument runs through one-time versus recurring pest control pricing, because every trade that sells a maintenance plan faces the same temptation to underprice the recurring work.
Write the plan on one page your customer can sign
We built EosLog's quote generator so the visits, the perks, the price, and the renewal terms sit on one page the customer signs, instead of a verbal promise you have to resell every spring. Build the agreement from your own loaded cost, show the customer what the membership buys, and lock the renewal in writing so it holds.
Try the free HVAC quote generator
No account required. You can also create a free EosLog account to save customers and reuse line items, or see the plans first.
Sources and further reading
- Angi, "How Much Does HVAC Maintenance Cost?" and HomeGuide, "AC Tune-up, Service & Maintenance Costs" (2026 market ranges: annual maintenance plans roughly $150 to $360, single tune-up roughly $75 to $200 with a national average near $120 to $150). Market-range references, not a cost basis.
- U.S. Bureau of Labor Statistics, Occupational Outlook Handbook, Heating, Air Conditioning, and Refrigeration Mechanics and Installers (median wage $28.75 per hour, median annual wage $59,810, May 2024).
- U.S. Bureau of Labor Statistics, Employer Costs for Employee Compensation (for private-industry workers, benefits averaged about 29.7 percent of total compensation and wages and salaries about 70.3 percent, March 2025).
- HomeGuide and Fixr, commercial HVAC maintenance cost guides, "How Much Does HVAC Maintenance Cost?" (commercial systems commonly run about $500 to $2,000 per unit per year depending on equipment and service level). Market-range reference.
- U.S. Court of Appeals for the Eighth Circuit vacatur of the FTC Negative Option ("Click-to-Cancel") Rule, July 2025, as summarized by Cooley LLP (the rule was vacated in full days before its effective date; the FTC retains authority over deceptive practices and state auto-renewal laws still apply).
- California Legislative Information, Business and Professions Code section 17602 (automatic-renewal terms must be presented clearly and conspicuously before the agreement, the seller must obtain affirmative consent, and provide a retainable acknowledgment with the cancellation policy and method; expanded requirements apply to contracts entered into, amended, or extended on or after July 1, 2025).
This guide reflects general US HVAC pricing and contracting practice as of 2026 and is not legal, tax, or licensing advice. Wage data, employer cost ratios, and market price ranges vary by region and change over time, and automatic-renewal and consumer-contract rules vary by state and change as well. Confirm current figures against the cited sources and confirm the auto-renewal rules in your state before relying on this article for a specific agreement.