How to Price Roofing Jobs for Profit, Not Just to Win the Bid
On this page
Most roofing companies do not go broke because they cannot sell. They go broke because they sell too well at the wrong price. A crew that closes nine out of ten roofs is usually a crew that is leaving money on every single one of them, and when the season turns slow and the backlog dries up, there is nothing in the bank to absorb it. Pricing to win feels like winning. Pricing for profit is what keeps the lights on in February.
The difference between those two is not a magic number or a secret markup that the big shops know and you do not. It is a discipline: you build the price from your real costs up, you recover every dollar of overhead you actually spend, you decide on a margin before you ever look at the customer, and you hold that line even when the homeowner flinches. That sounds simple. It is not, because every part of it has a place where contractors quietly lie to themselves, and the cumulative effect of those small lies is a P&L that says you are busy and broke at the same time.
What follows is the full mechanics of pricing a roof so it actually pays you. We will cover how to take off a roof and build true job cost, the difference between markup and margin (which is where a shocking number of owners lose their shirt without knowing it), how to figure out what your overhead recovery number really is, how to price for different situations from a simple reroof to a storm-restoration scope, when to walk, and how to tell whether the jobs you already closed made money or just made noise. There is real math here with worked examples you can run on your own numbers tonight.
Why "price to win" quietly kills roofing companies
Price-to-win is seductive because the feedback loop is fast and pleasant. You drop the number, the homeowner says yes, you book the job, the crew stays busy, and the phone keeps ringing because your reputation as "the affordable one" spreads. Every signal you get in the short term tells you that you are doing it right.
The problem is that the feedback loop on profit is slow and invisible. You do not feel an under-priced job on the day you sign it. You feel it three weeks later when the deck turned out to have two layers of rot you did not budget, or when the crew took five days instead of three, or when the supplier raised bundle prices between your estimate and your order. By then the job is sold at a fixed price and you eat the difference. Stack twenty of those across a season and the gap is your entire profit, gone, with nothing to show except a busy schedule.
There is a specific trap worth naming. A roofing business has two kinds of costs. Job costs (also called direct costs or cost of goods sold) are the dollars you spend because that specific roof exists: shingles, underlayment, drip edge, labor to install it, the dumpster, the permit. Overhead is the dollars you spend whether or not that roof exists: your salary, the office, the truck payments, insurance, the estimator's pay, software, fuel for the sales truck, the phone system. When you "price to win," you almost always price to cover job costs plus a thin slice on top, and you tell yourself the slice is profit. It is not profit. The slice has to pay overhead first. Profit is only what is left after both job cost and overhead are fully covered.
The rest of this comes down to making sure that order of operations is never violated: cost, then overhead, then profit, every time, on purpose.
The four numbers every roofing price is built from
Before any pricing method makes sense, you need to be fluent in four numbers and never confuse them.
- Job cost (direct cost): everything you spend specifically to deliver this roof. Materials, install labor, equipment rental, dumpster, permit, crane if needed, warranty registration fee. If the job vanished, these dollars would not be spent.
- Overhead: the cost of being in business at all, spread across all your jobs. Office, owner pay, admin pay, sales pay, insurance, vehicles, marketing, software, tools, taxes on the business. These dollars get spent whether you sell one roof this month or forty.
- Net profit: what you keep after job cost AND overhead are both paid. This is the reward for risk and the money that funds growth, slow seasons, and your retirement. It is not your salary; your salary is overhead.
- Price (selling price): what the customer pays. Price has to equal job cost + overhead recovery + profit. If it does not, one of those three is being shorted, and it is almost always profit.
Write these four on a whiteboard. Most pricing mistakes are really just one of these numbers leaking into another: owners who count their own pay as profit, owners who forget overhead entirely, owners who confuse the markup they applied with the margin they actually earned.
Step one: a takeoff that does not lie to you
You cannot price what you have not measured, and you cannot measure off a gut feeling. A real takeoff converts a roof into a precise bill of materials and a labor estimate. Sloppy takeoffs are the single most common reason a "good price" turns into a loss.
Measure the actual roof, not the footprint
The number that drives everything is roofing squares. One square = 100 square feet of roof surface. The mistake beginners make is measuring the building footprint and forgetting that a pitched roof has more surface area than the ground it covers. A 2,000 square-foot footprint on a 6/12 pitch is roughly 2,236 square feet of roof before you add anything, because the slope stretches it.
You get roof area three ways:
- Aerial measurement reports (the dominant method now). A report returns total area, pitch, ridge, hip, valley, rake, eave, and step-flashing lengths, usually within a percent or two of a hand measurement. Budget the report cost as a job cost.
- Hand measurement on the roof or from the ground with a pitch gauge, then apply a slope multiplier. For a 6/12 pitch the multiplier is about 1.118; for 8/12 about 1.202; for 12/12 about 1.414. Multiply footprint area by the multiplier to get true roof area.
- Plan takeoff for new construction, scaled off architectural drawings.
Whichever you use, you want the linear footage of every roof feature and not only the field area, because flashing, ridge cap, starter, drip edge, and ice-and-water are all priced per linear foot and they add up fast on a cut-up roof.
Add waste honestly
Waste factor is where optimism creeps in. A simple gable roof with long straight runs might waste 7 to 10 percent. A complex hip roof with multiple valleys, dormers, and chimneys can waste 15 to 20 percent or more because every valley and every hip eats cut shingles. If you order 10 percent waste on a roof that needs 18, the crew runs short, somebody makes a supply run, the job stalls, and your labor cost balloons while your material cost was understated from the start. Match the waste factor to the roof's geometry, not to a default you always use.
Build the bill of materials line by line
A roof is not "shingles." Pricing only the field shingles and eyeballing the rest is how margin disappears. A residential asphalt reroof bill of materials typically includes, at minimum:
- Field shingles (squares + waste)
- Starter strip (eave + rake linear feet)
- Hip and ridge cap shingles (ridge + hip linear feet)
- Synthetic underlayment (squares)
- Ice-and-water shield (valleys, eaves per code, around penetrations)
- Drip edge (eave + rake linear feet)
- Step flashing and counter-flashing (walls, chimneys)
- Pipe boots / flashing for every penetration
- Ridge vent or other ventilation, plus any new intake
- Roofing nails or coil nails (volume scales with squares)
- Sealant, caulk, plastic cement
- Replacement decking allowance (you will not know rot until tear-off, so carry a contingency)
- Dumpster / disposal
- Permit and any required inspection fees
Leave one of these off and you have an instant hole in the job. The decking allowance deserves special attention: you cannot see what is under the old roof, so either carry a stated allowance for a realistic number of sheets and write into the contract that additional decking is billed per sheet at a stated rate, or you will be eating rot on every old roof you touch.
Step two: cost your labor like it can hurt you
Materials are easy to price because the supplier hands you a number. Labor is where contractors get destroyed, because labor is variable, weather-dependent, and easy to underestimate from the comfort of a truck cab.
Know your fully burdened labor rate
The wage you pay a roofer is not what that roofer costs you. The burdened labor rate adds payroll taxes, workers' compensation (which in roofing is one of the highest-rate classifications in the country because of fall risk), liability insurance allocation, and any benefits. Workers' comp alone can add a large percentage on top of base wage depending on your state and experience modifier. If you bid using the bare hourly wage, you are under-costing every labor hour by a significant margin before the crew even climbs the ladder.
A clean way to handle this: take a crew member's annual wage, add the employer payroll taxes, the workers' comp premium attributable to that person, and benefits, then divide by the number of productive field hours they actually work in a year, not the 2,080 clock hours. Drive time, rain days, shop time, and equipment maintenance are not billable production. Your real productive-hours number is lower than you think, which makes your true cost per productive hour higher than you think.
Estimate labor by production rate, then sanity-check by the job
There are two ways to estimate install labor, and good estimators use both as a cross-check.
- Per-square production rate: crews install at a measurable pace, expressed in squares per crew per day. A clean walkable gable might run fast; a steep, cut-up, two-story hip with a tear-off of two existing layers runs far slower. Multiply your squares by your dollars-per-square install cost (whether you pay your crew by the square or convert their hourly burdened cost into a per-square figure).
- Total-hours buildup: estimate tear-off hours, dry-in hours, install hours, flashing/detail hours, and cleanup hours separately, then multiply total hours by your burdened rate. Detail work (chimneys, skylights, wall flashing, multiple valleys) is wildly more labor-dense than open field, and a pure per-square method hides that. The hours buildup catches it.
When the two methods disagree by a lot, the roof is telling you it is complex, and the complexity is exactly where price-to-win bids lose money.
Build a per-square install matrix
Mature shops keep a labor matrix that adjusts the install rate for the variables that actually drive crew speed. Build your own from your job history:
| Factor | Easier (lower cost) | Harder (higher cost) |
|---|---|---|
| Pitch | Walkable, up to 6/12 | Steep, 9/12 and above (requires staging/harness slowdown) |
| Stories | Single story | Two-plus stories, hard ladder access |
| Layers to remove | One layer | Two or more layers, or heavy architectural over wood shake |
| Roof complexity | Simple gable, few penetrations | Many valleys, hips, dormers, skylights, chimneys |
| Access | Driveway to dumpster, open yard | Tight lot, landscaping to protect, no dumpster placement |
| Deck condition | Sound plywood/OSB | Plank decking, gaps, widespread rot |
Each harder condition adds a known increment to your per-square cost. The point is to stop pricing every roof as if it were the easy one in your portfolio.
Step three: markup vs. margin — the mistake that bankrupts the busy
This is the single most expensive misunderstanding in the trades, so slow down here. Markup and margin are not the same thing, and pricing as if they are means you are systematically underpricing every job.
Markup is a multiplier you apply to your cost. Margin (gross margin) is the percentage of the selling price that is gross profit. They describe the same dollars from opposite ends, and the conversion is not intuitive.
The formula that matters:
Selling price = Job cost / (1 - desired margin)
NOT job cost multiplied by (1 + desired margin). If you want a 40 percent gross margin and you simply add 40 percent to your cost, you do not get a 40 percent margin. You get about 28.6 percent. You just gave away more than a quarter of your intended profit and you may not even know it.
Work the example. Job cost is $10,000 and you want a 40 percent gross margin.
- Wrong (markup as if it were margin): $10,000 × 1.40 = $14,000 price. Gross profit = $4,000. As a percent of the $14,000 price, that is 28.6 percent. You missed your target badly.
- Right (margin formula): $10,000 / (1 - 0.40) = $10,000 / 0.60 = $16,667 price. Gross profit = $6,667, which is 40 percent of $16,667. Target hit.
The gap between $14,000 and $16,667 is $2,667 on a single job. On a busy crew running dozens of roofs a year, that error is the whole company's profit walking out the door, one cheerful handshake at a time.
Here is the markup multiplier you actually need for a given target gross margin:
| Target gross margin | Markup multiplier on cost | Markup as a percent |
|---|---|---|
| 20% | 1.25 | 25% |
| 25% | 1.333 | 33.3% |
| 30% | 1.429 | 42.9% |
| 35% | 1.538 | 53.8% |
| 40% | 1.667 | 66.7% |
| 45% | 1.818 | 81.8% |
| 50% | 2.00 | 100% |
Notice that to earn a 50 percent margin you have to double your cost — a 100 percent markup. Anyone who tells you they "mark up 50 percent" is earning a 33 percent margin, full stop. Print this table and tape it to the estimating desk. The quickest profit improvement most shops can make is simply to stop confusing these two numbers.
Step four: recover your overhead on purpose, not by accident
Gross margin is the money left after job cost. Out of that gross margin you must pay all overhead, and only what remains is net profit. So the central planning question is: what gross margin do I need so that overhead is fully paid and there is profit left over? You cannot answer that without knowing your overhead recovery number.
Calculate your overhead rate
Add up every overhead dollar you expect to spend in a year. Be ruthless and complete:
- Owner and admin salaries (yes, your pay is overhead)
- Office rent, utilities, internet, phones
- General liability and umbrella insurance, bonding
- Vehicles not assigned to a specific job: payments, fuel, maintenance, insurance
- Sales and estimating payroll, plus commissions if you treat them as overhead
- Marketing and advertising
- Software (CRM, estimating, accounting, measurement subscriptions)
- Small tools, equipment depreciation
- Accounting, legal, licensing, association dues
- Bad debt and warranty reserve
Now divide annual overhead by your annual revenue (or your projected revenue) to get an overhead rate as a percent of sales. If you spend $300,000 on overhead and do $1,500,000 in revenue, your overhead rate is 20 percent. That means every job has to contribute, on average, 20 percent of its price toward overhead before a dollar of profit exists.
Set the margin so overhead is covered and profit is intentional
If your overhead runs 20 percent of revenue and you want a 10 percent net profit, your required gross margin is 30 percent (20 + 10). Then price every job using the margin formula at 30 percent (or higher on the harder jobs). Net profit stops being whatever falls out at year-end and becomes a number you chose on purpose.
A quick reference for required gross margin:
| Overhead rate | Target net profit | Required gross margin |
|---|---|---|
| 15% | 10% | 25% |
| 20% | 10% | 30% |
| 20% | 15% | 35% |
| 25% | 10% | 35% |
| 25% | 15% | 40% |
| 30% | 12% | 42% |
The danger of a per-square-only price is that it has no overhead logic baked in. "Everybody around here charges $X a square" tells you nothing about whether $X covers your overhead structure. A shop with two trucks and a home office has a very different overhead rate than a shop with a showroom, a sales team, and a marketing budget, and they cannot survive on the same per-square number.
Step five: put it together — a full worked example
Let us price a real residential reroof from the ground up so you can see every number connect.
The roof: 28 squares, 7/12 pitch, two-story, single layer of architectural shingles to remove, one chimney, two valleys, four penetrations, a ridge vent, sound decking expected with a small contingency.
Material cost buildup (illustrative — use your own supplier pricing):
| Item | Quantity | Unit cost | Line cost |
|---|---|---|---|
| Architectural shingles + 12% waste | 31.4 sq | $110/sq | $3,454 |
| Synthetic underlayment | 28 sq | $18/sq | $504 |
| Ice-and-water (valleys + eaves) | 6 rolls | $95/roll | $570 |
| Starter strip | 5 boxes | $60/box | $300 |
| Hip/ridge cap | 4 bundles | $55/bundle | $220 |
| Drip edge | 18 pcs | $11/pc | $198 |
| Step + counter flashing | lot | — | $160 |
| Pipe boots / penetration flashing | 4 | $22 each | $88 |
| Ridge vent | 40 lf | $4.50/lf | $180 |
| Nails, sealant, misc. | lot | — | $240 |
| Decking contingency | 4 sheets | $55/sheet | $220 |
| Material subtotal | $6,134 |
Labor and other direct costs:
| Item | Basis | Line cost |
|---|---|---|
| Tear-off + install labor (burdened) | 28 sq × $135/sq | $3,780 |
| Steep/two-story adder | per matrix | $420 |
| Dumpster / disposal | flat | $525 |
| Permit + inspection | flat | $210 |
| Aerial measurement report | flat | $25 |
| Labor + direct subtotal | $4,960 |
Total job cost = $6,134 + $4,960 = $11,094.
Now apply pricing. Say your overhead rate is 22 percent and your target net profit is 12 percent, so your required gross margin is 34 percent.
Price = $11,094 / (1 - 0.34) = $11,094 / 0.66 = $16,809
Round to a clean $16,800. Out of that price:
- Job cost: $11,094
- Gross profit: $5,706 (34 percent of price)
- Overhead recovery (22 percent of $16,800): about $3,696
- Net profit (the remainder): about $2,010, roughly 12 percent
Now look at what the "price to win" version would have done. The owner who marks up cost by 34 percent (thinking that equals a 34 percent margin) prices it at $11,094 × 1.34 = $14,866. Gross profit is only $3,772, which is 25 percent of the price, not 34. After paying $3,270 of overhead (22 percent of $14,866), net profit is about $502 — a quarter of what it should have been — and that is before a single thing goes wrong on the job. One rotten valley or one slow day and that $502 is a loss. Same roof, same crew, same materials. The only difference is whether the owner understood the margin formula.
Pricing change orders and the unknowns you cannot see
No roof reveals everything from the ground, and the dollars that turn a profitable bid into a loss usually hide under the old shingles. Decking rot, failed flashing buried in a wall, a chimney cricket that was never there, double or triple layers you did not expect, brittle plank decking that will not hold a nail — all of it surfaces after tear-off, after the price is signed. If your contract has no mechanism to bill for the unknown, every surprise comes straight out of your margin.
Build the unknowns into the paperwork, not into your hope. There are two clean tools:
- Stated unit pricing for predictable surprises. Decking is the classic example. Carry a small contingency in the base price, then write a line into the contract: "Replacement of deteriorated roof decking beyond the included allowance billed at $X per sheet, including labor." Now rot is a billable change order at a price the homeowner already agreed to, not an argument in the driveway.
- A signed change-order process for everything else. Any scope that appears after tear-off — added ventilation, a flashing rebuild, structural repair — gets documented with a photo, a written price, and the homeowner's signature before the crew proceeds. Price change orders at your full margin, not at cost. A change order is real work with real risk; it earns the same markup as the original scope. Contractors who do change orders "at cost to be nice" are giving away the most profitable, least competitive work they will ever quote, because at that moment there is no competing bid.
The discipline is simple: never absorb an unknown silently. Either it was contingency you priced for, or it is a documented change order the customer signed. There is no third bucket where it quietly eats your profit.
Deposits, draws, and the cost of carrying a job
A price can be correct on paper and still hurt you if the cash timing is wrong. Roofing is material-heavy and labor-heavy up front: you pay the supplier and the crew long before some customers pay you. If you float that gap on a credit line or out of your own working capital, the financing cost is real and it belongs in your pricing.
Structure payment so your cash is never deeply underwater on a job. A common residential structure is a deposit at signing sized to cover or nearly cover material, a progress payment at material delivery or job start, and the balance at completion after the final walk and any inspection. Know your state's limits — some states cap home-improvement deposits — and follow them. For commercial and builder work where you carry receivables for 60 or 90 days, treat that carry as a cost: either raise the margin on those jobs or load the financing into your overhead so the per-job price reflects it. A big number that pays in 90 days is not the same as the same number that pays at completion, and pricing them identically is how cash-rich-on-paper contractors run out of money.
Selling the price you set without caving
Pricing for profit only works if you can hold the number in the homeowner's kitchen. The moment a contractor hears "that's higher than the other guy," the untrained instinct is to discount, and a single reflexive "well, I could do it for..." can vaporize the entire margin you built so carefully.
Hold the line by selling value, not price. Show the homeowner what is in your scope that the cheap bid quietly left out: the synthetic underlayment instead of felt, ice-and-water where code and good practice require it, the full flashing rebuild instead of reusing rusted metal, the manufacturer-certified installation that keeps the warranty valid, the documented decking process, the disposal and the cleanup. A cheaper bid is almost always a smaller scope or a thinner-overhead competitor who will not be around to honor the warranty, and your job is to make those differences visible rather than apologize for your number.
If you must move on price, change the scope, not the margin. Drop the upgraded ridge vent, switch a shingle line, narrow the work — give the customer a lower price for less roof, never the same roof for less money. Holding scope while cutting price is just handing over your profit. And keep a floor in your head before you walk in: the job cost is the number you can never go below, and if the customer's budget lives under your cost, that is a walk, not a negotiation.
Pricing different job types: the method holds, the inputs change
The cost → overhead → profit discipline never changes. What changes is the inputs and the contingencies.
Simple residential reroof
The most predictable work. Tight takeoff, accurate decking contingency, and your standard margin. The main risk is hidden rot and access surprises, so always inspect from the ground for sag, write the decking allowance into the contract, and confirm dumpster placement before you quote.
Complex / steep / architectural roofs
Steep slopes, slate, tile, metal, and heavily cut-up roofs are not your bread-and-butter reroof with a bigger number. Production rates collapse, safety staging adds real cost, and material handling is slower. Use the hours-buildup method, not the per-square shortcut, and carry a higher margin because the variance is higher. Risk and margin should move together: the more uncertain the job, the more cushion the price needs.
New-construction and builder work
Volume and predictability, but thin margins and slow pay. The trap is accepting a builder's per-square number that was set by your overhead-light competitor. If your overhead rate cannot live at that price, the volume just accelerates your losses. Builder work can be excellent, but only if you have run your own overhead math and the price clears it.
Commercial low-slope (TPO, EPDM, modified)
Different material science, different labor, different detailing entirely, plus longer sales cycles and retention/payment terms that tie up cash. Price the cash cost too: if you carry receivables for 60 to 90 days, that financing cost is real and belongs in your overhead or your margin. Do not let a big commercial number dazzle you into ignoring the carrying cost.
Insurance and storm-restoration work
This is its own world, and it is where the most contractors get into both pricing trouble and legal trouble. Two things have to stay separate in your head: how you price and document the work, and where the line is on the claim.
First, the legal line, because crossing it can cost you your license. As a roofing contractor you may inspect the roof, document storm damage thoroughly, and prepare an accurate repair estimate for the scope of work you would perform. You may state facts about your own scope to the carrier. You may not, for a fee, negotiate or "handle" the homeowner's claim, interpret their policy or what it covers, promise a specific payout or that the claim will be approved, promise that the deductible will be waived or absorbed, advertise a "free roof," or represent the homeowner against their insurer. Those activities are unlicensed public adjusting in most states, and the marketing language around them is exactly what regulators and carriers look for. The safe frame is simple: you document the damage with photographs and measurements, you write an accurate, line-item repair estimate aligned to standard estimating practice, and you hand it to the homeowner. The homeowner files the claim. The insurer decides coverage. Keep your role on the documentation and estimate side and you stay clean.
The do-not-say list — train your whole team on this:
- Do not say "we handle your claim" or "we deal with the insurance company for you."
- Do not say "your roof is covered" or "this will be approved."
- Do not promise any specific dollar payout.
- Do not say "we'll waive your deductible," "eat the deductible," or "the deductible is gone."
- Do not advertise a "free roof" or "no out-of-pocket cost."
- Do not interpret the homeowner's policy language or tell them what their coverage means.
What you can and should do on the pricing side: build your estimate to your real cost, just like any other job. Storm work that is documented and estimated properly still has to clear your overhead and your margin. A line-item estimate that reflects accurate quantities, current material pricing, code-required items, and your true labor cost protects you whether the homeowner pays cash or files a claim. Do not let "it's an insurance job" tempt you into sloppier costing — if anything, the documentation standard is higher because a third party may review every line. Photograph everything, measure precisely, note code-driven requirements (ice-and-water coverage, ventilation, decking), and keep the estimate factual and defensible.
Knowing which roofs are actually worth your pricing time
Pricing discipline solves the problem of underpricing the jobs you bid. There is a second, quieter profit leak: spending your best estimating hours bidding roofs that were never going to buy, or that were not due for replacement in the first place. Every hour your estimator spends measuring and pricing a roof that is five years from needing anything is an overhead dollar with no revenue against it, and it makes every other job carry more of the load.
This is where knowing which roofs are genuinely due changes the economics of where you point your sales effort. Two signals separate a roof that is a real opportunity from one that is a tire-kick: the roof's age and the weather it has actually taken. An older roof that also sits in the swath of a recent hail or high-wind event is far more likely to be at end of life and worth a precise, profitable bid. A newer roof, or an older one that has not seen meaningful weather, is a lower-probability conversation.
This is the gap RoofPredict is built to close. It estimates a roof-age range for a given address from aerial imagery — a range, not a build date, because you cannot read an exact install year off a photo — and it models storm exposure per roof so you can see which addresses took the kind of wind or hail that ages a roof out faster. You can rank a neighborhood, a route, or your own mailing list by which roofs are most likely due, and enrich your existing CRM with those roof-age and storm signals so your estimators spend their hours on the doors most likely to convert at a healthy price. To be clear about the limits: a roof-age range is an estimate, not a guarantee, and a storm model gives you odds, not proof that a specific roof is damaged — you still inspect and document every roof yourself. What it does is stop you from spreading your pricing effort evenly across a street where only a third of the roofs are real prospects. Better targeting means you can hold your margin instead of discounting to chase volume, because you are bidding fewer, better-qualified roofs.
The pricing connection is direct: when your pipeline is full of genuinely due roofs, you do not feel the pressure to cut price to keep the crew busy. The desperation discount — the single biggest enemy of margin — comes from an empty schedule. Fill the schedule with the right roofs and you can afford to price for profit and walk from the ones that will not pay.
When to walk away from a bid
The hardest pricing skill is the no. A profitable shop walks away from work on purpose, and it walks for specific, repeatable reasons:
- The customer is shopping only on price. If they have three bids and the only question is who is cheapest, the winner is whoever underpriced by the most. That is not your customer. Let your competitor learn the lesson on that roof.
- The scope keeps growing while the budget does not. "Can you also do the gutters, and the soffit, and look at the chimney, and we only have $X." Scope creep against a fixed budget is a loss in the making.
- The access or complexity blows past your matrix. If the only way to win is to pretend the steep two-story with no dumpster access prices like a ranch, walk.
- The payment terms put your cash at risk. Slow-pay builders or commercial terms that tie up your money for months carry a financing cost; if the margin does not cover that cost, the volume is a liability.
- Your gut says the customer will be a problem. Documentation disputes, change-order fights, and warranty drama all cost money that never shows up in the estimate. Difficult customers are an unpriced overhead.
Walking away is not lost revenue; it is protected capacity. Every slot your crew spends on an unprofitable roof is a slot it cannot spend on a profitable one. Saying no to the wrong job is how you say yes to the right one.
After the sale: did the job actually make money?
Pricing for profit is only half the loop. The other half is checking, on every job, whether the price you set survived contact with reality. This is job costing, and shops that skip it are flying blind no matter how careful their estimating is.
Run a job cost recap on every roof
When a job closes out, put the estimate next to the actuals:
| Category | Estimated | Actual | Variance |
|---|---|---|---|
| Materials | |||
| Install labor | |||
| Dumpster / disposal | |||
| Permit / fees | |||
| Decking / extras | |||
| Total job cost | |||
| Price (revenue) | |||
| Gross profit | |||
| Gross margin % |
The variance column is the teacher. If material always comes in over, your waste factors or supplier pricing are stale. If labor always overruns on steep roofs, your matrix adder is too low. If decking blows the contingency on old roofs, raise the allowance or tighten the contract language. Job costing turns each finished roof into better pricing for the next one, and over a season it is how a shop's estimates get sharp.
Watch margin, not only revenue
Revenue is vanity; margin is sanity. A million-dollar year at a 5 percent net is a worse business than a $700,000 year at 12 percent, and it is a far more fragile one. Track gross margin by job and by crew, and track net profit monthly against your plan. If revenue is climbing but margin is sliding, you are pricing to win again and it is time to re-anchor on the cost → overhead → profit discipline.
Re-price on a schedule, not after a crisis
Material costs move, labor costs move, fuel and insurance move, and your overhead drifts up as you add trucks and staff. If your per-square numbers and your overhead rate are a year old, your prices are wrong right now. Re-run your overhead rate at least annually and update material pricing every time your supplier changes a sheet. The shops that get caught underwater are usually the ones whose pricing was set in a different cost environment and never revisited.
The repeatable pricing workflow
Put it all together into a checklist your team runs on every single bid, no exceptions:
- Measure accurately. Aerial report or hand measurement with the correct slope multiplier. Capture field area and every linear-foot feature.
- Set the waste factor to the roof's geometry, not a default.
- Build the full bill of materials, every accessory and a realistic decking contingency.
- Cost labor with your burdened rate and your complexity matrix; cross-check per-square against hours buildup.
- Add all direct costs: dumpster, permit, report, equipment, crane if needed.
- Total the job cost — this is your floor, the price you can never go below.
- Apply the margin formula: Price = Job cost / (1 - required gross margin). Required margin = overhead rate + target net profit. Never confuse markup with margin.
- Sanity-check the price against the job's risk; raise the margin on high-variance roofs.
- Decide if you even want it. Apply the walk-away criteria before you present.
- Present with confidence, sell on value and documentation quality, and hold your number.
- Job-cost the roof when it closes and feed the variances back into your next estimate.
Run that loop on every roof and pricing stops being a gut call you make under pressure in a homeowner's kitchen. It becomes a process that protects your margin whether you are slammed in storm season or scratching for work in the slow months.
The mindset shift
The contractor who prices to win is optimizing for a feeling — the yes, the booked job, the busy crew. The contractor who prices for profit is optimizing for a number that survives the year. Those are different businesses, and only one of them is still standing after a slow season, a bad-debt write-off, or a supplier price spike.
None of this requires charging more than your work is worth. It requires charging what your work actually costs to deliver, plus the overhead it takes to stay in business, plus a profit you chose on purpose. Do the takeoff honestly. Burden your labor. Use the margin formula, not the markup trap. Recover your overhead by design. Point your estimating hours at roofs that are genuinely due so you are never pricing from desperation. Walk from the work that cannot pay. And check, on every job, whether the price held.
Do that and you will still win plenty of bids — you will just win the ones that pay you. That is the whole point.
FAQ
What is the difference between markup and margin in roofing pricing?
Markup is the percentage you add on top of your cost; margin is the percentage of the final selling price that is gross profit. They are not equal. If your job cost is $10,000 and you simply add 40 percent markup, you get a $14,000 price and only a 28.6 percent margin, not 40. To actually earn a 40 percent margin you price with the formula Price = Cost / (1 - 0.40) = $16,667. Confusing the two means underpricing every job, which is one of the most common reasons busy roofers stay broke.
What gross margin should a roofing company target?
There is no universal number, because the right margin depends on your overhead rate plus the net profit you want. Required gross margin = overhead rate as a percent of sales + target net profit. If your overhead runs 22 percent and you want 12 percent net, you need a 34 percent gross margin. Higher-risk, steeper, or more complex roofs should carry a higher margin than your simple reroofs because the cost variance is greater.
How do I calculate my overhead rate?
Add up every dollar you spend that is not tied to a specific job for the year: owner and admin pay, office, insurance, non-job vehicles, sales and estimating payroll, marketing, software, tools, accounting, and licensing. Divide that total by your annual revenue. If you spend $300,000 on overhead and do $1,500,000 in revenue, your overhead rate is 20 percent, meaning every job must contribute at least 20 percent of its price toward overhead before any profit exists.
Is my own salary as the owner part of overhead or part of profit?
Your salary is overhead, not profit. Pay yourself a real market wage for the work you do and count it in your overhead calculation. Net profit is what remains after job cost and all overhead, including your pay, are covered. Counting your salary as profit is a classic way to make a struggling business look healthy on paper while it slowly runs out of cash.
How much waste factor should I add to a roofing material order?
Match it to the roof's geometry. A simple gable with long straight runs may waste only 7 to 10 percent, while a cut-up hip roof with multiple valleys, dormers, and chimneys can waste 15 to 20 percent or more because every valley and hip consumes cut shingles. Using a flat default on a complex roof leaves the crew short mid-job, triggers supply runs, and inflates labor cost while the material was understated from the start.
Why does my burdened labor rate matter for pricing?
Because the wage you pay is not what the worker costs you. The burdened rate adds payroll taxes, workers' compensation (which is among the highest-rate classifications for roofing because of fall risk), insurance allocation, and benefits. It should also be divided over productive field hours, not total clock hours, since rain days, drive time, and shop time are not billable. Bidding off the bare wage under-costs every labor hour and turns apparently profitable jobs into losers.
How should I price storm and insurance roofing jobs without getting into legal trouble?
Price the work itself the same disciplined way as any job: accurate takeoff, true cost, overhead recovery, and your margin, with thorough photo and measurement documentation. Stay strictly on the documentation and estimate side of the claim. You may inspect, document damage, and write an accurate repair estimate for your own scope and hand it to the homeowner. You may not, for a fee, negotiate or handle the claim, interpret the policy, promise a payout or approval, waive or absorb the deductible, or advertise a free roof. The homeowner files and the insurer decides coverage.
When should I walk away from a roofing bid?
Walk when the customer is shopping only on price, when scope keeps growing against a fixed budget, when access or complexity blows past your labor matrix and the only way to win is to underprice, when payment terms tie up your cash without margin to cover the carrying cost, or when your read on the customer says they will be a dispute waiting to happen. Walking away protects crew capacity for profitable work; an unprofitable job blocks a slot a profitable one could have filled.
How can I tell which roofs are worth bidding so I do not waste estimating hours?
Focus your estimating time on roofs that are genuinely near end of life, which mostly comes down to roof age plus the weather the roof has taken. An older roof in the path of a recent hail or high-wind event is a far stronger prospect than a newer roof or one that has seen no meaningful storms. Tools like RoofPredict estimate a roof-age range from aerial imagery and model storm exposure per address so you can rank routes and lists by which roofs are most likely due and stop spreading effort evenly across doors that were never going to buy.
What is job costing and why should I do it on every roof?
Job costing is comparing your estimate to the actual costs after a job closes: materials, labor, dumpster, permit, and extras versus what you bid, with a variance for each. It tells you whether the price you set actually held. Patterns in the variances sharpen your next estimate: if material always runs over, your waste or supplier pricing is stale; if steep roofs always overrun on labor, your complexity adder is too low. Skipping it means you never learn whether your pricing is working.
The Roofline by RoofPredict
Stay Ahead of Roofing Market Changes
Join The Roofline by RoofPredict for weekly roofing intelligence: material price signals, storm demand, insurance and regulatory updates, sales tactics, and local contractor opportunities.
Sources
- NRCA Roofing Manual and Industry Resources — nrca.net
- IBHS FORTIFIED Roof and Severe Weather Research — ibhs.org
- NOAA National Weather Service Storm Data — weather.gov
- NOAA Storm Prediction Center Hail and Wind Reports — spc.noaa.gov
- OSHA Fall Protection in Construction (1926 Subpart M) — osha.gov
- International Residential Code (IRC) Roof Provisions, ICC — iccsafe.org
- U.S. Bureau of Labor Statistics — Roofers Occupational Outlook — bls.gov
- U.S. Census Bureau — Construction Spending and Business Statistics — census.gov
- Federal Trade Commission — Advertising and Marketing Guidance for Businesses — ftc.gov
- Texas Department of Insurance — Public Adjusters and Storm Claims — tdi.texas.gov
- National Association of Insurance Commissioners — Public Adjuster Licensing — naic.org
- IRS — Cost of Goods Sold and Small Business Accounting (Publication 334) — irs.gov
- U.S. Small Business Administration — Pricing and Profit Guidance — sba.gov
- RoofPredict — roofpredict.com
Related Articles
Nearmap vs EagleView for Roofing Contractors: A Field-Tested Breakdown
Two aerial imagery platforms, two very different jobs. Here is how Nearmap and EagleView actually stack up across measurements, imagery, sales, and storm work for a roofing crew.
Roofing Claim Revenue Cycle Management, Explained
The money in storm roofing leaks in the murky middle between selling a job and collecting the final check. Here is the practitioner's system for managing every stage of the claim revenue cycle — legally and profitably.
How Much Money Roofers Leave on Insurance Claims (And Where It Actually Leaks)
A line-by-line breakdown of where restoration roofers quietly lose 10-30% of legitimately earned revenue, and the documentation discipline that recovers it.