HVAC Commercial Maintenance Contract Pricing Calculator

A commercial preventive-maintenance (PM) contract is only good business if the price covers every hour on the roof, the drive out, the filters and belts, your overhead, and a profit. Put in the equipment on the site and what each visit takes, and get an annual price, a monthly billing amount, and what that works out to per unit and per hour.

Runs in your browser — nothing you type is sent anywhere

Example numbers — replace with yours. The starting values are placeholders so the form isn't empty. They are not industry averages, typical PM times, or benchmarks. Use your own time studies and parts costs.

Equipment on the site

Rooftop units — small

Rooftop units — large

Split systems

Other equipment (boilers, chillers, make-up air, etc.)

Visits, labor, and drive time

Overhead and profit

Results

Hours (units + drive) —
Labor cost per year —
Filters, belts, materials per year —
Annual cost to deliver —
Annual contract price —
Built into that price —
Monthly billing (annual ÷ 12) —
Price per unit per visit —
Effective billed rate (price ÷ all hours) —

Same contract at 10%, 15%, and 20% net profit

Uses your overhead % and annual cost; only the profit target changes.

Net profitAnnual priceMonthlyProfit per year

What this means

—

The math

—

How it's worked out

Hours per visit = for each equipment type, units × hours per unit, added up, plus the drive time for that visit. Hours per year = hours per visit × visits per year.

Annual cost = hours per year × loaded labor cost per hour + (materials per unit per visit × units) × visits.

Annual price = annual cost ÷ (1 − overhead % − net profit %). Overhead and profit are both a share of the price, not a markup on cost, so dividing is what makes the numbers come out right. If overhead and profit add up to 100% or more, no price works, and the calculator tells you so.

Monthly billing = annual price ÷ 12. Price per unit per visit = annual price ÷ (units × visits). Effective billed rate = annual price ÷ all hours, drive time included: compare it with the hourly rate you charge on service calls.

Worked example

With the example numbers above (all placeholders, not typical times or costs):

  • Hours per visit: 6 × 1 + 2 × 2 + 4 × 0.75 = 13 unit hours, plus 1 hour of drive = 14 hours. Four visits = 56 hours a year.
  • Labor: 56 × $55 = $3,080.
  • Materials: (6 × $25 + 2 × $60 + 4 × $15) = $330 a visit × 4 = $1,320.
  • Annual cost: $3,080 + $1,320 = $4,400.
  • Annual price: $4,400 ÷ (1 − 25% − 15%) = $4,400 ÷ 0.60 = $7,333, or about $611 a month. That includes about $1,833 of overhead and $1,100 of net profit.
  • Per unit per visit: $7,333 ÷ (12 units × 4 visits) = about $152.78. Effective billed rate: $7,333 ÷ 56 hours = about $130.95 an hour.
  • Profit table: at 10% net profit the price is about $6,769; at 20%, $8,000.

Things this leaves out

  • Repairs. PM contracts usually cover inspection and routine parts only. Repairs found on a visit are quoted separately, so they're not in this price.
  • Access and site rules. Roof access, lifts, escorts, safety training, and after-hours windows all add time. Build them into your hours per unit or drive time.
  • Coil cleaning, water treatment, and specialty work. If the contract includes them on some visits only, add their average hours and materials per visit.
  • Price increases. This is one year. Multi-year contracts need an annual increase clause so rising labor and parts costs don't eat the profit.

We don't quote "typical" PM hours per unit or commercial contract prices, because we haven't found a solid public source for them. They depend on the equipment, the site, and your market. Time your own crews and price each site. Owners compare real numbers in the anonymous Owner Numbers survey.

Related tools and guides

Pricing plans for homeowners instead? The HVAC service agreement (maintenance plan) pricing calculator checks the margin per member and projects your agreement base. For how to price, sell, and renew agreements, read the HVAC maintenance agreements guide. The loaded labor cost you enter above comes from the HVAC labor burden calculator, and the HVAC break-even hourly rate calculator shows whether your effective billed rate beats what an hour really costs your shop.