Zumip Blog

How to price a roofing job with material and labor markup

How to Price a Roofing Job with Material and Labor Markup

Pricing a roofing job correctly is one of the hardest skills to master in the trades. Bid too high, and you lose the contract. Bid too low, and you spend the next three weeks working for free — or worse, paying out of pocket to finish a job you already underbid.

The difference between a profitable roofing company and one that's always stressed about cash flow usually comes down to one thing: a clear, repeatable markup system that accounts for both materials and labor. This guide walks you through exactly how to price a roofing job with material and labor markup, step by step.

Why Most Roofers Underbid (And Don't Realize It)

Most underbidding doesn't happen because contractors are bad at math. It happens because they forget to account for the full cost of doing business. Common mistakes include:

If any of these sound familiar, the fix isn't working harder — it's building a pricing structure that catches every cost before you send the bid.

Step 1: Calculate Your True Material Costs

Start with a detailed material takeoff. Don't estimate — measure.

Your material list should include:

Then add a material markup. A common range for roofing is 15–35%, depending on:

Pro tip: Material prices change. If your bid is valid for 30 days, build in a clause that lets you adjust if supplier costs spike. This is one of the most overlooked parts of how to price a roofing job with material and labor markup — and one of the most expensive to ignore.

Step 2: Price Labor Correctly (Not Just Hourly)

Labor is where most bids fall apart. You need to cover:

1. Base crew wages — what you actually pay per hour

2. Payroll taxes and workers' comp — often 20–35% on top of wages

3. Production rate — how many squares your crew installs per day

4. Labor burden — benefits, tools, training, downtime

Example:

Now apply a labor markup of 35–55% to cover overhead and profit. That $75/square becomes $101–$116/square in your bid.

Many contractors skip this step and just "charge what feels right." That's how you end up with a full schedule and an empty bank account.

Step 3: Add Overhead and Profit (The Part Everyone Forgets)

Overhead is everything that isn't tied to a specific job:

Add up your annual overhead, divide it by your annual revenue, and you'll get your overhead percentage. Typical roofing companies run 10–20%.

Then add net profit — usually 10–20% for a healthy roofing business.

Formula:

> Bid Price = (Materials + Labor) × (1 + Overhead %) × (1 + Profit %)

Or, more simply:

> Bid Price = Direct Costs × Markup Multiplier (typically 1.5–1.8)

Step 4: Build in Change Order Pricing

Change orders kill margins when they're handled casually. A homeowner asks for an extra vent, a chimney flashing repair, or upgraded shingles — and you "just add a little" without recalculating.

Rule: Every change order gets the same material + labor + overhead + profit treatment as the original bid. No exceptions.

Keep a one-page change order template with:

Step 5: Use a System, Not Memory

Here's the truth: even experienced roofers forget line items. The only reliable way to price consistently is to use a template or estimating system that forces you through every step.

This is exactly what «ProfitShield Estimating System: Stop Underbidding and Protect Your Margins» was built for. It's a done-for-you toolkit with pre-built Excel templates featuring dynamic pricing formulas, so material price changes flow through your bid automatically. It also includes a step-by-step guide for avoiding common estimating mistakes and managing change orders profitably.

For $39, it's less than the cost of one underpriced job — and it replaces the spreadsheet you've been rebuilding from scratch every season.

Quick Checklist: Before You Send Any Roofing Bid

Final Thoughts

Learning how to price a roofing job with material and labor markup isn't about charging more — it's about charging correctly. When your bids reflect real costs, you stop losing money on jobs you "won," and you start building a roofing business that actually pays you what you're worth.

If you're tired of guessing, start with a system. Grab «ProfitShield Estimating System: Stop Underbidding and Protect Your Margins» and price your next job with confidence — not crossed fingers.

Get the ready-made toolkit →