How to track HVAC maintenance agreements: spreadsheet, field-service app, or agreement software
- Built from about 580 sourced data points on how 1-4-truck HVAC shops run their agreements: contractor forums, vendor help centers, trade press, state and federal record-keeping rules. I re-checked every vendor feature and price claim against the vendors' own pages on September 24, 2026.
- Method 3 is Deepsel, my own product, so take that section with a grain of salt. Sources are at the bottom.
To track HVAC maintenance agreements, keep one record per agreement (not per customer) with five fields: plan and tier, the equipment covered, visits owed vs delivered, renewal date and payment method, and the discount. Then put those records in one of three places. A spreadsheet, one row per agreement, which holds up to about 80 agreements if one person works it monthly. Your field-service app, which tracks the visit and sometimes the billing but, below ServiceTitan, never the agreement itself. Or agreement software that runs beside your field-service app and does the tracking for you: the ledger, the renewal charges, the seasonal booking reminders and the expiry warnings.
Pick by agreement count. Under about 80 it's the spreadsheet (free, step by step below), from 80 to 500 it's agreement software such as Deepsel beside Jobber, Housecall Pro, Workiz or a plain calendar, from $79 a month. Past 500 agreements or four trucks, ServiceTitan's membership module, or the agreement software if you're staying on your current app. Below: the five fields, the spreadsheet method, what each field-service app actually tracks, the decision table, and how long to keep the records.
14-day free trial. No credit card required.What a tracker has to hold
A maintenance agreement is a prepaid promise. The homeowner paid $150-300 for the year (or $15-30 a month) and is owed two tune-ups, a repair discount and priority scheduling. Tracking it means anyone in the office can answer four questions about any member without opening a second window: are they active, what do they get, which visits have they had and on which unit, when and how do they renew.
Contractors say it plainly. An office manager at a 4-tech shop: "I just need something that tracks if and when they get their 2 maintenance visits, renewal date, tier level, last visit date, etc… I just need something to help me stay more organized and not let people slip through the cracks."1 Another contractor: "The biggest thing is having a system in place that keeps track of when their visits are. You don't want to collect money, then never do the work."2 Those two quotes give you the five fields. They sit on the agreement rather than the customer, because a two-system home can carry one plan and a customer can lapse and re-enroll. Commercial agreements track the same way, one row per site or unit, quarterly or monthly visits instead of two.
| Field | What goes in it | Why it has to be per agreement, not per customer |
|---|---|---|
| Plan and tier | Bronze / Silver / Gold, price, monthly or annual | Decides what the member gets on every call |
| Equipment covered | Each unit by model and serial, plus filter sizes, UV bulb, belt | On a two-system home the plan usually covers one unit, and the tech needs the right filter in the truck |
| Visits owed vs delivered | Visit 1 (spring cooling) and visit 2 (fall heating): owed, booked date, completed date | This is the ledger that ends "I paid for two and got one" |
| Renewal date and payment method | Anniversary date; card on file / invoice / check at the last visit | Manual renewals convert at 40-50%, auto-renewal on a card on file at 80%+3, 4 |
| Discount entitlement | 10-15% repair discount, waived diagnostic, priority terms | Whoever answers the phone has to put it on the invoice |
Method 1: track agreements in a spreadsheet, step by step
Under about 80 agreements this is the right answer, and it's what most 1-2-truck shops already run, usually built out of a paper binder. One owner's whole system, in a thread from last week: "Excel to track and the tech writes up the renewal for next year at the winter maintenance trip."5 Here's the version with the two formulas and the three views that turn the rows into call lists.
- One tab, one row per agreement. Columns for the customer (name, phone, service address), the plan (tier, price, start date, renewal date, payment method), the equipment (each system by model and serial, plus filter sizes so the tech has the right one in the truck), visit 1 and visit 2 each as owed, booked and done dates, the discount percent, and notes. A home with two systems on two plans gets two rows.
- Two formulas. Visits remaining counts the owed visits with no done date. Days to renewal counts down to the anniversary, it goes negative once the agreement lapses.
- Three saved filter views. Due this season (a visit owed and not yet booked in the current window). Expiring in 30 days. Visits at risk (inside 60 days of renewal with a paid visit still undelivered).
- Work it on a schedule. When the season opens (March and September for most of the country), work the due-this-season view top to bottom: text first, then email, then call whoever went quiet, typing the booked date as you go. Once a month, open expiring in 30 days: run the card for members on file, and send renewal notices to invoice and check payers a month early. In the same sitting, open visits at risk and book those first, each one is prepaid work about to expire.
- One named owner. The done date gets typed when the tech closes the job. This one is where people slip, the person who owns the sheet is usually also answering the phones.
The finished sheet, with the formulas, the three views and 21 sample rows, is a free Google Sheet on the maintenance agreement tracking spreadsheet page. Copy it in one click or download it to Excel, no email asked.
The ceiling is about 80 agreements, one truck's worth.6 Past that the sheet still holds the data, what runs out is the owner's time. The office manager quoted above, three months later: "Previously we called each customer but as we've grown… I now have the issue of not having the time to call individuals."7 Admin runs $10-15 per agreement per year,8 and renewals someone has to ask for convert at 40-50%, against 80%+ on a card on file.3, 4
Method 2: track agreements in your field-service app
If you already pay for Jobber, Housecall Pro, Workiz, Service Fusion or FieldEdge, the obvious move is to track agreements there. I checked what each one holds against the vendor's own help and pricing pages (all re-read September 24, 2026) and against the shops using it. Short version: they track the visit (a job on a calendar), sometimes the billing (a recurring invoice or a plan), and below ServiceTitan none of them keeps a ledger of what was paid for against what got delivered. So the office keeps a sheet beside the app and has two places to update after every tune-up. One owner this month, on an app he wouldn't name: "the maintenance service agreement management portion is abysmal."5
| App | What it tracks | What still needs a spreadsheet |
|---|---|---|
| Jobber | Recurring jobs (a repeating visit schedule, billed per visit or at a fixed price; automatic payments on select plans), client tags, custom fields, recurring invoices9 | No agreement or membership object. A customer's request for one ("the current set up for maintenance contracts makes it super unorganized") has sat in Jobber's community for about a year, no reply from Jobber.9 No visits-owed count, no discount enforcement, and renewal is a manual invoice. The four-part workaround is in how to run maintenance plans in Jobber. |
| Housecall Pro | Service Plans on the Max tier ($299/mo annual, $329 monthly)10: recurring billing, plan statuses, a Due for Billing list and an Unscheduled Visits list | The visits list "will act as your reminder to schedule actual appointment times for upcoming and overdue Service Plan visits for active plans,"11 so the office works it by hand. Billing frequency and the saved card lock once a plan is active,12 and Basic and Essentials have no module. Details in Housecall Pro service plans, explained. |
| Workiz | Service Plans, an add-on on the Ultimate tier (quote-only)13: templates with a set number of visits, card-on-file billing, a member discount, subscription statuses (Active, Expires soon at 30 days, Expired) and a visit list with a completed flag14 | Visits "simply serve as placeholders on your schedule" until you convert each one into a job, and the default automation reminds the client 14 days out so "your client knows to contact you to book."14 No per-agreement owed-vs-delivered count. More in Workiz service plans, explained. |
| Service Fusion | A service-agreement record (name, effective and expiration dates, amount, notes) and a management dashboard; repeating jobs and recurring invoices15 | "At this time the amount field is a reference-only field," and the help page itself sends you to Repeating Jobs or Recurring Invoices for the scheduling and billing.15 No visit count. An office manager running three tiers: "their service agreement management is basically non-functional for our needs."1 More in Service Fusion service agreements, explained. |
| FieldEdge | Service agreements (Basic on Select, Advanced on Premier and Elite; quote-only) with renewals, billing cycles and scheduled visits in one view, reminder dates, and QuickBooks accounting16 | "The dates change for seemingly no reason, they'll switch to inactive if the maintenance isn't scheduled by the set reminder date, and half the time I try to save an agreement it just gives me errors."17 Why agreements go inactive, and the Basic vs Advanced split, are in FieldEdge service agreements, explained. |
| ServiceTitan | A full membership object: recurring service events, renewals, member pricing. On The Works package only, pricing is per technician and quote-only.18 "Makes tracking, scheduling and automatic renewals very simple" at 2,500 members19 | Reported at $250-500 per tech per month plus migration,20 and failed-payment alerts are missing by default ("$8,661 in failed transactions, no alerts received"21). The same 2,500-member contractor: "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."19 Setup and limits in ServiceTitan memberships, explained. |
If you run on Google Calendar and QuickBooks, they hold the appointments and the money and none of the five fields, so pair them with the sheet in method 1, or skip to method 3, which needs no field-service app. Every field-service app side by side, with prices, is on the best HVAC maintenance agreement software page.
Method 3: agreement software beside your field-service app
The third way is a tool whose only job is the agreement ledger, running beside whatever you use for dispatch and invoicing. That's what Deepsel is. Your field-service app keeps customers, quotes, dispatch and invoices. Deepsel keeps the five fields above and takes over the four jobs the sheet leaves to a person.
- The ledger updates itself. The tech signs the member up on their phone during the visit: customer, unit (a nameplate photo becomes model, serial and filter sizes), plan. Each visit moves from owed to delivered when the job is closed. The office and the member see the same status and visit history.
- Renewals get charged, not asked for. Card on file, monthly or annual, with a heads-up before the charge, retries and a card-update request if a charge fails, and a flag for the office if it still fails. This is the 40-50% to 80%+ swing from billing mechanics alone.3, 4
- Reminders go out on their own. When the season window opens, every member with a visit owed gets a booking reminder by email (by text on Pro), and non-responders get a follow-up. On Pro, the slot they pick is written into your Jobber or Housecall Pro schedule.
- Expiring visits get flagged. Any visit still owed as the plan year runs down is flagged to you and to the member: the visits-at-risk view from method 1, run every day.
Migration is the spreadsheet from method 1. Upload it, or a customer export from Jobber, Housecall Pro or QuickBooks, during setup and map the columns, import help is included in the trial. Pricing is flat and on the pricing page. Starter is $79/mo (or $66/mo billed annually) with unlimited users and agreements, card-on-file auto-charge, booking reminder emails, membership and visit tracking, and customer and equipment records. Pro is $159/mo (or $133/mo billed annually, coming soon) and adds customer and schedule sync with Jobber / Housecall Pro, reminder texts, configurable membership discounts, QuickBooks export (the deferred-revenue treatment a buyer checks in diligence, where "paper memberships get heavily discounted"4, 22), an AI assistant and parts warranty tracking.
Which method, by agreement count
The benchmark is about 250 agreements per $1 million of service revenue,23 so a 1-truck shop usually carries 50-100 and a 4-truck shop 300-500. Pick by agreement count, truck count is the rougher guide.
| Agreements | Use | Why | What it costs |
|---|---|---|---|
| Under 80 | The spreadsheet, worked monthly and each season | One person can still reach everyone each season, and the renewal dates fit on one screen | $0 software; about $10-15 per agreement per year of office time8 |
| 80-500 | Deepsel Starter beside your field-service app or calendar; Pro when it ships | Renewals move to card on file (the biggest single lever), the ledger stops depending on one person's memory, and the season list goes out as reminders instead of a call list. Past 150 agreements the season list is 300+ contacts a year, and texts, the FSM sync and the QuickBooks export start to matter | $79/mo Starter, $159/mo Pro |
| 500+, or 4+ trucks | ServiceTitan's membership module (The Works package), or Deepsel if you're staying on Jobber, Housecall Pro or Workiz | The line practitioners draw for ServiceTitan: "at least four vans on the road with 300 to 500 maintenance agreements"19 | Quote-only; reported $250-500 per tech per month20 |
Whichever method you pick, three numbers tell you whether the agreements are being tracked or only sold. Renewal rate: 80%+ on auto-renew with an opt-out, 40-50% when someone has to ask,3 and 90-95% on monthly billing against 75-85% on annual.4 Visit completion: visits delivered divided by visits owed at year end, anything under 100% is prepaid work you still owe or have to refund. Days to renewal on every active row, a negative number there is a lapse nobody noticed.
Record-keeping: how long to keep agreement records
No single rule covers "an HVAC maintenance agreement." Three clocks run at once, and you keep the record (the signed agreement with its equipment schedule, each payment, each visit's checklist or work order with date and tech, and any change to the plan; the spreadsheet row summarizes these and doesn't replace them) until the longest clock runs out.
- Your state contractor-license board. California is the strictest common case: Business and Professions Code §7111 requires a licensed contractor to keep "all contracts, documents, records, receipts, and disbursements" for "a period of not less than five years after completion of any construction project or operation to which the records refer."24 For an agreement, completion is the last visit of the last plan year, so a member who renews for six years is a record you keep for eleven. Other states run three to five years, check your board.
- The IRS. Three years in the ordinary case, four for employment-tax records, six if income was under-reported by more than 25%, and seven for bad-debt deductions.25 Agreement revenue, and deferred revenue especially, is income documentation, so most shops settle on seven.
- EPA Section 608. A separate clock that mostly bites on commercial work: disposal records for appliances holding 5-50 pounds of refrigerant, and invoices plus leak-inspection records for appliances of 50 pounds or more,26 kept at least three years under 40 CFR §82.166(m).27 A residential split system sits under the 50-pound line, so for most agreement work this only covers disposals.
Frequently asked questions
What is the best way to track contracts?
Depends which contracts. For contracts in general (vendor agreements, MSAs, e-signatures and renewal dates) the category is contract-lifecycle management, PandaDoc or DocuSign CLM for example. For the maintenance agreements a contractor sells homeowners, the best tracker is whichever one holds visits owed against visits delivered, the renewal date and payment method, and the discount, per agreement rather than per customer. Under about 80 agreements that's a spreadsheet with one row per agreement, between 80 and 500 it's agreement software such as Deepsel running beside Jobber, Housecall Pro or Workiz. Above 500 agreements or four trucks, ServiceTitan's membership module does it inside the field-service platform.
Are HVAC maintenance agreements worth it?
For the shop, yes. They fill the spring and fall shoulder seasons with pre-sold work, every visit throws off repair and replacement leads, and the benchmark is about 250 agreements per $1 million of service revenue.23 They only pay off when the visits get delivered and the renewals get collected, which is the whole reason the tracking system exists. Miss a visit and the same agreement turns into a refund dispute and a deferred-revenue liability.
What should be included in a HVAC maintenance contract?
The visits (usually two a year, cooling in spring and heating in fall), the exact equipment covered by model and serial number, the repair discount (10-15% is typical), priority-scheduling terms, the price and billing frequency, auto-renewal language with an opt-out, and what happens to an unused visit at year end. The equipment line decides whether a second system is covered, and it's the line most templates leave out. Each of those maps to one of the five tracking fields above.
How long does annual HVAC maintenance take?
A professional tune-up on one residential system usually takes 1-2 hours.28 That number matters for tracking because the season list is a capacity problem: 100 agreements with two visits each is 200-400 technician-hours a year, delivered in two windows of a few weeks each. The tracker tells you how many of those hours are still owed.
How do I track maintenance agreements in Jobber, Housecall Pro or Workiz?
In Jobber you build it from parts: a recurring job per member for the visit schedule, a client tag for the tier, a custom field for the renewal date, and a recurring invoice for billing. You still need a spreadsheet for visits owed and discounts, Jobber has no agreement object.9 In Housecall Pro, Service Plans on the Max tier handle billing and produce an unscheduled-visits list that the office works by hand, on Basic or Essentials it's the spreadsheet. In Workiz, Service Plans is an add-on on the Ultimate tier that bills the card and drops each visit on the schedule as a placeholder, the client gets reminded 14 days out to call you and book.14 Deepsel runs the agreement ledger beside any of the three and, on Pro, syncs customers and booked visits with Jobber and Housecall Pro.
Is there a free HVAC maintenance agreement tracking spreadsheet?
Yes. The tracker on the maintenance agreement tracking spreadsheet page is a free Google Sheet with the formulas, the three filter views and 21 sample rows already in place, no email asked. Make your own copy in one click, or download it as Excel from the File menu. It's a tracker, not a contract: the contract is a separate free download, the HVAC maintenance agreement template, in Google Docs, Word and PDF. If you'd rather skip the sheet, upload whatever list you already keep into Deepsel during the trial and the ledger, renewals and reminders get set up from it.
Sources
- r/ProHVACR, "Service agreement management," February 19-20, 2025 (office manager at a 4-tech Service Fusion shop). reddit.com.
- r/hvacadvice, "Service contract/maintenance agreements," November 13, 2025. reddit.com.
- Smart Service, "How much should HVAC service agreements cost?" (updated June 15, 2026) - "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 September 24, 2026.
- Pipeline, "Effective contractor membership programs," June 6, 2026 - "Industry benchmark renewal on monthly-billed memberships runs 90-95% vs 75-85% for annual-billed"; "paper memberships get heavily discounted in diligence." pipelineon.com, retrieved September 24, 2026.
- r/ProHVACR, "Anyone else struggle with keeping track of maintenance agreements?" September 16, 2026 - "Excel to track and the tech writes up the renewal for next year at the winter maintenance trip"; "the maintenance service agreement management portion is abysmal." reddit.com.
- r/SideProject, "Built a free tool for HVAC contractors to track maintenance agreement renewals," March 15-16, 2026 (comment by the app's founder). reddit.com.
- r/ProHVACR, "Scheduling maintenance for service agreements," May 22, 2025. reddit.com.
- Profitability Partners, "HVAC maintenance agreements profitability" (updated June 7, 2026) - admin/billing overhead $10-15 per agreement per year. profitabilitypartners.io, retrieved September 24, 2026.
- Jobber Help Center, "Create a recurring job" (updated April 15, 2026) - per-visit or fixed-price billing; automatic payments "on select plans"; no membership or visits-remaining concept. help.getjobber.com. Jobber Community, "Maintenance contract feature," posted about a year ago, 7 likes, no reply from Jobber as of retrieval - "The current set up for maintenance contracts makes it super unorganized?" community.getjobber.com. Both retrieved September 24, 2026.
- Housecall Pro pricing page - Basic $59/mo annual ($79 monthly), Essentials $149 ($189), Max $299 ($329); "Recurring Service Plans" listed under Max only. housecallpro.com/pricing, retrieved September 24, 2026.
- Housecall Pro help center, "Service Plans dashboard overview" (updated August 11, 2026) - "This list will act as your reminder to schedule actual appointment times for upcoming and overdue Service Plan visits for active plans." help.housecallpro.com, retrieved September 24, 2026.
- Housecall Pro help center, "Service Plans FAQs" (updated July 17, 2026) - "Once a Service plan has been accepted and is active in a customer's profile, the billing frequency cannot be changed"; "At this time, the credit card cannot be removed from the service plan." help.housecallpro.com, retrieved September 24, 2026.
- Workiz pricing page - Standard, Pro and Ultimate all "Request pricing"; "Service plans" listed under Ultimate ("Everything in Pro, plus") and marked unavailable on Standard and Pro. workiz.com/pricing, retrieved September 24, 2026.
- Workiz help center, "Managing recurring work with Service Plans" - "Service Plans is a great add-on"; enabled from the Feature Center; "Before converting them into jobs, visits will simply serve as placeholders on your schedule"; default automation "sends your clients a reminder 14 days before their upcoming service plan visit" so "your client knows to contact you to book a specific time and day." help.workiz.com. "Managing service plan subscriptions" - statuses Pending approval, Active, Expires soon ("expiring within 30 days"), Expired; "Each plan you create will come with a certain number of visits"; the My visits tab shows "whether or not the visit has been completed." help.workiz.com. Both retrieved September 24, 2026.
- Service Fusion help center, "Customer Service Agreement Tracking" (updated February 18, 2026) - agreement name, effective date, expiration date, amount, notes; "At this time the amount field is a reference-only field"; "considering using Repeating Jobs or Recurring Invoices in conjunction with Service Agreements." servicefusion.zendesk.com, retrieved September 24, 2026.
- FieldEdge pricing page - Select, Premier and Elite, all "Request Pricing"; feature row "Service Agreements: Basic / Advanced / Advanced." FieldEdge feature page, Service Agreements section - "Monitor upcoming renewals, billing cycles, and scheduled visits in one place"; "See expiring agreements at a glance." fieldedge.com/pricing; fieldedge.com/field-service-software, both retrieved September 24, 2026.
- r/hvacadvice, "FieldEdge will be the death of me," August 6, 2024. reddit.com.
- ServiceTitan pricing page - "Our per-technician pricing is designed to fit your business and goals, at any size"; no dollar amounts; "Customizable Memberships" included on The Works and not on Starter or Essentials. servicetitan.com/pricing, retrieved September 24, 2026.
- r/hvacadvice, "How do you manage your maintenance agreements," March 27, 2026 (contractor running ~2,500 members on ServiceTitan). reddit.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," May 13, 2026 - deferred-revenue treatment of a $240 annual plan: "When you perform the spring tune-up, move $120 from Deferred Revenue to Maintenance Agreement Revenue." ledgerfi.co, retrieved September 24, 2026.
- FieldEdge, "HVAC service agreement programs," November 6, 2025 - target of "250 service agreements per $1 million" in service revenue. fieldedge.com, retrieved September 24, 2026.
- California Business and Professions Code §7111(a) - records kept "for a period of not less than five years after completion of any construction project or operation to which the records refer." leginfo.legislature.ca.gov, retrieved September 24, 2026.
- IRS, "How long should I keep records?" - 3 years general; 4 years employment tax; 6 years for income under-reported by more than 25%; 7 years for worthless securities or bad-debt deductions. irs.gov, retrieved September 24, 2026.
- US EPA, "Recordkeeping and reporting requirements for stationary refrigeration" (Section 608) - disposal records for 5-50 lb appliances; invoices and leak-inspection records for appliances of 50 lb or more. epa.gov, retrieved September 24, 2026.
- 40 CFR §82.166(m) - "All records required to be maintained pursuant to this section must be kept for a minimum of three years unless otherwise indicated." ecfr.gov; text confirmed at law.cornell.edu, September 24, 2026.
- HVAC.com, "How long does an AC tune-up take?" March 7, 2024 - "usually requiring only 1-2 hours when performed by a professional HVAC contractor." hvac.com, retrieved September 24, 2026.