How to Price Roofing Jobs Accurately: 5 Controls That Make Bids Tighter
On this page
To price a roofing job accurately, you do not start with a per-square rate. You start with the roof. Measure every plane and pitch, build a line-by-line direct cost from a current supplier quote and your own labor history, add a real share of overhead, then apply a markup that produces the profit margin you actually need to keep. The last step is writing a proposal where the homeowner sees exactly what they are buying. Skip any one of those and the bid is a guess wearing a number.
The reason roofing pricing goes wrong so often is that the visible roof is only part of the job. Two houses can both measure 28 squares and cost thousands of dollars apart once you account for pitch, access, tear-off layers, decking condition, valley and flashing detail, ventilation, disposal, code-driven items, and the fall protection your crew legally has to use. A flat rate buries those differences until production starts. That is the worst possible moment to find them, because now the margin is already promised and the change-order conversation feels like an ambush to the customer.
Here is the short version of doing it right. Treat pricing as five controls, run in order, every time: (1) price the measured roof, not a sales shortcut; (2) separate direct costs before you add a dime of markup; (3) allocate overhead instead of guessing at profit; (4) convert markup to margin with the correct formula so you keep what you think you are keeping; and (5) make every assumption visible in the proposal. Run those five and you can defend your price without sounding defensive, and you can tell a good job from a bad one before the crew rolls.
This is written for the estimator and the owner who signs the checks, not the spreadsheet vendor. The numbers cited come from public, named sources you can check. Where there is no honest source for a figure, the dynamic is described plainly instead. Roofing pricing is local, so treat every benchmark as a starting point to compare against your own job-cost history, not a rate to copy.
Why per-square pricing quietly loses money
A roofing square is 100 square feet of roof surface. It is a fine unit for talking about quantity. It is a terrible unit for setting a price, because the same number of squares can hide wildly different work.
Consider what a single per-square rate has to swallow at once: the steepness that slows the crew and forces fall-protection anchors, the number of valleys and hips that eat material and labor, the layers of old roofing that have to come off, the condition of the wood under those layers, the height and access that decide whether a ground crew or a lift is feasible, and the dump fees in that specific county. None of that lives in the square count.
The other quiet leak is overhead. When an owner picks a per-square number that "feels competitive," the office salaries, trucks, fuel, insurance, software, warranty callbacks, and marketing still have to be paid. If the rate does not carry them, the company can win plenty of work and still bleed cash. The U.S. Small Business Administration describes break-even as the point where total revenue equals total cost. For a roofer that is a warning light: a bid that does not cover direct cost plus a fair share of overhead plus target profit is not a win, even if it closes.
None of this means per-square thinking is useless. Experienced estimators carry per-square instincts and use them as a sanity check at the end. The mistake is using that instinct as the method. The instinct should confirm the build-up, not replace it. The five controls below are how you build the number from job facts so the per-square gut-check has something honest to confirm.
Control 1: Price the measured roof, not the sales shortcut
The first control is a clean measurement and condition file. Before anyone types a dollar figure, the estimate should rest on a real description of the roof: each plane, its pitch, and every linear and count item that drives material and labor.
Measure planes, pitch, and linear footage separately
Do not average a cut-up roof into one tidy rectangle. Break it into sections, because labor and waste track to geometry, not only to total area. A simple gable, a hip roof with four valleys, and a steep walkable-only roof can share a square count and price thousands apart.
A complete measurement names and quantifies:
- Field area by plane, with pitch noted per plane.
- Eaves and rakes (linear feet) for starter and drip edge.
- Ridges and hips (linear feet) for cap shingles and ridge vent.
- Valleys (linear feet) for valley metal or membrane and added cut waste.
- Wall and headwall tie-ins (linear feet) for step and counter flashing.
- Penetrations: pipe boots, vents, chimneys, skylights, satellite mounts, solar standoffs.
- Low-slope transitions that change the material system entirely.
Pitch matters for both safety and quantity. A roof's true surface area is larger than its footprint, and the multiplier grows with steepness. The relationships are fixed geometry: the pitch factor equals the square root of one plus the rise-over-run, squared. A few common values, documented across estimating references:
| Pitch (rise/12) | Approx. area multiplier | Field reality |
|---|---|---|
| 4/12 | 1.054 | Walkable, normal pace |
| 6/12 | 1.118 | Walkable for most crews |
| 8/12 | 1.202 | Slower, footing matters |
| 10/12 | 1.302 | Roof jacks/anchors typical |
| 12/12 | 1.414 | Steep; staging and rope, slow pace |
The practical point: an 8/12 roof has roughly 20 percent more surface than its flat footprint and a slower install pace and a harder safety setup. If your measurement ignores pitch, you have understated material and labor at the same time.
Tie the waste factor to the actual roof, not a habit
Waste is real material you pay for and cannot install. The widely cited industry baseline is a 10 percent waste factor on a simple roof, rising to 15 percent on cut-up roofs and as high as 20 percent on complex hip roofs with many valleys, skylights, and dressed-up details, per common estimating guidance. Architectural shingles on a straight gable waste differently than a roof full of valleys where every course gets cut twice.
Waste is not a fudge factor for a sloppy measurement. It is a known cost driven by geometry, material type, and install pattern. Tie it to the roof in front of you and write down why you chose it.
Use aerial measurement, then verify on site
Aerial and software measurements are useful for area and geometry and they save windshield time. They do not see soft decking, a hidden second layer of old roofing, rotted fascia, a tight side yard that kills your dump-trailer plan, fragile landscaping, blocked attic ventilation, or interior leak paths. A disciplined estimate uses aerial geometry, on-site photos, attic or interior notes where relevant, and a written scope. The aerial gives you the shape; your eyes and the homeowner's history give you the risk.
This is also where targeting and recordkeeping pay off before you ever quote. Knowing roughly how old a roof is, and whether a real storm event likely stressed it, helps a sales team decide which houses to chase and what to ask at the door. Contractors who use tools like RoofPredict lean on an estimated roof-age range and per-home storm exposure to prioritize the right homes and skip the brand-new roofs that will never buy. RoofPredict does not measure the roof, diagnose damage, or certify remaining life; it sharpens which doors are worth the estimator's time and keeps property context attached to the job so it is not scattered across texts and inboxes.
The deliverable for Control 1 is a measurement-and-condition summary a production manager could build from. If the bid says only "30 squares, shingle replacement," you have not priced a job. You have priced a shorthand that may not survive contact with the roof.
Control 2: Separate direct costs before adding markup
The second control is a direct-cost worksheet that lists every cost category on its own row before any markup or profit math happens. The point is to stop the estimator from hiding unknowns inside one blended number where nobody can audit them later.
Direct costs are the costs that exist because of this specific job and would disappear if the job did. Materials, field labor, equipment, disposal, permits, fall-protection setup, subcontractors, and job-specific services all belong here.
Build materials from a current quote, not a memory
Start materials from a current supplier quote or a price sheet you have checked against the scope this week. A full asphalt shingle takeoff is more than "shingles":
- Field shingles plus your chosen waste factor
- Starter strip (eaves and rakes)
- Hip and ridge cap
- Underlayment, type and coverage per code and manufacturer
- Ice barrier where required by code or specified
- Ridge vent or other exhaust, plus intake correction if needed
- Drip edge (eave and rake profiles)
- Valley metal or membrane
- Pipe boots, vents, and flashing kits
- Step and counter flashing for walls and chimneys
- Fasteners rated for the assembly and wind zone
- Sealants and cements
- A decking allowance with a defined unit price and inspection trigger
Underlayment and ice barrier are not optional line items to trim; they are code in most of the country. The 2021 IRC, Chapter 9 Roof Assemblies, requires underlayment conforming to the listed ASTM standards and, in regions with a history of ice damming, an ice barrier of two cemented layers or a self-adhering polymer-modified bitumen membrane running from the eave edge to at least 24 inches inside the exterior wall line. Asphalt shingles also carry a minimum slope: the code permits them down to 2:12 only with a double-underlayment system, and otherwise the practical floor is 4:12. If a low-slope porch or addition ties into a steeper main roof, that transition can change the material system and the price. Build it in. Pull your jurisdiction's adopted code edition before you assume; states amend the IRC and adopt different years.
Cost labor like a roofer, not a calculator
Labor is more than crew hours times an hourly wage. A real labor rate carries wage, payroll taxes, workers' compensation (notoriously high for roofing), benefits if any, supervision, nonproductive time, and the actual pace of that crew on that roof type. For market context, the U.S. Bureau of Labor Statistics Occupational Outlook Handbook for roofers lists a 2024 median wage of $24.51 an hour, or $50,970 a year, with the top tenth above $80,780. That is a national wage reference, not your loaded labor cost. Your fully burdened number is higher once taxes, comp, and overhead time are added, and it varies by market and crew.
The BLS data is context. Your own payroll and production records are the source of truth. A crew that flies on a simple walkable gable will not hold that pace on a 10/12 with three chimneys, and a tear-off of two layers over skip sheathing is a different animal than a single-layer pull. Price the crew you will actually send.
Put equipment, disposal, permits, and safety on the sheet
The costs that get "forgotten" are almost always the ones outside materials and labor. Make them visible:
- Dump trailers, roll-off containers, and tipping fees by ticket
- Cranes, lifts, conveyors, or ladder hoists for material loading
- Tarping, catch systems, and landscape protection
- Permits and any required inspections
- Portable restroom, extended travel, special delivery
- Fall-protection equipment and the time to set it
That last one is not optional and it is not free. OSHA's duty to have fall protection is triggered at six feet in residential construction, and the fall-protection systems criteria govern the anchors, lifelines, and guardrails your crew uses to comply. Roofing remains one of the more dangerous trades precisely because of falls. Pricing a steep, exposed roof as if anchors and harnesses cost nothing is both a margin error and a safety message you do not want to send your crew. Build the safe method the crew will actually use into the bid.
When the direct-cost sheet is done, you can ask a far better question than "does this rate feel competitive?" You can ask, "do these rows describe the job we are promising to perform?"
Control 3: Allocate overhead instead of guessing at profit
The third control puts a fair share of the cost of running the company into every job. Overhead is everything you pay for that is not a direct job cost: office payroll, management and estimating time, software, vehicles and fuel not charged to a job, rent, general liability and other insurance, licensing, training, marketing, accounting, warranty work, bad debt, and finance charges. It is real whether or not you price for it. If you do not allocate it, it does not vanish; it reappears later as thin cash and a confused owner.
Markup is not profit
This is the single most expensive misunderstanding in contractor pricing, so be precise. Markup is the amount added to cost to reach a selling price. Profit is what is left after both direct cost and overhead are paid. A bid can carry a fat-looking markup and still leave nothing, if overhead is understated or the scope is wrong.
A clean estimate shows three layers, in order:
- Direct job cost — labor, materials, equipment, disposal, permits, safety, job-specific services for this roof.
- Allocated overhead — the share of company operating cost this job must carry.
- Target profit — the return the business needs for risk, warranty exposure, working capital, and growth.
Find your overhead rate, then carry it on every bid
There is no honest universal overhead percentage; it depends on your structure. The way to find yours is arithmetic, not a benchmark: total your annual overhead, total your expected annual direct job cost (or revenue, pick one and be consistent), and the ratio is the overhead you must recover. Published operator guidance commonly puts roofing overhead, excluding marketing, in roughly the 10 to 15 percent range, and flags anything above that for a line-by-line review, per contractor financial benchmarks. Use that as a smell test against your own books, not as your number.
The break-even logic from the SBA sharpens this. Calculate how many jobs, squares, or crew-days at your current pricing are needed to cover fixed overhead. If the volume required is unrealistic for your crews, you have a pricing problem, a cost problem, or both, and no amount of selling will fix the math.
For categorizing what counts as a business expense, the IRS guide to business expense resources is a reasonable organizing reference, but treat tax categorization and estimating allocation as separate jobs. The estimating goal is operational: every job carries its fair share so the company stays solvent between the busy and slow seasons. Have an accountant set and review your overhead categories. The test that Control 3 is working: the owner can explain why the price is what it is, not only what the market might tolerate.
Control 4: Convert markup to margin so you keep what you think you keep
The fourth control is the math that quietly decides whether your business is profitable: turning markup into the margin you actually retain. Owners lose real money here every week because markup and margin are not the same percentage, and the gap is wide.
The formula every estimator should have memorized
Markup is figured on cost. Margin is figured on the selling price. Because price is always bigger than cost, the margin percentage is always smaller than the markup percentage for the same job. The conversions, confirmed across standard margin-and-markup references:
- Selling price = cost × (1 + markup)
- Margin = markup ÷ (1 + markup)
- Markup = margin ÷ (1 − margin)
- Selling price needed for a target margin = cost ÷ (1 − margin)
That last line is the one to tape to the wall. If you want a 35 percent margin on a job that costs you $12,000, you do not multiply by 1.35. You divide by (1 − 0.35): $12,000 ÷ 0.65 = $18,462. Multiplying by 1.35 would give $16,200 and a margin of only about 26 percent. On a single job that is more than $2,000 of margin walking out the door because of one wrong operation.
The conversion table to keep on the truck
| Markup on cost | Resulting margin | Price multiplier (× cost) |
|---|---|---|
| 20% | 16.7% | 1.20 |
| 25% | 20.0% | 1.25 |
| 30% | 23.1% | 1.30 |
| 40% | 28.6% | 1.40 |
| 50% | 33.3% | 1.50 |
| 54% | 35.0% | 1.54 |
| 67% | 40.0% | 1.67 |
| 100% | 50.0% | 2.00 |
Read that table once and the trap is obvious. A 50 percent markup, which sounds aggressive, is only a 33.3 percent margin. To actually keep 40 percent, you need a 67 percent markup. An owner who thinks "I mark everything up 30 percent, so I'm making 30 points" is really keeping about 23, and after overhead the net can be thin.
Pick the target margin your business needs
Published roofing profit benchmarks describe target net margins for residential work commonly aimed in the 20-to-40 percent gross range with the right number depending on market, overhead, risk, and crew utilization, while noting many contractors actually run far thinner. The lesson is not to chase someone else's percentage. It is to set your margin from your own overhead rate and risk, then use the formula above to back into the selling price. The margin is the goal; the markup is just the lever that gets you there.
A quick worked example ties Controls 2 through 4 together. Say a 28-square architectural tear-off-and-replace prices out at $9,800 in direct cost (materials, burdened labor, dumpster, permit, fall-protection setup). Your books say you must recover 15 percent overhead, and you target a 30 percent net margin. Load overhead first: $9,800 × 1.15 = $11,270 fully loaded cost. Then price for margin: $11,270 ÷ (1 − 0.30) = $16,100. That is a defensible number with a paper trail, not a per-square guess. Change any input and you can see exactly what moved.
Refresh the inputs before the bid leaves
The math only protects you if the inputs are current. Roofing costs go stale fast: shingle and metal prices, freight, labor availability, workers' comp, disposal fees, financing terms, and code enforcement all move. The BLS Producer Price Index tracks the average change over time in selling prices received by domestic producers, which is a plain reminder that last season's material costs can be simply wrong even when the template looks familiar. You do not need to turn a bid into an economics paper. You need a refresh rule:
- Put an expiration date on every material price sheet.
- Attach a live supplier quote to any large or unusual bid.
- Re-cost labor when wages, comp, crew mix, or production speed shift.
- Re-check disposal and permit assumptions by municipality and job type.
- Manager-review the bid when a quote expires, the material or warranty level changes, financing is added, access changes, a permit condition appears, decking risk rises, or the start date moves into a worse weather window.
Keeping property-specific context attached to a job helps here too, especially on storm work where exposure and documentation needs differ from a plain retail re-roof. RoofPredict can hold that context with the estimate, but it does not set material prices, labor rates, permit requirements, or contract value; those stay with your own current data.
Control 5: Make every assumption visible in the proposal
A price is only accurate if the contractor and the homeowner are picturing the same job. The fifth control is a proposal where the scope, inclusions, exclusions, allowances, and change process are written down in plain language. Vague proposals do more than cause arguments; they cause underpriced work, because the estimator silently absorbed scope the customer assumed was "obviously included."
Replace vague phrases with named scope
- "Replace roof" → a line-by-line scope: tear-off and layers removed, underlayment type, ice barrier where required, drip edge, starter, valleys, flashing details, ventilation, ridge, fasteners, cleanup with magnetic sweep, disposal, and warranty documents.
- "Includes wood" → a stated decking allowance with a unit price (per sheet or per board foot), an inspection trigger, and a written approval step before extra decking is installed.
- "Code upgrade included" → the specific code item named, with who determines whether it applies.
Use good-better-best honestly
Tiered options help homeowners decide when each tier reflects a real difference: shingle line, ventilation design, accessory and flashing package, warranty pathway, or financing. Do not use tier names to hide missing scope, and never let the cheapest option be one that is not buildable, code-compliant, and safe. A bad "good" option is how a company ends up doing a "better" job for "good" money.
Stay honest on insurance work
On storm and insurance jobs, keep the estimate grounded in your own scope and pricing. You can describe observable damage, code-driven work, material selection, and documentation. You cannot promise coverage, claim approval, or a carrier outcome; those decisions belong to the insurer under the policy. Overpromising the claim is how reputations and licenses get damaged. Document well, price your scope, and let the adjuster's process be the adjuster's process.
Clarity also protects production. When the signed proposal matches the measurement file, the supplier quote, the labor assumptions, and the change-order process, the production manager can plan the job without reverse-engineering what the salesperson meant. That alone cuts callbacks, rushed reorders, crew downtime, and homeowner friction.
What actually drives roofing cost, by system
The five controls hold for any roof, but the cost drivers differ by material system. A bid built on shingle assumptions will be wrong on metal, and a tile job carries structural questions a shingle job never raises. Knowing which lines move the number lets you price each system on its own terms instead of forcing one template across all of them.
Asphalt shingles
This is the bread-and-butter residential system and the one where per-square laziness causes the most damage. The big cost movers are pitch, layers to remove, and roof complexity (valleys, hips, dormers, and penetrations). Material choice matters too: a three-tab shingle, an architectural laminate, and a designer or impact-rated line price apart at the bundle and sometimes change the labor. Manufacturer specs from makers like GAF, Owens Corning, CertainTeed, and Malarkey define the required accessories and the install pattern that protects the warranty, and skipping a starter, a specified underlayment, or proper nailing can void coverage. Price the full system the manufacturer requires, not a stripped version that looks cheaper on paper and fails the warranty audit later.
Metal roofing
Standing-seam and metal panel work shifts the cost balance toward material and skilled labor. Panels are fabricated to length, flashing and trim detail is extensive, and the crew skill required is higher, so the labor line behaves differently than a shingle tear-off. Underlayment selection, clip and fastener systems, and thermal movement detailing all matter. Metal also rewards measurement precision because mis-ordered panel lengths are expensive to fix. If your shingle crew does not run metal regularly, price it at the real pace and skill level, or sub it to a crew that does and carry that subcontractor cost honestly.
Tile, slate, and low-slope
Tile and slate raise weight and structural questions: the deck and framing have to carry the load, and replacing broken pieces during install is a real material line. Low-slope and flat residential sections (TPO, modified bitumen, or built-up) are a different material system entirely, with seams, drains, and edge metal that have nothing to do with shingle pricing. When a single house mixes systems, a steep shingle main with a low-slope porch, for instance, price each system separately rather than blending them into one square rate. The blend is almost always wrong in the customer's favor and your loss.
The table below summarizes where the money tends to move by system. Treat the direction of each driver as the takeaway, not a fixed dollar figure, since prices are local and change.
| System | Biggest cost driver | Labor skill | Watch-out on the bid |
|---|---|---|---|
| Asphalt shingle | Complexity, layers, pitch | Standard | Stripping required accessories and voiding warranty |
| Metal standing-seam | Material + skilled labor | High | Mis-ordered panel lengths; trim detail underbid |
| Tile / slate | Material + structural load | High | Deck/framing capacity; breakage allowance |
| Low-slope membrane | Seams, drains, edge metal | Specialized | Pricing it like a shingle plane |
Regional and climate variation in pricing
The same roof does not cost the same in every market, and the difference is not only labor rates. Code, climate, and disposal rules all move the number, which is why a national "cost per square" figure off the internet is close to useless for an actual bid.
Climate-driven code. Cold-climate jurisdictions require ice barrier at the eaves, which adds a membrane line and labor that a southern job may not carry. High-wind coastal and hurricane regions impose enhanced fastening, sealed-deck, and sometimes secondary-water-barrier requirements; the FEMA and IBHS bodies of guidance on wind and hail resilience explain why those assemblies cost more and why they are worth it. Hail-prone markets push impact-rated (Class 4) shingles, which carry a higher material cost and sometimes an insurance premium credit for the homeowner. None of that is optional padding; it is the assembly the conditions and the code require.
Labor and disposal. Burdened labor cost and workers' comp rates vary widely by state, and so do landfill tipping fees and permit costs. A tear-off that disposes for one rate in a rural county can cost noticeably more in a metro with high disposal fees and restricted dumpster placement. These are direct costs; verify them per municipality rather than carrying a statewide average.
Storm season dynamics. After a major hail or wind event, material and labor availability tighten and lead times stretch. Pricing a storm-season job with off-season assumptions about crew availability and supplier stock is a quick way to blow a schedule and a margin. This is also where targeting the genuinely storm-exposed homes, rather than canvassing a whole zip code, keeps a crew working the right roofs. Contractors who use tools like RoofPredict model per-home storm exposure to focus on houses a storm likely wore out, which keeps the estimating pipeline aimed at real work instead of brand-new roofs. The tool informs targeting and documentation; it does not set the regional price, which still comes from your local labor, disposal, and code reality.
What to ask before you finalize the bid
A short list of questions closes the gaps that turn into change orders. Ask the supplier, ask the homeowner, and ask the roof itself.
Ask your supplier:
- Is this quote firm, and for how long? When does the price expire?
- Are all required warranty accessories (starter, underlayment, cap, ventilation) included at the line level?
- What is current lead time on this product and color, especially in storm season?
- Are there freight or small-order charges that change the per-square cost?
Ask the homeowner:
- Has the roof leaked, and where? (Points you to decking and flashing risk.)
- How many layers are up there, to your knowledge? (Verify on site.)
- Any solar panels, satellite mounts, or skylights to detach and reset?
- Are there access constraints: tight side yards, fragile landscaping, HOA rules, limited parking for a dumpster?
- Is this a cash retail job or an insurance claim? (Changes documentation time.)
Ask the roof (on the inspection):
- Does the decking feel soft underfoot or show daylight from the attic?
- Is the existing ventilation adequate, or does intake/exhaust need correction?
- Are valleys, chimneys, and wall tie-ins detailed correctly, or do they need rework?
- What does the pitch and access actually require for safe staging?
The answers belong in the estimate file. A question asked at the door is a change order avoided at production.
A copy-ready roofing estimate worksheet
Use a build-up that another qualified manager could read months later and understand. This template walks the five controls in order.
ROOFING JOB PRICING WORKSHEET
Job / Address: ____________________ Date: __________
Estimator: __________ Code edition in effect: __________
1) MEASURED ROOF
Field area by plane (sq): ____ pitch ____ | ____ pitch ____
Total squares (incl. pitch factor): ______
Eave LF ____ Rake LF ____ Ridge LF ____ Hip LF ____
Valley LF ____ Wall/flashing LF ____
Penetrations (count): pipes ____ vents ____ chimneys ____ skylights ____
Layers to remove: ____ Decking condition note: ____________
Waste factor chosen: ____% Reason: ______________________
2) DIRECT COST
Materials (from supplier quote dated ____): $________
Burdened labor (hrs ____ x loaded rate ____): $________
Equipment / lift / dumpster: $________
Disposal / tipping fees: $________
Permit / inspection: $________
Fall protection setup: $________
Subcontractor / specialty: $________
DECKING ALLOWANCE (unit $____ x qty ____): $________
--------------------------------------------------------
TOTAL DIRECT COST (A): $________
3) OVERHEAD
Overhead rate (from books): ____%
Loaded cost = A x (1 + overhead%): (B) $________
4) MARKUP -> MARGIN
Target net margin: ____%
SELLING PRICE = B / (1 - margin%): $________
(Check: margin = (price - B) / price = ____%)
5) PROPOSAL
Inclusions listed: Y / N Exclusions listed: Y / N
Allowances + approval step written: Y / N
Warranty pathway named: Y / N
Options (good/better/best) defined by real differences: Y / N
A pre-send pricing checklist
Run this before any proposal leaves your hands.
- Each roof plane measured with pitch noted; linear items counted, not estimated.
- Waste factor chosen for this roof's complexity, with a reason written down.
- Site verified for layers, decking, access, landscaping, and ventilation, beyond aerial geometry.
- Materials priced from a supplier quote dated within your refresh window.
- Labor costed at a burdened rate against your own production history for this roof type.
- Equipment, disposal, permit, and fall-protection lines present, not buried.
- Code items (underlayment, ice barrier, minimum slope, ventilation) confirmed against the adopted code edition.
- Overhead allocated at your real rate, not a guess.
- Selling price set with price = loaded cost ÷ (1 − target margin), and the margin re-checked.
- Proposal lists inclusions, exclusions, decking allowance with approval step, and warranty pathway.
- No coverage or claim promises on insurance work.
Common pricing mistakes that quietly eat margin
Knowing the failure modes is half the discipline. These are the ones that recur.
| Mistake | What it costs you | The fix |
|---|---|---|
| One per-square rate for every roof | Underprices steep, cut-up, multi-layer roofs | Build up from the measured scope |
| Multiplying cost by (1 + margin) | Quietly underprices by several margin points | Divide by (1 − margin) |
| Stale material prices | Negative variance the day the truck arrives | Date every price sheet; quote large jobs live |
| Overhead left out of the bid | Cash-poor despite a full schedule | Allocate a real overhead rate on every job |
| Fall protection priced at zero | Margin loss plus a safety culture problem | Build the safe method into the bid |
| "Includes wood" with no allowance | Free decking and an angry change order | Unit-price decking with an approval trigger |
| No post-job cost review | The same miss repeats every season | Compare estimate to actuals, tag the cause |
Close the loop: review the job against the estimate
A pricing system improves only when production feedback returns to estimating. After jobs that matter, run a short post-job review: compare estimated squares to installed quantities, estimated labor hours to time records, planned equipment to what actually rolled, and expected disposal to the final tickets.
Then tag each miss by cause, because different causes need different fixes. A measurement miss is a takeoff problem. A supplier price jump is an input-refresh problem. A customer selection change is a proposal-and-change-order problem. A weather delay is a scheduling problem. Hidden decking is a site-verification problem. "The estimator messed up" is not a cause; it is a shrug. Feed each real lesson back into the price book, the checklist, or a manager-review trigger so the next bid inherits it.
A worked variance example shows why the tagging matters. Say the $16,100 job from earlier finishes and the actuals come in: materials landed $300 over because the supplier price moved between quote and order, labor ran eight hours long because the second tear-off layer was a surprise, and the dumpster needed a second haul for $220. That is roughly $900 of margin gone. Tagged by cause, two of those are fixable next time: date and re-confirm the supplier quote within your refresh window, and verify layer count on site instead of trusting the aerial. The third, the surprise haul, becomes a note in the price book for that neighborhood's older roofs. Without the post-job review, the same three holes reopen on the next bid and nobody knows why the season felt busy but thin.
Discounts and contingency deserve the same discipline. A sales discount is margin you chose to give away, so it should be a visible line the owner can see, not a quiet reduction in the per-square rate that hides how thin the job really got. Likewise, if a roof carries real unknowns, decking you could not fully assess or a chimney you suspect needs rework, price a defined contingency or write the allowance and approval step into the proposal. Burying uncertainty inside a padded rate is how an estimator looks competitive on paper and loses on the job. Name the risk, price it, and let the customer approve it.
This is where good recordkeeping compounds. An estimating file worth keeping holds the measurement report, site photos, condition notes, product selection, the dated supplier quote, the labor-hour assumption and crew type, equipment and disposal plan, permit and code assumptions, the safety method, the overhead and margin used, the proposal version, and the exclusions and allowances. Attach the customer requests that affect price too: a specific product, a financing option, a start date, a skylight swap, a decking cap. Keeping that property and job context organized, including roof-age range and storm exposure on the homes you are targeting, is exactly the kind of pre-estimate groundwork that tools like RoofPredict help a roofing team hold in one place rather than across a dozen text threads. The product does not price the job or inspect the roof. It helps you walk into the estimate already knowing which homes are worth the trip and what to document.
The real secret to accurate roofing prices is not a number. It is a loop: measure carefully, price the actual scope, carry true overhead, convert markup to the margin you need, write the assumptions down, then compare the finished job to the bid. Run that loop and you stop guessing whether your prices are accurate. You can see, job by job, where the numbers held and where the next estimate has to get sharper.
Sources checked: June 18, 2026.
FAQ
How do you price a roofing job accurately?
Build the price from job facts in order, not from a flat per-square rate. Measure each roof plane and pitch and count every linear and penetration item, then list direct costs (materials from a current quote, burdened labor, equipment, disposal, permits, and fall protection) on separate rows. Add your real overhead rate, then set the selling price by dividing loaded cost by one minus your target margin. Finish with a proposal that names every inclusion, exclusion, allowance, and warranty so the homeowner is buying the same job you priced.
Why is per-square pricing not enough for a roof bid?
A roofing square is just 100 square feet of surface, and two roofs with the same square count can cost thousands apart. Pitch changes both the true surface area and the install pace, valleys and flashing add labor and waste, extra tear-off layers and soft decking add cost, access decides whether you need a lift, and disposal fees vary by county. A single per-square number also tends to leave out overhead. Use per-square instinct only as a final sanity check on a build-up, never as the method itself.
What is the difference between markup and margin in roofing?
Markup is figured on your cost; margin is figured on the selling price, so margin is always the smaller percentage. A 50 percent markup is only a 33.3 percent margin. The formulas: selling price equals cost times one plus markup; margin equals markup divided by one plus markup. To hit a target margin, divide cost by one minus the margin. Multiplying cost by one plus your margin is a common, expensive error that quietly underprices the job by several points.
What markup do I need for a 40 percent margin?
You need a 67 percent markup to keep a 40 percent margin. Convert with markup equals margin divided by one minus margin: 0.40 divided by 0.60 equals 0.67. For other targets, a 20 percent margin needs a 25 percent markup, 30 percent margin needs about 43 percent markup, and 50 percent margin needs a 100 percent markup. The simplest reliable method is to skip markup entirely and set price as loaded cost divided by one minus your target margin.
What waste factor should I use for a roofing estimate?
Tie it to the roof's complexity rather than a habit. A common baseline is about 10 percent on a simple gable, 15 percent on a cut-up roof with several valleys, and up to 20 percent on complex hip roofs with many valleys, skylights, and dressed details, because every valley course gets cut and trimmed. Material type and install pattern matter too. Treat waste as a known, written cost driven by geometry, not as a fudge factor that covers a sloppy measurement.
Should fall-protection and safety costs be in a roofing bid?
Yes. OSHA requires fall protection in residential construction at six feet, and the anchors, harnesses, lifelines, and the time to set them are a real cost of doing the job safely. Pricing a steep or exposed roof as if safety setup were free both erodes your margin and signals to the crew that safety is an afterthought. Put a fall-protection line on the direct-cost sheet and price the safe method your crew will actually use on that roof.
How often should roofers update material and labor prices?
Refresh before any large or unusual bid and whenever an input moves. Put an expiration date on every material price sheet, attach a live supplier quote to big jobs, and re-cost labor when wages, payroll burden, workers' comp, crew mix, or production speed change. Recheck disposal and permit assumptions by municipality. Material and freight costs can shift quickly, so a familiar-looking template can still be wrong. A simple rule: any number pulled from memory or last season gets verified before the proposal goes out.
What overhead percentage should a roofing company use?
There is no universal number; calculate yours from your books by dividing total annual overhead by total expected direct job cost or revenue, used consistently. Published operator guidance often puts roofing overhead, excluding marketing, in roughly the 10 to 15 percent range and flags anything higher for a line-by-line review, but treat that as a smell test, not a target. Whatever your real rate is, carry it on every bid so each job pays its fair share of running the company.
Can a tool tell me which roofs to bid before I measure?
Targeting tools can help you choose which homes to pursue, but they do not price or inspect the roof. Contractors who use tools like RoofPredict get an estimated roof-age range and per-home storm exposure to prioritize the right houses, skip brand-new roofs, and keep property context organized for the estimate. The tool does not measure the roof, diagnose damage, certify remaining life, or decide insurance coverage. Your measurement, supplier quote, code review, and pricing judgment still set the actual bid.
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
- RoofPredict — roofpredict.com
- SBA — Break-even Point — sba.gov
- BLS Occupational Outlook Handbook — Roofers — bls.gov
- BLS Producer Price Index — bls.gov
- IRS — Guide to Business Expense Resources — irs.gov
- OSHA 1926.501 — Duty to Have Fall Protection — osha.gov
- OSHA 1926.502 — Fall Protection Systems Criteria and Practices — osha.gov
- 2021 IRC Chapter 9 — Roof Assemblies (ICC) — iccsafe.org
- Roof Pitch Multiplier reference — concalculator.com
- Roofing Contractor's Guide to Shingle Waste Factor — oneclickcode.com
- Margin vs. Markup Chart — patriotsoftware.com
- Roofing Company Profit Margins — servicetitan.com
- Roofing Profit Margins — benchmarks from real P&Ls — profitabilitypartners.io
- GAF — Residential Roofing Shingles — gaf.com
- FEMA — Building Science and Resilience — fema.gov