Maintenance Contract Pricing for Thai Install Firms
Most Thai installation businesses quote maintenance contracts in one of two ways: a number pulled from habit (“we charge 2,500 baht per unit per year, same as last year”) or a number that feels low enough the customer won’t say no. Neither is a price. Both erode profitability over time, especially as travel costs rise and technicians’ wages increase each year.
A well-structured maintenance contract price does two things simultaneously: it covers your actual cost of delivering each visit with a margin built in, and it stays competitive enough that customers see value in the recurring relationship rather than calling you only when something breaks.
This guide walks through the cost math and pricing structure for MA contracts across the main Thai install trades — aircon, solar, and CCTV.
What Makes MA Pricing Different from One-Off Job Pricing?
When you price a one-off job, the scope is fixed: this system, this site, this day, a specific set of tasks. You quote, the customer accepts, you do the job, you invoice.
With a maintenance contract, you are pricing across time. The same annual fee must cover every visit in the contract year — scheduled and, if your contract includes emergency response, unscheduled — plus the overhead of tracking those visits, handling customer calls, and managing renewal documentation. A fee that covers the first year may not cover the second if costs increase and you didn’t build in an adjustment mechanism.
Predictability runs both ways: your customer buys certainty at a fixed annual cost, your business buys a guaranteed revenue stream. Both benefit from a price set correctly from the start.
What Does a Single MA Visit Actually Cost You?
Before you can price a contract, you need to know your actual cost per visit. Most businesses don’t calculate this explicitly, which is why contracts get underpriced and stay that way for years.
A typical MA visit for a split-type aircon unit involves:
- Technician labour: 45–75 minutes per indoor unit. At a loaded hourly cost of 200–350 baht (salary, benefits, tools), that is 150–440 baht in labour before travel.
- Travel: A round trip in Bangkok traffic adds 45–90 minutes and fuel costs. Batch four MA visits in the same area and travel cost per visit drops sharply. An isolated site can make travel your largest single cost.
- Consumables: Coil cleaner, drain treatment, condenser spray — budget 30–80 baht per unit per visit.
- Administrative overhead: Scheduling, reminders, service report, and filing. Not zero, especially across 50+ contracts.
A realistic all-in cost for a single residential aircon MA visit is 400–700 baht per indoor unit, depending on site distance and your wage structure. At a 35–45% gross margin, your contract price should be roughly 650–1,000 baht per indoor unit per visit, multiplied by the number of annual visits.
How Should You Structure Your Contract Pricing?
The standard approach in Thailand is per unit, per year, with a fixed number of visits. This is the easiest to explain and the simplest for customers to compare. A 4-unit aircon contract at 2 visits per year means 8 service visits annually — straightforward to quote and straightforward to schedule.
There are variations worth knowing:
- Per-site, per-visit model: Common for CCTV and fire alarm systems, where the number of assets does not change the visit time dramatically. A flat 3,500–6,000 baht per quarterly visit is simpler for the customer than counting cameras or detection heads.
- All-inclusive vs. parts-excluded: Most Thai MA contracts exclude parts. State this explicitly: “Parts and refrigerant are charged separately at cost.” A contract that implies parts are included becomes a dispute the moment a compressor fails.
- Emergency call-outs included or excluded: Including one or two emergency call-outs per year in the MA price is a competitive selling point. But they need to be priced into the annual fee or capped by hours. An unlimited emergency response clause written into a contract is rarely profitable.
What Are Realistic Market Rates in Thailand?
Market rates vary by city, system complexity, and the profile of your customer. These ranges reflect what Thai service businesses in major urban areas typically charge for standard scope contracts — not what you should necessarily charge without running your own cost calculation first.
Aircon:
- Residential split-type unit: 800–1,500 baht per unit per year for 2 scheduled PM visits
- Commercial fan coil units: 1,500–3,500 baht per unit per year, 4 visits
- Rooftop packaged units: quoted per system, typically 8,000–20,000 baht per system per year
CCTV:
- Small residential system (4–8 cameras): 3,000–6,000 baht per year, 1–2 visits
- Commercial system (16–32 cameras, DVR or NVR): 8,000–18,000 baht per year, 4 visits
Solar:
- Residential rooftop (3–10 kWp): 4,000–8,000 baht per year, 2 PM visits plus performance report
- Commercial or industrial systems: typically 0.5–1.5% of installed system cost per year
Fire alarm: 150–400 baht per detection device per year for quarterly inspections, depending on system complexity.
These ranges assume the contract covers scheduled visits, basic consumables, a service report, and no parts. If you include emergency call-outs, add the cost of 1.5–2 unscheduled visits to the annual fee before finalising your quote.
What Happens When It’s Time to Renew?
Renewal is where MA pricing either holds its value or quietly erodes. If you offer the same price at renewal without reviewing your cost structure, wage growth and rising fuel costs gradually cut into margin year by year until the contract is barely breaking even.
Include a price adjustment clause from the start — for example, “rates may be adjusted annually by up to 5% with 60 days’ notice.” This keeps renewal conversations factual rather than a negotiation from zero.
For commercial clients on multi-year contracts, a fixed-price structure for Years 1–3 with a renegotiation point is common. Long-term certainty benefits both parties, and a structured renewal pathway avoids the awkward annual conversation about price.
Does MA Scheduling Affect How Profitable the Contract Is?
Yes — significantly. The single biggest variable in MA contract profitability is how efficiently you batch and schedule visits. A technician who completes four MA visits in a day generates four times the revenue of one who completes two, often at the same labour cost. Travel batching — grouping visits by zone rather than by the order they were requested — is the most direct way to improve per-visit margin.
For a business with 50–200 active MA contracts, manual scheduling by LINE or spreadsheet almost always leaves gaps: a technician in Bang Na in the morning drives back through traffic to pick up a Lat Phrao job that could have been the second stop. Over a week, wasted travel adds up.
OnSiteQ’s maintenance scheduling handles auto-recurring MA jobs with zone-aware batching, grouping visits in the same building or area into a single day’s run. At this scale, scheduling efficiency is often the difference between contracts that are genuinely profitable and contracts that only look profitable on paper.
FAQ
How many visits should I include in an MA contract?
For most residential aircon systems in Thailand, two visits per year is the standard: one before the hot season (February–March) and one mid-year before the rainy season. CCTV and simple fire systems can often run on one or two annual visits. More complex or critical systems — commercial aircon plants, fire suppression, solar systems on net billing contracts — benefit from quarterly visits, where the inspection log also serves as compliance documentation for the utility or building manager.
Should spare parts be included in the MA price?
For most Thai MA contracts, the answer is no — state this in writing at signing. Parts-included contracts can work, but only if you have reliable failure-rate data for the equipment you maintain. An aircon MA with parts included is profitable on equipment under five years old in good condition; it becomes a loss-maker the moment you inherit a system in unknown condition with an aging compressor.
How do I price a contract for a customer with sites in multiple locations?
Multi-site commercial contracts require a site-by-site visit cost calculation before you can arrive at an annual price. For a customer with sites in Bangkok and Chiang Mai, the technician travel cost per visit to each site is structurally different — and the contract price should reflect it. Either quote separate rates per province, or use a pooled day-rate structure where your technician services all sites in a region in a single trip and the contract covers a number of technician days per year rather than a fixed number of individual asset visits.
A maintenance contract priced correctly is a reliable revenue line and a reason customers call you first. One priced too low is a commitment you are quietly subsidising every quarter. The cost-per-visit calculation takes an hour — and it pays back the moment you renew a contract without guessing whether the number still works.
Ready to get your queue under control?
Start free today, no credit card required.