Skip to content

Answers · HVAC companies

Are HVAC Maintenance Agreements Actually Profitable for the Contractor?

HVAC maintenance agreements are profitable for the contractor when the fee covers the visits the agreement promises, or when the repairs, replacements and renewals it brings back cover the gap. The only way to know which is true is to count each agreement against the shop’s own job, invoice and payroll records. Sold below its delivery cost and never tied to the work it produces, the same agreement loses money without anyone deciding it should. This guide covers what one agreement costs to deliver, what it has to bring back, how to price commercial and five-year contracts, why full coverage should start after a paid inspection, and how to check last year’s agreements one by one.

By , founder of Lumina Business Advisory · Updated · Sources checked · Editorial standards

Two ways an agreement earns, and why only one shows up on its own

Free self-check · two taps · no email

Hand-off 6 of 6 · Payment → Margin

If deposits stopped today, how many days could cash cover payroll and bills?

Choose the answer that sounds like your business.

Answer it in the Self-Audit

An agreement has two sources of money. The first is its own margin: the fee, minus the cost of the visits it promises and the member pricing it gives away. The second is the work it brings back: repairs found on a visit, a replacement sold to a member who already trusts the tech, and next year’s renewal. ServiceTitan’s help center puts both in one sentence: memberships and service agreements are “designed to provide businesses with a steady flow of income in addition to getting technicians back onsite to identify upsell and replacement opportunities.”

The two sit in different places in the records. The fee is billed on its own schedule. The visits are booked as jobs, and ServiceTitan’s page on recurring services says their invoice template total typically equals $0.00, because recurring services are usually included in a membership that is billed separately. A plan visit set up that way is one of the shop’s zero-dollar tickets, by design, and its cost lands nowhere near the fee that paid for it. Repairs and replacements are ordinary jobs at a member’s address, and nothing ties them to the agreement unless someone links them.

For commercial service agreements, ServiceTitan can show the split once the feature is configured for the account: when jobs and estimates are linked to an agreement as pull-through work, its profitability screen separates Planned Visits, Pull-Through Work and Combined metrics. Its own comparison table marks budget-versus-actual tracking as not available for residential memberships without account configuration. Unless that has been set up, the residential answer is a spreadsheet built from exports the shop already has.

What one agreement costs to deliver

Start with the promise, not the price. List everything the agreement owes during its term (visits, materials, priority scheduling, member pricing on repairs, waived fees) and cost each line from the shop’s own records.

The visit is real work. ENERGY STAR advises annual pre-season check-ups by a contractor, cooling in the spring and heating in the fall, and its checklist runs from thermostat settings, electrical connections and the condensate drain to coil cleaning, refrigerant level, blower components, gas pressure, burner combustion and the heat exchanger. ACCA’s residential standard, ANSI/ACCA 4 QM, sets the minimum tasks for maintenance inspections and, in ACCA’s words, gives contractors “a common platform for creating a maintenance program while allowing for bundling different recommended corrective actions at different fee structures.” The inspection is the floor; the corrective work it finds is separate work, and the shop decides how to price it.

  • Labor: visits per year, times hours per visit including the drive, times the loaded labor cost. The U.S. Bureau of Labor Statistics puts the median wage for HVAC mechanics and installers at $29.33 an hour in May 2025, but payroll taxes, benefits and paid time off sit on top of a wage; the shop’s payroll gives the loaded figure.
  • The truck: miles to and from each visit at the shop’s own vehicle cost per mile.
  • Materials used on the visit: filters, cleaner and any small parts the agreement includes.
  • Member pricing given away: the gap between standard and member price on every repair a member bought. In ServiceTitan, when a membership type discount and a pricebook member price are both set, the help center says the greater of the two applies, and member invoices can show the savings, so the total is countable. Count it here and value repairs at standard price later, or value repairs at member price and skip this line; never both.
  • Waived fees and administration: trip or diagnostic charges the agreement waives, card fees on recurring billing, and the office time spent booking visits and working expiring and failed-payment lists.

Priority scheduling costs something too: in a peak week, a member moved to the front of the board pushes a paying non-member back. No record prices that, so name it and leave it out rather than guess. Illustrative example: an agreement sold at $20 a month, $240 a year, with two visits. Each visit takes 1.25 hours with the drive at a loaded $50 an hour from payroll, $125 a year; 30 miles for the two visits at the shop’s own 70 cents a mile, $21; $15 of materials per visit, $30; and $2 a month of card fees and office time, $24. Delivery cost: $200. The fee leaves $40. If the member then buys $600 of repairs at 15 percent off, the shop gave up $90, and the agreement is $50 behind on its own. All of these numbers are hypothetical; the arithmetic is the same with the shop’s own.

What the agreement has to bring back to cover its cost

An agreement priced below its own cost can be a deliberate price for getting a tech into the house twice a year. Then the work it brings back has to cover the gap, and that work only counts if someone counts it. The yearly test per agreement: the fee, minus the delivery cost and member pricing, plus the gross margin on repairs and replacements it produced, plus what a renewal is worth. Gross margin, not revenue: the price of a replacement is not its profit.

The hard part is deciding which work the agreement produced. A member whose system fails in July would have called someone; the agreement decided only that the call came to this shop. Keep two figures. The narrow one is work that started from a finding on an agreement visit. The wide one is every paid job at a member’s address during the term. The truth sits between them, and an agreement that loses money even on the wide figure is losing money.

The narrow figure exists only if the office links the work. ServiceTitan’s help center says a job or estimate can be linked to one service agreement as pull-through work (“Choose the agreement that drove the opportunity”), and that a job can either fulfill an agreement visit or be pull-through work, not both. For residential memberships, the same habit is a tag on every job and estimate that began on a member visit.

A renewal is worth next year’s agreement margin and pull-through; a lapse is worth nothing. Renewals slip away in three places: the expiring list nobody owns, declined cards, and visits owed but never booked. They belong in this count, because a program that loses members every year earns back its delivery cost on a shrinking base.

Illustrative example: 500 agreements sold at $15 a month, $180 a year, against the $200 delivery cost above, lose $20 each, $10,000 a year, before member pricing. The year’s count finds 70 repairs that started from visit findings, at $150 average gross margin at standard price, $10,500, with $4,200 of member pricing given on them, and 6 replacements traced to a visit recommendation at $3,000 gross margin each, $18,000. Counted that way, the program made about $14,300. Take away the six replacements, which might have come to the shop anyway, and it lost about $3,700. The numbers are hypothetical; the point is that the answer turns on six jobs, and the shop needs to know which six.

How to price a commercial maintenance contract so repairs do not eat the profit

A commercial contract is priced from the equipment, not a menu. ServiceTitan’s comparison says service agreement pricing is “determined based on the specific needs of the commercial location, equipment types, and quantities,” normally after on-site inspections at each location. Its pricing step can build the total from the labor and material cost of the planned visits with a markup on each, and tells the user to check the estimated gross margin against the company’s targets.

Illustrative example: 12 rooftop units on quarterly visits. At 45 minutes a unit plus an hour of travel and check-in, each visit is 10 hours; 40 hours a year at a loaded $55 is $2,200. Filters four times a year at $12 a unit and one belt a year at $25 a unit add $876. Planned cost: about $3,076. Priced to a 40 percent gross margin, the contract is about $5,130 a year and earns about $2,050. One compressor replacement costing the shop $6,000 would erase nearly three years of that margin if the contract had promised to cover it. All figures are hypothetical.

Repairs eat the profit when the contract does not say where planned work ends. Four things belong in writing:

  • The scope of each planned visit, unit by unit. ANSI/ASHRAE/ACCA Standard 180-2018, Standard Practice for Inspection and Maintenance of Commercial Building HVAC Systems, is a named reference to build it from; ASHRAE posts a read-only version.
  • What the fixed price excludes: repairs, major components, refrigerant, after-hours calls, and damage the shop did not cause.
  • The price of excluded work: a rate sheet, or a labor rate and material markup, for the life of the contract. ServiceTitan lets a client-specific pricing rule be attached to an agreement for “any unplanned or pull-through work.”
  • A not-to-exceed amount above which the tech stops and gets approval before repairing. ServiceTitan carries a not-to-exceed limit at the agreement level and passes it to the technician on every visit.

Then check the contract the way the shop checks a job: planned hours and materials against the planned price after each quarter, and repair work billed at the rate sheet rather than absorbed into a visit. A contract that runs over its planned hours two quarters in a row is mispriced, whatever its margin looked like on signing day.

How to price a five-year service contract

A five-year price is a bet on five years of labor and material costs, so the contract should say how the price moves. Federal contracting rules, in FAR 16.203-1, describe three general types of economic price adjustment in a fixed-price contract: based on established prices, on the actual labor and material costs the contractor experiences, or on cost indexes “that are specifically identified in the contract.” A private contract can borrow the structure; the wording belongs to the shop’s attorney, and this is not legal advice. If an index is the choice, name it. The BLS Employment Cost Index “measures the change in the hourly labor cost to employers over time,” and its July 31, 2026 release showed civilian total compensation up 3.4 percent over the year to June 2026. That is a past figure, not a forecast; its use is that both sides can look it up on the anniversary date.

Then build in a recount. Over five years, units get added, replaced and removed. Tie the price to the equipment schedule attached to the contract, recount it at each anniversary, and price year one from the shop’s own cost count rather than an old contract plus a guess. And write down how either side can end the contract and on what notice, so a price that turns out to lose money is not a five-year obligation.

Should full coverage start only after a paid inspection?

Yes. Full coverage, with repairs and sometimes parts inside the fixed price, moves the repair risk from the customer to the shop, and the shop should see the equipment before taking it on. The inspection records each unit’s make, model, serial number, age and condition, with photos, and lists the faults found. Those faults get their own estimate, and coverage starts after they are fixed or written into the contract as excluded. The coverage price comes from what the inspection found, not the equipment count alone.

Charge for it. The inspection is a tech’s hours whether or not the contract is signed, and a customer who pays for it keeps a written condition report either way. ServiceTitan describes on-site inspections as the normal step before a commercial agreement proposal; the same logic applies to a homeowner asking for parts-and-labor coverage on a system the shop has never opened.

An agreement can also raise a legal question, and not only when it promises repairs. Florida is one example. This describes public statute text as of October 22, 2026; it is not legal advice.

  • Florida Statutes §634.401 defines a “service warranty” to include a “maintenance service contract equal to or greater than 1 year in length,” or another written promise “to perform the repair, replacement, or maintenance of a consumer product” for failures from defects, wear and tear and similar causes, for a separate charge. A “consumer product” is tangible property “primarily used for personal, family, or household purposes,” so a commercial contract raises a different question.
  • The same section excludes maintenance service contracts “written for less than 1 year” that contain no indemnification provisions and give no discount on parts and labor “in excess of 20 percent” during the contract.
  • §634.403 bars providing or offering service warranties to Florida residents without a license, and makes doing so a first-degree misdemeanor.
  • Part II of the chapter, starting at §634.301, separately covers home warranties: contracts to repair or replace, or pay for repairing or replacing, “any structural component or appliance of a home.”

So for a Florida residential plan, the term, the size of the member discount and whether the plan promises repairs are not only pricing choices. Whether a given agreement falls inside either definition, and what other states require, is a question for the shop’s attorney before full coverage is sold.

How to check last year’s agreements one by one

The check is one spreadsheet, one row for every agreement active at any point last year. For residential plans in ServiceTitan, the Customer Memberships report template supplies most of the columns: type, status, activation method, sold by, dates and location, plus total visits and visits remaining where deferred revenue reporting is configured. Its help center also shows how to find expired memberships that were not renewed: filter the status to Expired and the Renewed Into column to empty. For commercial agreements, each agreement’s Profitability tab holds planned and pull-through figures, if work was linked. Other platforms give the same columns from the plan list and a job export by address.

  • Agreement, customer, address, type, dates, and status at year end: renewed, lapsed or canceled.
  • Fee billed and fee collected. A failed card never recovered is billed, not collected.
  • Visits owed and visits completed, with the hours and materials on each.
  • Member pricing given on every invoice at that address.
  • Repairs and replacements that started from a visit finding (the narrow figure), at standard-price gross margin, and every other paid job at the address (the wide figure).
  • Estimates written on agreement visits that are still open.

Then sort each row into one of four piles: covers its own cost; carried by the work it brought back; loses money even on the wide figure; and still owes visits. The last pile flatters the program. An agreement whose second visit never happened looks profitable because that cost never ran, but the customer paid for a visit the shop still owes. Count an owed visit as owed, and ask the shop’s CPA how prepaid agreements are carried on the books.

Who reads the numbers, and when outside help fits

The count is a once-a-year dig only if nothing gets linked during the year. Three habits turn it into a weekly glance.

  • The office, weekly: agreement visits due against visits booked, and last week’s completed jobs at agreement addresses with no agreement link or tag, linked before the week closes.
  • The service manager, on every agreement visit: findings recorded, and an estimate for each one or a note that nothing was found. Those estimates go on the same follow-up list as every other estimate.
  • The owner, quarterly and before renewal season: the four piles, the member pricing total, and next year’s price for each agreement type.

If the count shows agreements covering their own cost and visits delivered on schedule, nothing needs fixing, and the office can keep the spreadsheet itself. Where agreement numbers sit next to other leaks (open estimates from tune-ups, callbacks no one prices, renewals nobody works), the Revenue Review takes two weeks: read-only access to the shop’s own membership, job, invoice and payroll records, ending in a written report that puts a dollar figure on each leak it finds, ranks the fixes and lays out a 90-day plan. It is not a legal review; contract questions stay with the shop’s attorney. The free 20-minute call is where we say plainly whether it fits, including when it does not.

Before any next step

What should you do next?

Fix it yourselves.
If the cause is clear, it lives inside one process, and one person can own it — take the play from this page and run it. That outcome is fine with us; it is why the play is published in full.
Order one bounded build.
If the fix is known but needs configuration or integration inside your stack — a cadence wired into your own system, an alert, a handoff — scope that one build, with us or with anyone you trust. The six systems we build show what bounded looks like.
Start with the Review.
If the causes are debatable, the problem crosses departments or systems, or the economics are unclear — diagnose before anyone builds. The Revenue Review: $4,500 fixed, two weeks, computed from your own records. Read a sample finding before you decide — free, no email.

Asked right after

Are HVAC maintenance agreements actually profitable for the contractor?
They can be, and the shop’s own records decide it. An agreement is profitable when its fee covers the visits, materials, member pricing and administration it costs, or when the gross margin on the repairs, replacements and renewals it brings back covers the gap. Count both, agreement by agreement, for last year.
How do I price a commercial HVAC maintenance contract so repairs don’t eat the profit?
Price the planned visits from an inspected equipment list, labor hours and materials, at a target gross margin. Keep repairs out of the fixed price, attach a rate sheet for excluded work, set a not-to-exceed amount above which the tech needs approval, and list exclusions such as major components, refrigerant and after-hours calls.
How do I price a 5 year service contract?
Price year one from the shop’s own cost count for the equipment on the schedule, then write down how the price moves: by established prices, by actual costs, or by a named index such as the BLS Employment Cost Index. Recount at each anniversary as equipment changes, and have the shop’s attorney write the adjustment and termination wording.
Should an HVAC maintenance agreement include repairs?
Only when the price was set after an inspection and the repair risk is priced in. A tune-up plan with member pricing leaves the repair risk with the customer; full coverage moves it to the shop. Start full coverage after a paid inspection, fix or exclude what it finds, and in Florida ask an attorney about chapter 634 first.
How big should the member discount be on an HVAC maintenance agreement?
As big as the shop’s own count shows it can carry; we print no benchmark. Count what the current discount cost last year from member invoices and set it against the work members bought. In Florida the size can matter legally too: the §634.401 exclusion for maintenance contracts under a year applies only where the parts-and-labor discount is not over 20 percent and there is no indemnification. This is not legal advice.

Sources

The next step

Bring us the process that keeps getting stuck.

A 20-minute conversation about the workflow, the teams and the systems involved — and a straight answer on whether The Revenue Review is the right next step. If it is not, we say that on the call.

A real person answers or calls you back the same business day.

Free self-check · 2 taps