How to Price an HVAC Maintenance Agreement

Commercial HVAC pricing guide · Reviewed September 18, 2026

Price an HVAC maintenance agreement by estimating the annual cost of the agreed work, allocating overhead and dividing that total by one minus your target margin. Start with the equipment inventory and task schedule. Include technician time, travel, materials, equipment, reporting and the cost of any response commitments before presenting an annual or monthly price.

A per-unit price is useful only after you know what each unit needs. Different equipment, access conditions and service scopes can make two buildings with the same unit count very different jobs. The worked example and downloadable worksheet below show the calculation without presenting invented market rates.

Define the equipment and included service first

Attach an asset list to the estimate: equipment identifiers, location, type, make/model and the information needed to determine the service tasks. Review known defects, access arrangements, operating hours and the buyer’s expectations. Use the survey checklist in our commercial HVAC maintenance contracts guide before turning an initial conversation into a firm quote.

Set tasks and frequency from the actual equipment, manufacturer instructions, operating conditions and applicable requirements. ASHRAE’s Standard 180 overview identifies its scope as commercial HVAC inspection and maintenance. If the buyer specifies a standard, review the applicable requirements; this pricing worksheet is not a technical maintenance schedule or proof of compliance.

Scope componentDecision needed before pricing
Scheduled maintenanceCovered assets, tasks, visit schedule and reporting.
Filters, belts and other materialsExact inclusions, quantities and who supplies them.
Repairs and replacement partsIncluded allowance, separately approved work or excluded service.
Refrigerant and specialist workScope, qualifications, purchasing and billing arrangements.
Urgent callsHours, acknowledgment/arrival commitments, charges and capacity.
Existing defectsDocumented condition and separate correction proposal where needed.

Avoid a broad “all-inclusive” description unless you have defined and costed the obligations it creates. Unpriced repairs or unlimited callouts can consume the margin from scheduled work.

Calculate annual paid worker-hours

Break the job into equipment tasks and visits. Use measured job records for comparable work, then adjust for this site. Allow for setup, access, escorts, shutdown coordination, cleanup, travel and documentation. A task that takes two technicians one hour uses two worker-hours.

Annual labor cost = annual paid worker-hours × loaded cost per worker-hour. Include the employer costs appropriate to your business, rather than treating the employee’s wage as the whole cost. The IRS employment-tax overview distinguishes employer tax responsibilities from amounts withheld from workers. Use your payroll records and applicable requirements; this guide does not supply a universal burden percentage.

Choose a consistent treatment for paid leave, training and other non-job time: recover it through the loaded rate or overhead, without counting it twice. Also price the owner’s working time. A sole operator’s labor is not free simply because there is no separate technician paycheck.

For mixed equipment or different visit types, calculate each task group separately and add the hours. Do not multiply every asset by the same service interval when their actual schedules differ.

Add materials, equipment and overhead once

  • Materials: use the agreed quantities and current supplier costs for included items, delivery and applicable unrecoverable purchase costs.
  • Equipment and access: include attributable rental, lifting, special tools or other resources needed for this site.
  • Travel: include paid travel time in labor and vehicle operating cost separately, using a consistent allocation.
  • Administration and insurance: allocate the share of dispatch, software, coverage, facilities and other business costs the agreement needs to recover.
  • Specific uncertainty: document any allowance for a defined variable. An unexplained cushion does not replace a repair or response policy.

Keep a cost-allocation note beside the estimate. If vehicle cost or insurance is already in your loaded rate, do not add the same expense again. Use a realistic annual volume when allocating fixed overhead; assuming a full calendar of contracts you have not won can understate each job’s share.

Worked example: annual price and monthly billing

Every number below is hypothetical. These are calculation inputs, not typical technician costs, recommended margins, maintenance frequencies or a quote for any real equipment. Suppose the scoped plan calls for four visits, each with six total on-site worker-hours, plus two worker-hours for travel and reporting.

CalculationIllustrative result
Annual labor hours: 4 × (6 + 2)32 worker-hours
Labor: 32 × $50 loaded cost$1,600
Annual included materials$400
Annual vehicle/equipment allocation$200
Annual overhead allocation$300
Total estimated annual cost$2,500
Price at a 25% modeled margin: $2,500 ÷ 0.75$3,333.33 before any applicable customer sales tax
Estimated remainder after modeled costs$833.33 before business income taxes

Margin is not markup. Adding 25% to $2,500 gives a $3,125 price and a 20% margin. To target a 25% margin on revenue, divide cost by 0.75. Actual profit still depends on actual costs and collection.

If the buyer pays monthly, twelve payments of $277.78 total $3,333.36. To match a $3,333.33 annual agreement, use eleven payments of $277.78 and a final payment of $277.75, or explicitly agree a rounded annual total. A billing schedule does not imply twelve service visits.

Test the assumptions that can erase the margin

Recalculate the example with 25% more labor hours: 40 hours cost $2,000 at the assumed $50 rate. With the other $900 unchanged, total cost rises to $2,900. At the original $3,333.33 price, about $433.33 remains—a 13% margin. This is why access time and service records matter.

Test a supplier-cost increase, a longer trip and an extra visit separately. For urgent-response commitments, identify the staffed hours, backup technician, dispatch process and any incremental cost. Do not sell unlimited availability using an estimate that includes only scheduled visits.

Also compare the payment schedule with when you incur labor and materials costs. Annual profit does not ensure you can fund the first service cycle. Check invoice acceptance, purchase-order requirements and payment timing with the buyer.

Present a price tied to a clear agreement

Show the buyer the covered asset list, tasks, service calendar, annual price, payment schedule and exclusions. Specify how added equipment, access restrictions, extra work and renewal pricing are handled. Keep separately priced repairs and replacement projects distinguishable from the maintenance agreement.

Confirm whether sales tax applies to the actual services and materials in the relevant jurisdiction and show any required tax treatment accurately. The worksheet does not determine taxability. Use the appropriate authority or tax professional for that decision.

If the buyer needs a lower price, review the proposed scope and delivery method without removing necessary maintenance or making promises you cannot meet. Do not silently lower the expected labor time to make a spreadsheet fit the budget.

After starting, compare actual hours and materials with the estimate. Use the results when reviewing scope and renewal pricing. For licensing and startup context, see our state HVAC business guides; for winning the account, return to the commercial maintenance acquisition guide.

Download the HVAC maintenance pricing worksheet

The CSV contains the worked example, editable assumptions and spreadsheet formulas for annual cost, margin-based price, monthly billing and the labor-overrun scenario. Open it in Excel or Google Sheets and replace the example inputs. It models one repeated visit type; combine detailed task estimates into its per-visit hours, or calculate different visit types separately.

Download the pricing worksheet (CSV)

Common HVAC maintenance pricing questions

What should I charge per HVAC unit?

Calculate the scoped job first. Unit count alone does not capture equipment type, task requirements, access or response obligations. A derived per-unit figure can summarize a proposal but should not replace the estimate.

What margin should I use?

Choose a target using your costs, risk, capacity and business plan. The example’s 25% is an assumption for teaching the formula, not an industry benchmark or guaranteed profit.

Does monthly billing mean monthly maintenance?

No. State the visit schedule separately from the payment schedule so the buyer knows what the annual agreement includes.

Should refrigerant and emergency repairs be included?

Only if their scope and cost are explicitly addressed. Identify inclusions, limits, exclusions and authorization rules instead of assuming scheduled maintenance covers every future problem.