Business9 min read

Roofing Business Profit Margin: Is Your Company Profitable?

Roofing business profit margin for owners: gross vs. net margin, why markup is not margin, your break-even number, and the figures to track each month.

Know your real profit margin: a pallet stacked with shingle bundles, the top bundle in orange with an arrow rising from it and a dashed break-even line running across the stack, next to cards for a job cost sheet with materials, labor, and permits checked off and a break-even note saying overhead is covered
In this article
  1. Three numbers people call “profit”
  2. Markup is not margin
  3. Why there’s no “normal” roofing margin
  4. The numbers to track every month
    1. 1. Gross margin on every job
    2. 2. Gross margin by type of job
    3. 3. Monthly overhead
    4. 4. Your break-even revenue
    5. 5. A real wage for the owner
    6. 6. Cash in the bank and money set aside for taxes
    7. 7. What it costs to sign a job
  5. Set up your books so the numbers are real
  6. How to raise your margin without cutting corners
  7. Questions roofers ask about profit

A roofing business can be very profitable. It can also stay busy all year and still leave the owner with less than a crew lead makes. The difference is rarely how many roofs you put on. It’s your roofing business profit margin: how much of every dollar you bring in is still yours after the shingles, the labor, the trucks, the insurance, and your own pay are covered.

You’ll find plenty of “average roofing margin” numbers online. Most come from consultants and software companies surveying their own customers. None of them is an official figure, and the government source most owners would check, the Bureau of Labor Statistics, publishes what roofers earn, not what roofing companies keep. So this guide won’t hand you a benchmark to chase. It shows you how to work out your own margin, what usually pushes it up or down, and the handful of numbers worth checking every month.

The short answer

A roofing business is profitable when its gross profit on jobs covers all of its overhead, a real wage for the owner, and taxes, with money left over. To know whether yours is, track gross margin on every job, total monthly overhead, your break-even revenue, and cash in the bank. Price from margin, not markup, and pay yourself before you count anything as profit.

Three numbers people call “profit”

When an owner says a job “made money,” they could mean one of three different things.

Number How to work it out What it tells you
Revenue Everything customers paid you How busy you were, not how well you did
Gross profit Revenue minus job costs (materials, labor, disposal, permits, subs) Whether your jobs are priced right
Net profit Gross profit minus overhead (trucks, insurance, office, software, marketing, owner’s pay) Whether the company makes money

Turn either profit figure into a margin by dividing it by revenue. If a job brings in $15,000 and its job costs come to $10,500, gross profit is $4,500 and gross margin is 30 percent. That’s a made-up example, but the math is the same on any job.

Gross margin is the number you control job by job. Net margin is the one that decides whether you’re building a company or just buying yourself a job.

Markup is not margin

This mistake quietly costs roofers a lot of money. Say a job costs you $10,000 and you add 30 percent on top, so you charge $13,000. It feels like a 30 percent margin. It isn’t. Your gross profit is $3,000, and $3,000 divided by $13,000 is about 23 percent.

Pricing by markup Pricing by margin
The math Cost x 1.30 Cost / (1 - 0.30)
Price on a $10,000 job $13,000 About $14,286
Gross profit $3,000 About $4,286
Real gross margin About 23% 30%

Same job, about $1,286 apart. Across a season of replacements, that adds up. If your estimating sheet adds a percentage to cost, check which one it’s doing.

Tip

Pick the gross margin you need first (the break-even section below shows how), then divide job cost by one minus that margin. That gives you the price that actually hits it.

Why there’s no “normal” roofing margin

Two roofers in the same town can run very different margins and both be healthy. A few things move the number more than anything else:

  • Job mix. Repairs, full replacements, new construction, and commercial work all carry different costs and different prices.
  • How you staff jobs. Your own crews mean payroll costs year round. Subcontracted crews cost more per job but less when it’s slow.
  • Season and weather. The Bureau of Labor Statistics (opens in a new tab) notes that winter weather can limit roofing work in northern states, while busy summer months can mean overtime. Overhead doesn’t take the winter off.
  • What it costs to get a job. Shared leads, ads, canvassing, and referrals each carry a different cost per signed contract.
  • Callbacks and warranty work. Every return trip to fix a leak eats margin you already counted.

So compare this quarter to the same quarter last year, not to someone else’s survey.

The numbers to track every month

Pull the same handful of numbers the same way every month.

1. Gross margin on every job

Job costing means writing down what each job actually cost, then comparing it to what you estimated. Materials (including the extra bundles), labor hours, dumpster and disposal, permits, and any subs. When a job comes in under the margin you priced for, find out why while the crew still remembers.

2. Gross margin by type of job

Group finished jobs by type: repair, replacement, insurance work, commercial, gutters, whatever you do. You may find that one kind of work keeps the trucks moving but barely pays, while another carries the company.

3. Monthly overhead

Add up every cost that shows up whether or not you’re on a roof: truck payments and fuel, insurance, office rent, phones, software, accounting, marketing, office staff, and your own salary. The SBA describes fixed costs as costs incurred during a set period that don’t change as your work goes up or down (SBA on calculating startup costs (opens in a new tab)). This is the bill your job profits have to pay before there’s any net profit at all.

4. Your break-even revenue

The SBA defines the break-even point as the point where total cost and total revenue are equal (same SBA page (opens in a new tab)). For a roofer, the simplest version is monthly overhead divided by your gross margin.

Here’s a hypothetical example. Overhead runs $20,000 a month and your jobs average a 35 percent gross margin. $20,000 divided by 0.35 is about $57,000. That’s how much work you’d need to finish in a month just to stand still. Anything above it starts producing net profit. Our roofing business plan guide walks through the same idea using job counts.

5. A real wage for the owner

If you swing a hammer, run sales, and do the books, pay yourself for it before you call anything profit. Otherwise a company that “makes 15 percent” may only be paying you for your own labor.

For a reference point, the BLS reports (opens in a new tab) a median annual wage of $55,860 for roofers working for roofing contractors in May 2025. An owner who also sells and manages should be paid more than that. If the books only show a profit when you take nothing, that’s worth knowing now.

6. Cash in the bank and money set aside for taxes

Profit on paper and cash in the account are different things. Deposits, material bills that come due before final payment, and slow-paying customers can leave a profitable company short of cash in a busy month.

Taxes are part of this. The IRS says sole proprietors, partners, and S corporation shareholders generally have to make estimated tax payments if they expect to owe $1,000 or more, and those payments cover self-employment tax as well as income tax (IRS on estimated taxes (opens in a new tab)). Money you owe the IRS isn’t profit you can spend.

Check with a tax professional

This is general information, not tax or accounting advice. How you’re taxed depends on your business structure and your state. A CPA or licensed tax preparer can tell you what to set aside and when to pay it.

7. What it costs to sign a job

Add up everything you spent to find work in a month (lead services, ads, mailers, the website, the marketing agency) and divide it by the number of contracts you signed. Then do it by source if you can. A lead source that looks cheap per lead can be expensive per signed roof, and the reverse happens too. Our guide on how to get roofing leads covers the options.

Set up your books so the numbers are real

None of this works if business and personal money are mixed together. IRS Publication 583 (opens in a new tab) is blunt about it: one of the first things you should do when you start a business is open a business checking account, keep it separate from your personal account, and deposit all daily receipts in it. The same publication says records can show “whether your business is improving, which items are selling, or what changes you need to make.”

A few habits make the monthly numbers easy:

  • Run every job cost through the business account and tag it to the job.
  • Close out each job’s cost sheet within a week of finishing.
  • Look at an income statement (income and expenses for the month) every month, not just at tax time.
  • Keep records as long as you need them to back up your tax return, which is the IRS recordkeeping rule (opens in a new tab). Employment tax records need at least four years.

If you use a roofing CRM or estimating software, check whether it tracks actual job costs or only estimates.

How to raise your margin without cutting corners

Once you can see your numbers, the fixes tend to be plain:

  • Price from your own job costs. Update material and labor figures when your suppliers and wages change, not once a year.
  • Put changes in writing. Rotted decking, extra layers, and added work should be priced and signed before the crew does it.
  • Cut callbacks. Track every warranty visit back to the job and the crew. Fixing the cause is cheaper than the return trips.
  • Lean into your best job types. If repairs or one kind of replacement carry your best margin, point more of your marketing at that work.
  • Lower what you pay to win each job. Leads you generate from your own Google profile, reviews, and website can cost less per signed roof over time than leads sold to several roofers at once, though they take longer to build.

What you shouldn’t do is chase margin by skipping safety gear, underinsuring, or cutting materials below what the manufacturer requires. Those savings can come back as injuries, claims, or voided warranties.

If marketing is the line on your overhead that’s hardest to judge, we can help. Every Roofing Demand Lab plan includes a roofing website plus monthly SEO work: Foundation is $500 a month, Growth is $1,250, and Market Leader is $2,500, with a 3-month minimum and then month to month. You’ll get a monthly report on website performance so you can weigh that spend against the jobs you sign. See what’s in each plan on our roofing contractor marketing page, then get started when you’re ready.

Questions roofers ask about profit

Is a roofing business profitable?

It can be, but nothing guarantees it. A roofing company is profitable when gross profit from its jobs covers overhead, a fair wage for the owner, and taxes, with something left over. The only way to know about yours is to track job costs and overhead every month.

How much profit do roofing companies make?

There’s no single official figure to compare against. The Bureau of Labor Statistics publishes what roofers earn, not what roofing companies keep, and the averages you see online come from private surveys. Your own net margin, worked out from your books, is the number that matters.

How much do roofing companies make per roof?

It depends on the job, the market, and your costs. To find yours, take the price of a finished job, subtract its actual materials, labor, disposal, permits, and subs, and that’s your gross profit on that roof. Overhead still has to come out of it.

What is a good gross margin for a roofing company?

Good is whatever covers your overhead and owner’s pay and still leaves profit. Work backward: divide your monthly overhead by the revenue you can realistically finish in a month, and that’s the lowest gross margin that breaks even. Price above it.

Get started

Want help with your roofing marketing?

Tell us about your company and the plan you're leaning toward. We'll reach out to talk through your market, then get your new website and marketing started.

Every plan includes

  • A professional roofing website, live as long as your plan is paid (or we work on the one you have)
  • On-page SEO every month, plus Google Business Profile management
  • New SEO articles every month, with more on bigger plans
  • A monthly report on website performance
  • Plans from $500 a month, with a 3-month minimum
What do you need help with?

No spam. By sending this, you're asking us to call or email you about getting started, and that's all we'll use it for. Privacy policy