HVAC maintenance agreement software that runs the program for you (service plans & memberships)
- Based on about 580 sourced data points on how 1-4-truck HVAC shops run their agreements: contractor forums, vendor help centers, trade press.
- Sources are at the bottom.
HVAC maintenance agreement software keeps the one record your FSM doesn't have: the member ledger. Plan, equipment, visits owed vs delivered, card on file. It charges renewals on its own, texts each member a booking link when a tune-up comes due, and warns you before a paid visit expires. Deepsel does this for 1-4-truck shops, beside Jobber, Housecall Pro or QuickBooks.
Your FSM keeps customers, quotes, dispatch and invoicing. Deepsel keeps the agreement. That's the whole split, and it's why a two-truck shop can run a few hundred memberships without upgrading anything else. What each FSM does on its own with an agreement book is covered in maintenance plans in Jobber and service plans in Housecall Pro.
14-day free trial. No credit card required. Not ready? Grab the free tracking spreadsheet.Spreadsheet vs. your FSM's module vs. ServiceTitan vs. Deepsel
I checked every price and feature gate in this table against the vendors' own pricing and help pages in August 2026. If one has changed since, email me and I'll fix it. (The longer version, with FieldEdge, Service Fusion and Workiz in the table, is the best HVAC maintenance agreement software by shop size comparison.)
| What the program needs | Spreadsheet | Housecall Pro (Max tier) | Jobber (recurring jobs) | ServiceTitan | Deepsel |
|---|---|---|---|---|---|
| Visits owed vs. delivered, per system | Manual columns, if someone updates them after every visit | An unscheduled-visits list the office works by hand7 | None. A recurring job has no "owed" count13 | Yes (recurring service events) | Yes, per unit. Updated when the tech closes the visit, and the customer can see it too |
| Auto-renew with card on file + failed-payment handling | No | Card auto-charges, but billing frequency and the saved card lock once the plan is active6 | Recurring invoice, collected by hand | Yes, though failed-payment alerts have to be requested from support15 | Yes. Retries, card updater, and a text to the member when a charge fails |
| Self-serve booking texts each season | No. The office calls or emails | Reminder emails; booking is still an office task7 | No plan-driven outreach | No. The office schedules from the recurring-services report | Yes. Pre-filled link, two texts, one email, then one flagged call for the office |
| Warning before an owed visit expires | Only if you build the formula | No | No | Report-based | Yes, to you and the member, before the plan year ends |
| Deferred-revenue export to QuickBooks | No | No. Completed plan visits invoice at $0.008 | No | Yes, with manual adjustments | Yes (Pro). A monthly journal, one line per visit delivered |
| Price | $0 software; $10-15 per agreement per year in admin time3 | $299/mo annual, $329/mo monthly. Plans are gated to Max, about $150/mo above Essentials (full tier table)5 | Included in your Jobber plan, but no membership object exists | Quote only; contractors report $250-500 per tech per month14 | $79 or $159/mo flat, unlimited users |
Service Fusion and FieldEdge have agreement modules too. Every shop I found that uses them still runs a spreadsheet next to the module ("their service agreement management is basically non-functional for our needs"10). If you sell plumbing or electrical plans as well, the multi-trade version of this page is maintenance agreement software for HVAC, plumbing and electrical contractors.
What breaks in a spreadsheet at around 80 agreements
Nearly every small shop's program lives in a sheet that started life as a binder. An office manager at a 4-tech shop put it this way: "Originally they had a binder to track customer's service agreements, then we moved to excel… we have 3 tiers, annual/monthly recurring billing, etc. and managing them on my current excel spreadsheet is going to drive me up the wall."10 I've read a lot of versions of that post. The sheet holds up as long as the person who owns it has time to work it. (If you want to keep the sheet a while longer, grab our free tracking spreadsheet; the columns and formulas are explained in how to track HVAC maintenance agreements.) The break point I keep seeing is around 80 agreements, roughly one truck's worth of members, because that's also the point where the same person is answering every phone call. Four things fail. They fail in this order.
1. Renewals you have to ask for
If renewing means the tech collects a check at the last tune-up, or the office mails an invoice and chases it by phone, 40-50% of members renew. Put the plan on a card on file with auto-renew and 80% or more renew. Top operators on monthly auto-billing clear 90-95%.1, 2 Same price, same service, and a 30-40-point swing from billing mechanics alone. On 100 agreements at $225, thirty points is $6,750 a year that walks out the door because nobody charged the card.
2. Tune-ups nobody gets around to booking
Members paid for two visits and were told "we'll call you." Each spring and fall the office has to make that promise true by hand, in the same weeks the phones fill up with no-cool and no-heat calls. The office manager who owns the sheet, a few months later: "Previously we called each customer but as we've grown and my role has grown… I now have the issue of not having the time to call individuals. I've emailed, sent texts, etc."11 A CSR at a bigger shop was blunter: "'We Will Call You For Tune Ups' is a trap. If you're overbooked or a lot of inbound calls, you're not getting to everyone."12 Every visit that never gets booked is a member who feels cheated when the renewal comes around.
3. Visits that expire, and disputes with no ledger
A sheet records whatever someone typed. It won't tell you a plan year ends in 30 days with a visit still owed. So visits lapse quietly, and when the customer calls to say "I paid for two and got one," both sides argue from memory. FSM modules have the same hole in a different shape. On Housecall Pro, completing a plan visit produces a $0.00 invoice with no link back to the plan payment. One owner: "I have been on the phone for 45 minutes and no one can help me… I settled for a 0.00 invoice that just references service plan on the invoice notes."8
4. Cash booked as income for work you still owe
Sell a $240 plan today and you owe $240 of visits. Proper books carry that as deferred revenue until each visit is delivered.16 Most small shops book it as income on day one and never think about it again. It comes back when you go to sell the company: "Buyers also verify that memberships are paid-in-advance and reflect real visits delivered, so paper memberships get heavily discounted in diligence."2
Add it up. Admin alone runs $10-15 per agreement per year against $50-95 of gross profit per agreement,3 and that's before the renewals and visits that fell through. At 300 agreements you're spending $3,000-4,500 a year of office time on a program that was supposed to run itself.
How Deepsel runs the program
Here's the loop, start to finish. The screenshots are from the app itself.
-
The tech signs the customer up at the kitchen table. They pick the plan and tier, photograph the nameplate, and Deepsel records model, serial and filter sizes for that unit. The agreement attaches to the equipment (not the house), so a two-system home stops being a future argument.
Create customer
Add equipment
Attach membershipSignup takes about 30 seconds: create the customer, log the unit, pick the plan. -
The member enters their card once, on their own phone. Billing runs monthly or annual from then on without anyone touching it. If a charge fails, Deepsel retries, runs a card-updater check, and texts the member. Nobody lapses silently.

Dunning is automatic. The office only sees the exceptions. -
When the spring or fall window opens, every member with a visit owed gets a text. The booking link already knows who they are and which unit is due. No reply? A second text, then an email, then one flagged call for the office.

Booking slots follow rules you set: season windows, days, visits per day. -
The slot they pick lands in your calendar. In Jobber it's written as a job. In Housecall Pro it goes through your booking link. Either way it's tagged "Deepsel" so dispatch knows where it came from, and dispatch changes nothing about how they work.

Every write-back shows up in a daily digest, so you can see exactly what was booked. -
The tech closes the checklist and the visit moves from owed to delivered on that unit. Next time that customer calls, whoever picks up sees one screen: active status, discount, visits used, visits left.

The member sees the same ledger, which ends the "I paid for two and got one" argument. -
Renewal rolls over on its own. The member gets notice, the card is charged, and next year's visits are created with the same per-customer settings as before. If the plan year is running down with a visit still owed, you and the member both get a warning.

Expiring visits are the one list the office still has to look at. -
QuickBooks gets a clean journal each month. Plan cash collected posts to deferred revenue, and each delivered visit moves its share to maintenance revenue. One export, no hand adjustments.

Your books show visits delivered, which is what a buyer checks.
Works beside Jobber, Housecall Pro, or no FSM at all
Jobber
Native. Connect with your Jobber login (no app install, no Zapier). Deepsel reads your customers from Jobber and matches before it creates anything, so nobody retypes a homeowner. Booked tune-ups get written into Jobber as jobs. Jobber still has no membership or agreement object, and the feature request has sat open in its community for years,13 so you keep the recurring-job workaround for dispatch and move the ledger, billing and outreach over to Deepsel.
Housecall Pro
Works today on any HCP plan. Import your customer export, and the season texts carry your own book.housecallpro.com link wrapped in the member's context, so bookings land on your HCP schedule the way they do now. Native job write-back is coming with our HCP partner integration. If service plans were the only reason you've been eyeing Max, you can stay on Essentials and skip the $150/mo jump.
No FSM (Google Calendar, QuickBooks, paper)
Upload your spreadsheet and you're running. Booked visits go to a shared Google Calendar, invoices and journals go to QuickBooks. Adopt an FSM later and connect it then.
Pricing
Flat monthly, unlimited users, month to month. 14-day free trial with no card. Full details are in the pricing page.
- Starter is $79/mo, or $66/mo billed annually (two months free). You get unlimited users, auto-charge with card on file, automated booking reminder emails, membership and visit tracking, and customer and equipment records.
- Pro is $159/mo, or $133/mo billed annually (coming soon). Everything in Starter plus customer and schedule sync with Jobber and Housecall Pro, automated booking reminder texts, configurable membership discounts, QuickBooks export, an AI assistant, and parts warranty tracking.
No hidden fees. We don't take a percentage of your membership revenue either.
For scale: 300 agreements at $225 with a 30-point renewal lift is about $20,000 a year in retained revenue. Deepsel costs $948-1,908 a year.
Frequently asked questions
Do I need ServiceTitan to run memberships?
Under roughly four trucks, no. ServiceTitan's membership module does work. One shop running 2,500 members says it "makes tracking, scheduling and automatic renewals very simple." The same contractor adds: "I wouldn't make the jump to service Titan until you've got at least four vans on the road with 300 to 500 maintenance agreements."9 At $250-500 per tech per month plus migration fees,14 a 2-truck shop would pay more for the platform than its whole agreement program earns. Deepsel is the membership layer for shops below that line.
What should an HVAC maintenance agreement include?
The visits (usually two a year, AC in spring and heating in fall), the exact equipment covered by model and serial, the repair discount (10-15% is typical), priority-scheduling terms, price and billing frequency ($150-300 a year or $15-30 a month), auto-renewal language with an opt-out, and what happens to an unused visit at year end. The equipment line matters most. On a two-system home it decides whether the second unit is covered. Deepsel's agreement record has a field for each of these.
How do I track visits owed vs. delivered?
Per system, never per customer. Each unit on the plan gets its owed visits for the year, a booked date and a completed date. A spreadsheet can hold this if someone updates it after every visit and checks a "visits at risk" filter every month. Deepsel updates it when the tech closes the checklist and sends the warning itself.
Does it replace Jobber or Housecall Pro?
No. Jobber or Housecall Pro stays your system for customers, quotes, dispatch and invoicing. Deepsel owns the agreement: plan, equipment, visits, billing and renewals. Booked visits get written back to your FSM, so techs and dispatch keep working the way they do now.
Can techs sign customers up in the home?
Yes. Signup runs on the tech's phone inside the visit checklist. Pick the plan, photograph the nameplate, hand the phone to the homeowner for the card.
Are HVAC maintenance agreements worth it?
For the shop, yes. They fill the spring and fall shoulder seasons with pre-sold work, and each visit throws off repair and replacement leads. Businesses that sell for good multiples typically have about 20% of revenue on agreements, and the benchmark is about 250 agreements per $1 million of service revenue.4 They're worth it when the visits get delivered and the renewals get collected. That's the part the software exists for.
What is the best software for HVAC service management?
That's a different question. It means the field service platform that runs your dispatch, quotes and invoices. For 1-4-truck shops the usual answers are Housecall Pro and Jobber, with ServiceTitan above about four trucks. Deepsel sits beside those and handles the maintenance agreement program only.
Can I import my spreadsheet?
Yes. Upload your sheet during setup and map the columns. It takes a few minutes, and import help is included in the trial. The free tracking spreadsheet already matches the import format column for column.
Sources
- Smart Service, "How much should HVAC service agreements cost?" - "Monthly auto-pay or annual auto-renew with explicit opt-out language drives 80%+ renewal rates. Manual annual renewal processes drop to 40-50%." smartservice.com, retrieved June 2026.
- Pipeline, "Contractor membership program" - "top operators clear 90-95% on monthly auto-billed plans vs 75-80% on annual renewals"; "paper memberships get heavily discounted in diligence." pipelineon.com, June 2026.
- Profitability Partners, "HVAC maintenance agreements profitability" - admin/billing overhead $10-15 per agreement per year; gross profit $50-95 per agreement. profitabilitypartners.io, June 2026.
- FieldEdge, "HVAC service agreement programs" - target of 250 service agreements per $1 million in service revenue. fieldedge.com, November 2025.
- Housecall Pro pricing page - Max $299/mo annual, $329/mo monthly; "Recurring Service Plans" listed as a Max feature. housecallpro.com/pricing, retrieved August 13, 2026.
- Housecall Pro help center, "Service Plans FAQs" - "Once a Service plan has been accepted and is active in a customer's profile, the billing frequency cannot be changed"; "the credit card cannot be removed from the service plan." help.housecallpro.com, retrieved August 2026.
- Housecall Pro help center, "Service Plans dashboard overview" - "This list will act as your reminder to schedule actual appointment times for upcoming and overdue Service Plan visits." help.housecallpro.com.
- r/HouseCallPro, "Service Plan headaches," February 6-7, 2026. reddit.com.
- r/hvacadvice, "How do you manage your maintenance agreements," March 27, 2026 (contractor running ~2,500 members on ServiceTitan). reddit.com.
- r/ProHVACR, "Service agreement management," February 19-20, 2025 (office manager at a 4-tech Service Fusion shop). reddit.com.
- r/ProHVACR, "Scheduling maintenance for service agreements," May 22, 2025. reddit.com.
- r/HVAC, "Service agreement," December 18, 2023 (CSR comment). reddit.com.
- Jobber Community, "Maintenance contract feature" request thread. community.getjobber.com; Jobber help, "Create a recurring job." help.getjobber.com.
- r/smallbusiness, "ServiceTitan quote for a small plumbing shop," July 14, 2026 - "$250-500 per technician per month (based on the package)." reddit.com.
- ServiceTitan Community, "BEWARE IF USING ACH: $8,661 in failed transactions, no alerts received," November 2024. community.servicetitan.com.
- LedgerFi, "HVAC bookkeeping" - deferred-revenue treatment of a $240 annual plan. ledgerfi.co, April 2026.