Estimating & Sales
How to Price an HVAC Maintenance Agreement Program (With Margin Tables)
6 min readJobOpsPro Editorial Team
Price an HVAC maintenance agreement from the bottom up: true visit cost, perk cost, processing fees, and a target margin. Worked examples, tier tables, and a simple pricing formula.

To price an HVAC maintenance agreement, add up the true annual cost of every covered visit (fully loaded labor, drive time, and materials), add the cost of member perks such as repair discounts, add payment processing, then set a monthly price that still clears the gross margin you target. Re-check the math every season as labor costs change.
Most shops price memberships by looking at what the competitor down the road charges. That's how you end up with a plan that sells well and quietly loses money on every visit. This guide walks through the bottom-up method, with margin tables you can copy into your own numbers.
All dollar figures below are illustrative examples, not industry benchmarks or customer data. Swap in your own labor rate, visit times, and perk usage.
What costs go into an HVAC maintenance agreement?
Every agreement carries four kinds of cost. Miss one and your margin is fiction.
| Cost bucket | What it includes | Where to get your number |
|---|---|---|
| Visit labor | Tech time on site plus drive time, at a fully loaded hourly cost (wage, payroll taxes, workers comp, benefits, truck, fuel) | Payroll and truck expenses, or our labor rate calculator |
| Visit materials | Filters, coil cleaner, condensate tablets, shop supplies | Your average materials per tune-up |
| Member perks | Repair discounts, waived diagnostic fees, no overtime charges | Last year's repair spend by members |
| Admin and processing | Card or ACH fees on recurring billing, renewal reminders | Your payment processor statement |
Priority scheduling usually has no direct cost, but it does consume capacity in peak season. Account for it when you plan how many members your crew can serve.
How do you calculate the true cost of one maintenance visit?
Start with a single tune-up. Here's an example using a $65 fully loaded cost per labor hour:
| Line item | Example value |
|---|---|
| Fully loaded labor cost per hour | $65.00 |
| Time per visit (on site + drive) | 1.25 hours |
| Labor cost per visit | $81.25 |
| Materials per visit | $15.00 |
| Total cost per visit | $96.25 |
| Visits per year (spring cooling + fall heating) | 2 |
| Annual visit cost per system | $192.50 |
Now add perks. If a member spends an example $400 a year on repairs and you give a 15% member discount, that discount costs you $60 a year. Annual cost before processing: $252.50.
What monthly price gives you a healthy margin?
Here's the same $252.50 cost base at five monthly price points, with an example 3% processing fee on recurring billing:
| Monthly price | Annual revenue | Processing (3%) | Total annual cost | Gross profit | Gross margin |
|---|---|---|---|---|---|
| $19.95 | $239.40 | $7.18 | $259.68 | -$20.28 | -8.5% |
| $24.95 | $299.40 | $8.98 | $261.48 | $37.92 | 12.7% |
| $29.95 | $359.40 | $10.78 | $263.28 | $96.12 | 26.7% |
| $34.95 | $419.40 | $12.58 | $265.08 | $154.32 | 36.8% |
| $39.95 | $479.40 | $14.38 | $266.88 | $212.52 | 44.3% |
In this example, the "cheap" $19.95 plan loses about $20 per member per year before the customer ever calls for a repair. A shop with 300 members at that price would lose roughly $6,000 a year on the program itself.
Is there a simple formula for pricing a maintenance plan?
Yes. Work backward from the margin you want:
Monthly price = Annual cost ÷ (1 − target margin − processing rate) ÷ 12
Example: $252.50 ÷ (1 − 0.40 − 0.03) ÷ 12 = $252.50 ÷ 0.57 ÷ 12 = $36.92 per month for a 40% gross margin. Round to a clean price point like $36.95 or $37.
Pick your own target margin based on your overhead. The point is to decide it on purpose instead of inheriting it from a competitor's flyer.
How should you structure good, better, and best plan tiers?
Tiers let homeowners pick their level and lift average plan value. Example structure using the same cost assumptions:
| Tier | What's included (example) | Annual cost | Monthly price | Annual revenue | Gross margin |
|---|---|---|---|---|---|
| Essential | 2 tune-ups, 10% repair discount, priority scheduling | $232.50 | $29.95 | $359.40 | 32.3% |
| Premium | 2 tune-ups, 15% repair discount, waived diagnostic fee | $297.00 | $39.95 | $479.40 | 35.0% |
| Multi-system | 2 tune-ups on each of 2 systems, 15% repair discount | $445.00 | $59.95 | $719.40 | 35.1% |
Assumptions behind the table: the 10% discount costs $40 on $400 of repairs; the waived diagnostic is an $89 fee that half of Premium members use once a year ($44.50); margins include 3% processing.
Keep every tier above your floor margin. The Premium tier exists to make the perks attractive, not to become your loss leader. If you sell Good / Better / Best on repairs too, keep the plan names consistent with your flat rate price book.
Should you bill maintenance agreements monthly or annually?
Both work. The trade-offs:
| Billing cadence | Pros | Watch out for |
|---|---|---|
| Monthly | Lower sticker price, easier yes at the door, steady cash flow | More failed-card follow-up; processing on 12 charges |
| Annual (paid upfront) | Cash in hand, one charge, fewer failed payments | Higher sticker price; renewal is a bigger decision each year |
Many shops offer both and give a small discount for paying annually. Whatever you choose, the margin math above should hold at both prices.
How many members can your crew actually serve?
Pricing is only half the program. Every member is a promise of future labor. Example: 300 members on two-visit plans means 600 visits a year. At 1.25 hours each, that's 750 tech hours, about 19 weeks of one technician's 40-hour weeks.
If those visits are scheduled in the shoulder seasons (spring and fall), they fill slow weeks instead of competing with no-heat and no-cool calls. If they're not scheduled, you owe visits you never delivered, and renewals suffer. Forecasting owed visits is covered in our guide to HVAC maintenance agreement software.
What are the most common maintenance agreement pricing mistakes?
- Using wage instead of fully loaded cost. A $30 hourly wage is not a $30 labor cost once taxes, insurance, truck, and fuel are added.
- Ignoring drive time. A 45-minute tune-up with a 30-minute drive is a 1.25-hour visit.
- Forgetting perk cost. A repair discount is real money off every member repair.
- Never re-pricing. If labor costs rise and the plan price doesn't, margin erodes every year.
- Selling more members than you can serve. Unfulfilled visits hurt renewals and reviews.
- Tracking it in a spreadsheet. Owed visits, renewal dates, and discounts get lost.
How does JobOpsPro help run a maintenance agreement program?
JobOpsPro includes membership plans, enrollment, visit forecasting, and equipment history, so owed tune-ups land on the HVAC scheduling calendar and dispatch board before peak season. Member discounts carry into HVAC estimates and invoices, and the books sync to QuickBooks Online.
It costs $25 per user per month with every module included, unlimited customers and jobs, no implementation fee, and no annual contract. See pricing, read the maintenance memberships walkthrough, or check job-level profit with the job profit calculator. More for HVAC shops is on our HVAC industry page.
