Free Contractor Tool

Contractor Profit Margin Calculator

Enter materials, labor, and overhead — get the right selling price to hit your target gross margin, plus your actual gross and net profit for each job.

Contractor reviewing job costs and profit margin calculations before pricing a proposal

Calculate Your Job Price & Profit

Enter your actual job costs and target margin. The suggested price and profit figures update instantly.

$
$
$
20%70%

Suggested price

$15,455

Gross profit

$8,455

Net profit

$6,955

Direct costs

$7,000

Gross margin

54.7%

Net margin

45.0%

Markup on cost

81.8%

Gross profit = revenue minus direct costs (materials + labor). Net profit = revenue minus all costs including overhead. Always confirm actual overhead allocation per job based on your monthly overhead and volume.

Margin vs. Markup: Why It Matters

The mistake most contractors make

Most contractors learn to price by adding a percentage on top of their costs. "My costs are $8,000, I'll add 45% profit — so I'll charge $11,600." That sounds like a 45% margin, but it's actually a 31% margin. The difference: markup is calculated on cost, margin is calculated on revenue. A 45% markup on $8,000 = $11,600 at a 31% margin. To hit a 45% margin, you need a 82% markup — meaning you'd charge $14,545.

The correct formula

Selling Price = Total Costs ÷ (1 − Target Margin). If your all-in costs are $10,000 and you want 45% gross margin: $10,000 ÷ 0.55 = $18,182. This calculator does that math for you — just enter your costs and target margin.

What margin should I target?

Industry benchmarks for residential specialty contractors:

Roofing (residential install)40–50% gross · 12–20% net
HVAC (installation)45–55% gross · 15–22% net
Solar (residential)30–50% gross · 10–18% net
General contracting25–40% gross · 8–15% net

Common Questions About Contractor Margins

What is a good profit margin for contractors?

Most residential specialty contractors target a gross margin of 40–55% and a net margin of 10–20% after overhead. Roofing contractors typically run 40–50% gross margins. HVAC installation contractors run 45–55%. Solar installers vary widely (30–55%) depending on product margins and financing structures. If your gross margin is below 35%, you likely have a pricing, materials, or labor efficiency problem. If net margin is below 10%, overhead costs need review.

What is the difference between markup and margin?

Markup is calculated on cost: a 100% markup on $5,000 in costs = $10,000 selling price. Margin is calculated on revenue: that same job has a 50% gross margin ($5,000 profit / $10,000 revenue). This is a critical distinction — many contractors confuse the two and underprice their work. To convert: Margin = Markup / (1 + Markup). For a 50% margin, you need a 100% markup on your direct costs.

What should I include in overhead costs?

Overhead includes all costs that aren't directly tied to a specific job: office rent, utilities, insurance (general liability, workers' comp, vehicle), vehicle payments and maintenance, software subscriptions, marketing spend, administrative salaries, and owner's draw or salary. A healthy overhead target for a $1–5M contractor is 20–30% of revenue. Divide your monthly overhead by your average monthly revenue to find your overhead percentage, then build it into every job's pricing.

How do I price a job to hit my target margin?

The formula is: Selling Price = Direct Costs / (1 − Target Gross Margin). For example, if your direct costs are $8,000 and you want a 45% gross margin: $8,000 / (1 − 0.45) = $14,545. Many contractors make the mistake of adding their desired profit ON TOP of costs (markup method), which always produces a lower margin than intended. Use the margin formula to price correctly every time.

Want to Build Better Proposals Faster?

SubcontractorHub's EasyQuote builds proposals on a tablet at the home — with materials, labor, options, and financing built in. Close more jobs with less manual work.

Book a Free Demo

All calculations are estimates based on historical information and should be verified by the user.