How to Sell HVAC Maintenance Agreements: Pitch Script and Pricing Template
Most HVAC Techs Leave $24,000 on the Table Every Year
You show up, fix the problem, collect the check, and drive away. That customer you just helped? There's a good chance you never hear from them again — until something breaks.
That's the trap of one-and-done service calls. You work hard. You do great work. But you still start every month at zero. Maintenance agreements fix that. They turn one-time customers into people who pay you every single month — whether you're swinging a wrench that day or not.
This post gives you everything: what to include in the agreement, how to price it, a word-for-word pitch script, and how to handle the pushback you'll get.
What Goes Into an HVAC Maintenance Agreement
Keep it simple. Customers don't want to read a 10-page contract. They want to know what they're getting.
Here's what a solid agreement covers:
- Spring AC tune-up — clean the coils, check refrigerant, test capacitors, inspect electrical connections, confirm airflow
- Fall furnace check — inspect heat exchanger, test ignitor, clean burners, check flue and draft, test safety shutoffs
- Priority scheduling — they jump ahead of non-agreement customers when something breaks
- 10% discount on parts — applies to any repair work done during the year
- One phone call gets a real answer — no waiting on hold or leaving voicemails that never get returned
Two visits, priority access, and a parts discount. That's your core offer. Easy to explain at the door. Easy for the customer to say yes to.
Some techs add a free filter replacement or a free diagnostic call. Those are nice extras if you want to sweeten the deal, but honestly, don't pile on so many benefits that you confuse people or tank your margins.
How to Price Your HVAC Maintenance Agreement
Here's the range most small HVAC operators use:
| Option | Monthly | Annual (paid upfront) |
|---|---|---|
| Single system | $45–$55/mo | $500–$600/yr |
| Two systems | $65–$80/mo | $700–$900/yr |
If the customer pays annually upfront, give them a small break — maybe one month free. That's about 8% off and puts more cash in your pocket right now.
Monthly billing is where the real power is. When someone pays $50/month, they barely feel it. When you ask for $550 upfront, that's a decision that requires thinking. Monthly recurring billing gets more yeses.
Don't overthink the pricing. If you charge $49/month for a single system, here's what the math looks like:
- 10 customers = $490/month ($5,880/year)
- 20 customers = $980/month ($11,760/year)
- 30 customers = $1,470/month ($17,640/year)
Add the annual option at $550/year and mix in a few two-system customers at $75/month, and 30 agreement customers easily clears $24,000 ARR — before you do a single repair call.
That's your floor. That money shows up whether it's a slow July or a dead January.
When to Make the Pitch
The best time to sell a maintenance agreement is at the end of a service call — right after you've fixed the problem and the customer is relieved.
They just called you in a panic. AC was out in July. You showed up, diagnosed the issue, fixed it, and now they're cool and happy. That's the moment. They trust you. They just felt the pain of an unexpected repair bill. They're wide open to hearing "here's how you prevent this next time."
Other good moments:
- After a system is more than 8–10 years old and you've flagged wear
- After a repair cost them more than $300
- When they ask "how do we keep this from happening again?"
That last one is a gift. When the customer asks that question, you don't pitch — you just answer it. I've talked to operators in Florida who say their best conversions happen organically this way, when the customer brings it up first.
The Pitch Script (Word for Word)
Don't memorize this like a robot. Read it a few times, then say it in your own words. The structure matters more than exact wording.
Right after you wrap up the repair:
"Before I head out, can I ask you something?"
(Wait for yes.)
"How long have you had this system?"
(Let them answer.)
"Got it. So what happened today — [name the issue, e.g., 'the capacitor failure'] — that's actually pretty common on systems this age when they haven't been tuned up in a while. Everything's running great right now. But without regular maintenance, you'll likely see this again in a year or two."
(Pause. Let that land.)
"I offer a maintenance plan to my regular customers. Twice a year, I come out — once in spring to tune up your AC before the heat hits, once in fall to check the furnace before winter. You also get priority scheduling if something goes wrong, so you're not waiting four days in a heat wave — and 10% off any parts I have to replace."
"It's $49 a month, and I bill it automatically so you don't have to think about it. For most people, it pays for itself the first time it prevents a breakdown. Want me to set that up before I go?"
Under two minutes. You're not reading a brochure. You're just talking to them like a neighbor who knows HVAC.
The key moves in that script:
- You asked a question first (get them talking)
- You connected today's problem to lack of maintenance (not a lecture, just the truth)
- You explained the plan in plain language
- You gave a monthly price (not annual)
- You mentioned automatic billing (removes friction)
- You asked for the yes right there
Handling Objections
You will get pushback. Here's what to say.
"I need to think about it."
"Totally fair. Most people want to sleep on it. Can I text you a quick summary so you have it handy? I'll shoot you a link — you can sign up from your phone whenever you're ready, takes about two minutes."
Then actually send the text. Same day. Don't email. Text.
"I already have a home warranty."
"Home warranties are great for big replacements, but they usually don't cover tune-ups — and they send whoever's available, not someone you already trust. This is different. It's preventive and it's me every time."
Don't trash home warranties. Just explain the difference clearly.
"We rent. The landlord handles it."
Let this one go. Don't push. Ask if they can share your info with the landlord, then move on.
"That seems expensive."
"I get it. It's $49 a month. What you paid today was [their repair bill]. If the maintenance prevents one repair call a year, it's already paid for itself — and you get priority scheduling on top of it. A lot of my customers look at it that way."
Don't apologize for the price. Just do the math out loud.
"Do I have to sign a contract?"
"No long-term contract. It's month to month. You can cancel anytime — but most people don't, because they like knowing it's handled."
If you're doing annual billing, be honest: "The annual option locks in the rate for 12 months, but if something changes, we'll work it out."
How to Make Billing Actually Automatic
Here's where most small HVAC operators drop the ball. They shake hands on a maintenance agreement, write it on a work order, and then spend the next 12 months chasing checks or remembering to send invoices.
That's not recurring revenue — that's recurring stress.
Real recurring revenue means the money hits your account on the same day every month without you doing anything. That requires:
- A way to store the customer's card on file (legally, with their consent)
- Automatic monthly charges — no manual invoices
- A simple agreement the customer can sign digitally — not a PDF you email and hope they print
- A client portal where they can see their agreement, upcoming visits and payment history
When a customer can log in and see "Next tune-up: October 14" and "Next billing date: November 1 — $49," they feel taken care of. They stop calling to ask where you are or when you're coming. In my experience, this alot reduces service call friction.
This is exactly what Ruunly is built for. You get a client portal, recurring billing, and an AI-built website — all for $19/month. You're not duct-taping together QuickBooks, a scheduling app, and a PDF contract. It's one place.
The Math That Should Get You Fired Up
Let's run the numbers one more time, slowly.
You do 6 service calls a week. That's around 25 a month. If you pitch the maintenance agreement at the end of every call and close just 25% of them, that's about 6 new agreement customers per month.
At $49/month per customer:
- After Month 3: 18 customers, $882/month
- After Month 6: 36 customers, $1,764/month
- After Month 12: you've likely had some churn, but if you're at 30 active agreements: $1,470/month — $17,640/year
Mix in some two-system customers at $75/month and a few annual customers at $550, and you're clearing $20,000–$24,000 ARR by the end of year one.
That's not your whole income. That's your floor. Guaranteed money before any emergency calls, new installs, or big repairs.
And here's what people forget: agreement customers call you first. They don't shop around. When their furnace acts up at 10pm in December, they call the person they're already paying. That loyalty is worth as much as the monthly fee.
Start With 5 Customers This Month
Don't try to overhaul your whole business this week. Just set a goal: 5 maintenance agreements in the next 30 days.
Here's your action list:
- Decide your price (start at $49/month for a single system — you can always adjust)
- Write down what's included (use the list from this post)
- Practice the pitch script twice before your next call
- Set up automatic billing so you're not chasing anyone
- Text three past customers today: "Hey, it's [your name] from [your company]. I'm setting up a maintenance plan for a few regular customers — spring AC tune-up and fall furnace check for $49/month. Interested? I can get you set up in two minutes."
Three texts. Right now. See what happens.
When you're ready to run this properly — with automatic billing, a client portal, and a real online presence — Ruunly was built for exactly this. $19/month. No tech headaches. Just your business running the way it should.