TradesQuote

Markup vs Margin: How HVAC Contractors Should Price Jobs

Markup vs Margin: How HVAC Contractors Should Price Jobs

Markup and margin are not the same number, and confusing them is one of the most common reasons HVAC contractors leave money on the table — or worse, price jobs at a loss.

The Core Confusion: 50% Markup Is Not 50% Margin

Most contractors learn to price jobs by adding a percentage on top of cost. That percentage is markup. But the profit you actually keep — expressed as a share of the selling price — is margin. They use the same numbers but measure different things.

Markup is calculated on cost: Selling Price = Cost x (1 + Markup%)

Margin is calculated on selling price: Margin% = (Selling Price - Cost) / Selling Price

Here is what that looks like with real numbers:

  • $1,000 job cost + 50% markup = $1,500 selling price. Margin = $500 / $1,500 = 33.3%
  • $1,000 job cost at 50% margin = $2,000 selling price. Markup = $1,000 / $1,000 = 100%

The contractor who thinks they are making 50% profit is actually making 33.3%. On a $50,000 month of revenue, that gap is over $8,000.

50% markup is not 50% margin

Markup is added to cost. Margin is profit as a share of selling price — they are not interchangeable.

Markup-to-Margin Conversion Table

Use this table to find the markup multiplier you need to hit a specific gross margin target.

Target Gross MarginRequired MarkupPrice Formula
20%25%Cost / 0.80
25%33%Cost / 0.75
30%43%Cost / 0.70
35%54%Cost / 0.65
40%67%Cost / 0.60
50%100%Cost / 0.50

The price formula column is the fastest way to calculate a selling price. Divide your total job cost by (1 minus your target margin) and you will always hit the right number.

The Mistake That Costs Contractors Hundreds Per Job

A contractor prices a $10,000 job by adding 30% markup: $10,000 x 1.30 = $13,000. They think they made 30% profit.

Actual margin: ($13,000 - $10,000) / $13,000 = 23.1%

The difference between 30% and 23.1% on a $13,000 job is $896 in missing gross profit. Across 20 replacement jobs a year, that is nearly $18,000 in profit the business never sees.

To actually achieve 30% margin on that job, the correct price is: $10,000 / 0.70 = $14,286.

The 30% markup vs 30% margin mistake

On a $10,000 job, multiplying by 1.30 leaves $896 on the table. Divide by 0.70 to hit true 30% margin.

What Belongs in True Job Cost

Your markup or margin only produces real profit if the cost figure you start with is complete. Most underpricing happens because contractors use an incomplete cost baseline.

Direct labor must be fully burdened. If a tech earns $28/hr, the true cost to the business is closer to $38-42/hr after payroll taxes (7.65% FICA), workers compensation, liability insurance, and benefits. Use your actual burdened rate, not the hourly wage.

Equipment should be priced at your actual wholesale cost, not MSRP. Factor in any freight or handling charges.

Materials includes every consumable: refrigerant, fittings, wire, tape, flush, nitrogen. These small items add up and are routinely forgotten in estimates.

Permit fees are a direct job cost. Include them at actual cost.

Drive time is labor. If a technician spends 45 minutes driving to a job site, that time is billable cost whether you charge for it or not.

What belongs in true job cost

Burdened labor, wholesale equipment, all consumables, permits, drive time, and overhead — before any markup or margin.

Overhead Allocation

Beyond direct job costs, every job needs to carry a share of overhead: shop rent, office staff, insurance, tool replacement, and vehicle costs. These do not disappear when a job is slow.

Calculate your total monthly overhead and divide by your billable hours per month. For most HVAC operations, this lands between $15 and $35 per technician hour. A shop with $25,000/month in fixed overhead and 800 billable hours per month has an overhead rate of $31.25/hr.

Add the overhead rate to your burdened labor rate before applying any markup. If you skip this step, your margin percentage is real but it is not profit — it is covering overhead you did not account for.

Target Margin Benchmarks by Job Type

Not every job type carries the same margin. Service calls have lower material costs and higher labor intensity, which supports higher margins. Replacement jobs involve more equipment cost, which typically compresses margin.

Service calls: Target gross margin of 45-55%. A $250 service call with $40 in parts and 1.5 hours of burdened labor at $40/hr means $100 cost. At 50% margin, the price is $200. You may need to adjust for market rates, but anything below 40% margin on service work is a warning sign.

Replacement jobs (equipment installs): Target gross margin of 20-30%. The equipment cost dominates, which naturally reduces the margin percentage — but the dollar value of profit per job is higher.

Pricing Example: $9,600 Cost Replacement Job

A residential AC replacement breaks down as follows:

  • Equipment at wholesale: $8,000
  • Labor (8 hours at fully burdened $65/hr including overhead allocation): $520
  • Materials and refrigerant: $400
  • Permit: $150
  • Drive time (1 hour): $65

Total job cost: $9,135

At a target gross margin of 25%, the selling price is:

$9,135 / 0.75 = $12,180

Gross profit on that job: $12,180 - $9,135 = $3,045 (25% of $12,180).

If the contractor had instead added 25% markup: $9,135 x 1.25 = $11,419. Actual margin: 20%. The difference is $761 per job in missing gross profit.

Use the Free Calculator

HVAC Estimate Calculator — get your exact answer in seconds.


FAQ

What markup do HVAC contractors use?

Most HVAC contractors use markup in the range of 33% to 67%, depending on job type. Service calls tend to use higher markups (80-100%) to hit a 45-55% margin, while equipment replacement jobs use lower markups (25-43%) targeting 20-30% margin. The right markup depends on your specific cost structure and overhead rate — not industry averages.

Is 30% margin good for an HVAC company?

A 30% gross margin is solid for replacement and installation work. For service calls and diagnostic visits, 30% is below average — service work should be running 45% or higher because the material content is low and the labor intensity is high. Net profit margin (after overhead) is what determines whether the business is actually profitable; 30% gross margin with 28% overhead leaves only 2% net.

How do you calculate HVAC job price?

Start with a complete job cost: fully-burdened labor, equipment at wholesale, all materials and consumables, permit fees, and drive time. Add your overhead allocation per labor hour. Then divide total cost by (1 minus your target margin). For a 25% margin: Price = Total Cost / 0.75. Do not add a markup percentage and call it margin — the math is different.

What is a good profit margin for an HVAC company?

Gross margin targets vary by job type: 45-55% for service calls, 20-30% for replacement installs. Net profit margin (what the owner takes home after all expenses including their own salary) for a healthy HVAC business runs 10-15%. Below 8% net margin, the business is fragile and one slow season or equipment failure can create a cash crisis.