Why pricing is the most overlooked profit lever in HVAC
Most small HVAC shops undercharge not because they want to, but because they never built a real pricing model. The owner started as a tech, priced jobs based on what felt right, and kept that system as the crew grew. Five years later the shop is busy but barely profitable — and no one can explain why.
The answer is usually buried in overhead that was never allocated, margins that were never set, and a price list that was never written down.
This guide is a step-by-step framework for building HVAC pricing that works for a one-to-five-tech residential shop. No industry averages pulled from a franchise manual — real numbers for real small crews.
Flat rate vs hourly: what the terms actually mean
Hourly (time-and-materials)
You charge for labor by the hour, add parts at cost plus markup, and invoice the total. It's simple to explain and feels fair to customers.
The problem: Customers hate uncertainty. A $95/hour rate that turns into a $650 bill because the job ran long creates disputes, bad reviews, and price-shopping. Techs also have an incentive to work slowly, and the shop eats the risk on every job.
Flat rate
You set a fixed price for each service or repair before the work starts. The customer knows the number upfront. The tech knows the target time. The shop captures the margin whether the job takes 45 minutes or three hours.
The catch: Flat rate only works if your price list is built from real data. Pulling numbers from a competitor's website or a national franchise guide usually means you're pricing for their overhead, not yours.
How to calculate your actual overhead
Overhead is every cost that isn't direct labor or parts on a specific job. For a small HVAC shop, it typically includes:
| Category | Typical small-shop cost |
|---|---|
| Vehicle lease / fuel / maintenance | $800–$1,400 per tech per month |
| Insurance (liability, vehicle, workers comp) | $1,200–$2,500 per month total |
| Office / shop rent or storage | $600–$1,500 per month |
| Phone / software / tools | $400–$800 per month |
| Owner salary (if you're paying yourself) | $4,000–$6,000 per month |
| Marketing / lead costs | $500–$2,000 per month |
| Taxes and accounting | $300–$600 per month |
Example for a 3-tech shop:
- Total monthly overhead: ~$12,000
- Billable hours available (3 techs × 160 hours × 65% utilization): ~312 hours
- Overhead per billable hour: ~$38
That $38 has to be loaded into every hour you sell, or your "profitable" jobs are actually subsidizing your fixed costs.
Building your flat-rate price list
Step 1: Set your target margin
For residential HVAC service work, most healthy small shops target:
- Service calls and diagnostics: 55–65% gross margin
- Common repairs (capacitors, contactors, motors): 50–60% gross margin
- System replacements: 25–35% gross margin (lower percentage, higher dollar amount)
Gross margin = (price − direct costs) ÷ price. Direct costs = technician labor + parts.
Step 2: Build from the bottom up
For each common service, calculate:
- Target time — how long an experienced tech needs, including diagnosis, repair, and cleanup.
- Labor cost — tech hourly wage + payroll taxes + benefits, loaded by your overhead rate.
- Parts cost — your actual cost, not list price, including freight and tax.
- Direct cost — labor + parts.
- Flat rate price — direct cost ÷ (1 − target margin).
Example: standard capacitor replacement
- Target time: 45 minutes (0.75 hours)
- Tech loaded labor: $38/hr × 0.75 = $28.50
- Parts (capacitor + wire nuts): $12
- Direct cost: $40.50
- Target margin: 60%
- Flat rate price: $40.50 ÷ (1 − 0.60) = $101.25 → round to $105–$110
Step 3: Test against the market
Your math is only half the equation. Call three competitors and ask what they charge for the same services. If your calculated flat rate is 30% below the market, you may have undercounted your costs. If it's 40% above, you may be over-allocating overhead or pricing yourself out.
Sample HVAC flat-rate price list for a small shop
These are example prices for a 3-tech residential shop in a mid-size metro. Adjust labor and parts costs to your market.
| Service | Typical flat rate |
|---|---|
| Diagnostic / service call | $95–$125 |
| Capacitor replacement | $180–$240 |
| Contactor replacement | $220–$280 |
| Blower motor replacement | $450–$650 |
| Compressor replacement | $1,800–$2,800 |
| Condenser fan motor | $380–$520 |
| Refrigerant leak search + repair | $350–$650 |
| Evaporator coil replacement | $1,200–$1,800 |
| Condenser coil replacement | $900–$1,400 |
| Ductwork repair (per linear foot) | $18–$28 |
| Thermostat replacement (basic) | $180–$280 |
| Thermostat replacement (smart/Wi-Fi) | $280–$450 |
| System tune-up / maintenance | $120–$180 |
| Air filtration upgrade | $280–$550 |
System replacements should be quoted individually based on square footage, SEER rating, and ductwork condition. Most small shops use a base price per ton with adders for complexity.
The hidden cost of underpricing
Shops that underprice by even 10% don't just lose 10% of profit — they often lose the entire business. Here's why:
- Cash flow stress means you can't afford good techs, so quality drops.
- Quality drops mean callbacks increase.
- Callbacks mean you're doing free work on jobs you already underpriced.
- Free work means you can't invest in marketing.
- No marketing means you depend on low-margin repeat customers.
The cycle ends with an owner working 70-hour weeks for a salary they could have earned as a tech at someone else's shop.
When to raise prices (and how)
If you haven't raised prices in 18 months, you're almost certainly underpriced. Inflation on parts, fuel, and labor has outpaced most shops' sticker prices.
A safe raising schedule
- Small bump (3–5%): Every 12 months, across the board. Most customers won't notice.
- Medium bump (8–12%): When you add a new capability (after-hours service, IAQ testing, extended warranties).
- Large bump (15–25%): When you rebrand, move to a new truck wrap, or otherwise signal a step up in quality.
Always announce price changes in writing. A simple email or text — "Effective March 1, our diagnostic fee will be $115" — prevents surprises and sets expectations.
Software that helps you price right
You don't need pricing software to build a flat-rate list, but the right tool removes the guesswork:
- Consistent quotes — same price for the same job, every tech, every time.
- Automatic markup — parts get marked up by your target percentage automatically.
- Profit visibility — see margin per job in real time, not at month-end.
- Upsell prompts — flag maintenance memberships, IAQ add-ons, and warranty upgrades at the point of sale.
If your current system is a spreadsheet, a whiteboard, or "whatever the tech writes on the invoice," you're leaving money on every job.
Where Ratchly fits
Ratchly's quoting and invoicing system is built around flat-rate pricing by default. You set your price list once, and every tech sees the same numbers on their phone. Parts auto-markup. Jobs report gross margin in real time. And when a customer accepts a quote, the price flows straight to the invoice — no re-typing, no rounding errors, no "I forgot what I told them."
Start a free trial — most shops build their first flat-rate price list inside the first week.