Home  /  Blog  /  Roofing Pricing & Margin
Roofing · Per-Square Pricing · Burdened Labor Rate

How Much Should a Roofing Contractor Charge Per Square to Actually Hit Margin?

Top Builder AI Published August 30, 2026 Updated August 30, 2026 ~13 min read Roofing Pricing & Margin
A roofing pricebook screen showing per-item labor and material pricing next to a rooftop photo

Not the number on a competitor's price sheet. In 2026, installed asphalt shingle roofing nationally runs about $350 to $1,200 per square (a "square" is 100 sq ft), but that range only tells a shop what the market will pay, not whether a given price clears its own costs. The number that matters is built from a fully burdened labor rate, base wage plus payroll taxes, workers' comp, benefits, and non-billable time, and roofing carries one of the highest burden loads of any trade because its workers' comp classification (NCCI code 5551) is rated for fall risk. A construction-accounting worked example shows a $30-an-hour installer actually costing $39 once burdened, a 30 percent swing most bid sheets never show. Below: what burden actually includes, what workers' comp alone adds for roofing, what ServiceTitan's own pricebook tools do and don't calculate, and a worked per-square example separating the labor floor from the price that should go on the invoice.

This is written for the shop bidding reroofs and retail asphalt-shingle jobs by the square, not the flat-rate service call. If pricing per square still runs on "what we charged last time" or a competitor's yard sign, this is the math that decides whether "we're slammed" and "we're actually making money" are the same sentence.

What does "per square" actually mean in roofing pricing?

A roofing square is 100 square feet of roof surface, a unit the trade has used for well over a century specifically because it standardizes material and labor estimates across roofs of wildly different sizes and shapes. A 2,400-square-foot single-story home and a 2,400-square-foot two-story with dormers can both get quoted, and compared, on the same 100-square-foot unit of actual roof work rather than on house square footage, which has almost nothing to do with how much roof there is to tear off and install.

That standardization is exactly why per-square pricing is useful, and exactly why it's dangerous when it's copied from someone else's number: the unit is standardized, but the cost to produce it, labor, workers' comp rate, and material vendor pricing, is not.

What's a realistic price-per-square range for asphalt shingle roofing right now?

In 2026, installed asphalt shingle roofing nationally runs about $350 to $1,200 per square, depending on shingle grade, roof pitch, and local labor rates, according to JobNimbus's 2026 roofing cost breakdown. That's the all-in installed price, labor and materials and markup together, wide enough that a number sitting inside the range can still be a losing job for one shop's cost structure and a strong-margin job for another's.

Labor-only costs run narrower and higher than most contractors expect. NRCA-compiled data puts per-square labor rates for basic asphalt shingle installation at $150 to $300 per square for labor alone, per National Roofing Authority's roofing labor cost benchmarks, before materials are added. That figure already reflects tear-off, disposal, and typical complexity, a different (and larger) number than the standard-productivity wage floor built out later in this post.

What actually goes into a roofing crew's burdened labor rate?

Burdened labor rate is the base hourly wage plus every mandatory cost of employing that person: payroll taxes, workers' compensation insurance, benefits, paid time off, and required safety training and PPE. Per Miter's construction labor-burden guide, those components typically add 25 to 40 percent on top of base wage, and the guide's own worked example uses a $30-an-hour roofing installer: $9.00 an hour in burden brings the fully burdened cost to $39.00 an hour, a 30 percent load.

That 30 percent isn't a rounding error, it's real cash the shop pays regardless of whether it gets priced into the job. A shop quoting off base wage instead of burdened wage is underpricing every labor hour on every job by roughly a third before a single shingle gets nailed.

Burden componentWhat it coversSourced range
Base wageStraight hourly pay before anything is addedSet by the shop
Payroll taxesEmployer FICA plus federal and state unemploymentIncluded in the 25–40% total below
Workers' compensationNCCI class code 5551, "Roofing, all kinds"$25–$45 per $100 of payroll before experience mod; over $70 with a poor claims history
Benefits & PTOHealth insurance, retirement match, paid time offIncluded in the 25–40% total below
Training & PPERequired safety certifications, fall-protection gearIncluded in the 25–40% total below
Total burdenAll of the above combined, on top of base wageRoughly 25–40% (a $30/hr roofer costs about $39/hr fully burdened)

Workers' comp alone can move the needle more than every other burden line combined, and it's the one component almost no bid sheet itemizes on its own.

Why does workers' comp alone move a roofer's burdened rate more than almost any other trade?

Because roofing is rated under NCCI class code 5551, one of the highest-rated classifications in the country, specifically because of fall risk. Per CPR Brokers' explainer on roofing workers' comp, voluntary-market rates for code 5551 commonly run $25 to $45 per $100 of payroll before any experience modifier, and a shop with a below-average safety record and a mod around 1.75 can see effective rates exceed $70 per $100. Roofing "consistently ranks among the most dangerous occupations tracked by the Bureau of Labor Statistics, with fatality rates several times the national average," per the same source, and falls are the primary driver.

Roofing workers' comp · NCCI class code 5551
$25–$45
Per $100 of payroll, voluntary market, before an experience modifier is applied. A shop with a poor claims history and a high experience mod can see effective rates run past $70 per $100, well above what most other construction trades pay for the same payroll dollar.
Source: CPR Brokers, "Roofing Workers' Compensation Insurance," on NCCI class code 5551.

What's the actual formula for pricing a square to hit a real margin, not just cover cost?

A defensible per-square price stacks four numbers, in this order: burdened labor cost for the hours the job actually takes, materials cost off the current vendor price, an hourly overhead-recovery rate, and a target margin applied to the total, not to any single line. Per JobNimbus's profit-focused roofing estimating guide, a commonly recommended way to build the overhead line is dividing total monthly overhead by total monthly labor hours to get an hourly rate applied to every bid, and well-run roofing companies generally target gross margins of 25 to 40 percent and net margins of 8 to 15 percent once all of that is added up.

The mistake that quietly erases margin is treating markup and margin as the same number: markup is calculated on cost, margin on the final price. A 30 percent markup on cost works out to roughly a 23 percent gross margin, per the same JobNimbus guide, a gap that compounds across every job on the board.

What does a per-square price actually have to cover, line by line?

The table below is an illustrative worked example, not a quote for any real job, using NRCA's compiled productivity standard of roughly 1.25 man-hours per square (per RoofPredict's guide to pricing for a 20% net margin) combined with a $26-an-hour base wage and a 32 percent burden load, the midpoint of the sourced range above.

Line itemIllustrative $/squareWhere it comes from
Burdened labor, standard productivity$42.901.25 NRCA man-hours/square × an illustrative $34.32/hr burdened rate ($26 base × 1.32 burden)
Full labor line (tear-off, disposal, complexity, regional wage)$150–$300NRCA-compiled per-square labor-only range for basic asphalt shingle install
Materials (shingles, underlayment, flashing, fasteners)Varies by grade/vendorTracked as a bill of materials off current vendor cost, not a flat figure
Overhead recoveryMonthly overhead ÷ monthly labor hoursJobNimbus-recommended hourly-rate method
Target margin25–40% gross / 8–15% netJobNimbus benchmark for well-run roofing shops

The $42.90 is a floor built from standard productivity, not a bid. Everything below the labor line, tear-off complexity, materials, overhead, and margin, is where the number that actually goes on the invoice gets built.

Does ServiceTitan's own pricebook calculate price per square or burdened labor rate for you?

No, not out of the box, on either count. ServiceTitan's Price Setup Wizard is built for flat-rate pricing, "costs, labor, and surcharges are bundled under a single price," and its labor input is a Billable Rate, "amount charged per hour for labor," per ServiceTitan's own Price Setup Wizard documentation, not a burdened cost rate. Nothing in that workflow asks for payroll tax rate, comp class code, or benefits load.

Pricebook Pro's roofing-specific Price Insights feature comes closer but stops short: it shows "the minimum and maximum price for the service in your region," a regional benchmarking tool, per ServiceTitan's own roofing Price Insights documentation. That's what competitors charge, not what a shop's own burdened labor and current material costs require to hit a target margin, and neither Pricebook Pro's monthly content refresh nor Pricebook Connect's vendor-cost sync changes that, per ServiceTitan's own comparison of the two. The gap shows up elsewhere on this blog too: ServiceTitan's own pricebook tools update generic content or surface vendor deltas, but neither recomputes a price from a contractor's real burdened labor rate.

What happens when a shop prices per square off gut feel instead of burden math?

Picture an illustrative two-crew, roughly $1.8M-a-year roofing shop, the kind of composite shop this blog writes to. The owner quotes $325 a square because that's what a competitor's yard sign says and what "felt right" on the last few bids. Base wage for the crew runs $26 an hour; nobody has calculated the shop's real workers' comp rate under class code 5551 or added it, with payroll taxes and benefits, into a per-hour number. The $325 looks profitable against the invoice because the labor line on the job-cost report shows base wage, not the fully burdened cost.

At quarter-end the shop is "slammed," the crews never stop moving, and the bank balance still isn't where it should be. That's the burden gap showing up as cash flow instead of as a line item: every square priced at $325 quietly ate 25 to 40 percent more in true labor cost than the books ever showed, and it takes a full season of jobs to notice without burden math built into the price.

How should rising material costs change the per-square number?

They should move the price up on a documented, recurring basis, not get absorbed into margin until a bad quarter forces a reset. Per FoxHaven Roofing's 2026 cost breakdown, citing NRCA data, construction material prices were 43.4 percent higher in November 2025 than in February 2020, a run-up a flat per-square price set once and never revisited will not track. A shop repricing only when a bid feels wrong is always pricing last quarter's material cost into this quarter's job.

How we verified this

Burden components and the 25–40% range (including the $30/hr → $39/hr example) come from Miter's fully burdened labor costs guide. Class code 5551 and the $25–$45 (up to $70+) per-$100-of-payroll range come from CPR Brokers' roofing workers' compensation explainer. The 2026 national price-per-square range ($350–$1,200) and the overhead/margin benchmarks come from JobNimbus's 2026 roofing cost guide and roofing estimating guide. NRCA-compiled labor-only rates ($150–$300/square) and the 1.25 man-hours/square productivity standard come from National Roofing Authority's labor cost benchmarks and RoofPredict's margin guide. The 43.4% material-inflation figure (citing NRCA) comes from FoxHaven Roofing's 2026 cost-driver breakdown. What ServiceTitan's own pricebook tools do and don't calculate comes from ServiceTitan's own docs: the Price Setup Wizard, roofing Price Insights, and Pricebook Pro vs. Connect. The $42.90/square floor and the $1.8M-shop example are illustrative calculations built from the figures above, labeled as such, not reported client figures.

1
Pull your crew's actual base wage and your shop's real workers' comp rate for class code 5551. Not an industry average, your carrier's actual rate and your actual experience modifier.
2
Add payroll taxes, benefits, and PTO to get a true burdened hourly rate. Divide total burden dollars by base wage to see your shop's own burden percentage against the 25–40% sourced range above.
3
Price materials off current vendor cost, not last quarter's price sheet. A 43.4% run-up since 2020 means a stale materials number is quietly eating margin on every job.
4
Add overhead recovery and a target margin on top of the total, not a markup on any single line. Confirm the resulting per-square price against the market range before it goes on a bid.
  • No invented client numbers. The $1.8M-shop walkthrough and the $42.90/square calculation are labeled illustrative examples built from sourced figures, not a reported client's real numbers.
  • This isn't a pricing guarantee for any specific shop. Wage rates, comp classifications, material vendor costs, and local market pricing all vary; the formula is the transferable part, not any single dollar figure in it.
  • Top Builder AI's Pricebook figures are computed by deterministic, tested code first; the AI narrates the result in plain business language afterward, and a person approves every price change before anything posts.
  • No self-serve per-square pricing tool ships today. The burdened sold-hour rate and roofing per-square rollup described here is built into a shop's real ServiceTitan pricebook through a done-for-you Teardown or 90-Day Install engagement, not a shipped self-serve toggle.

Want your shop's real burdened sold-hour rate built into your pricebook?

A fit call walks through your current pricebook, your actual payroll and comp numbers, and what a burden-rate-based per-square target looks like for your crews specifically.

Book a fit call →

What else do roofing contractors ask about per-square pricing?

What is a "square" in roofing, and why do contractors price by it instead of square footage?
A roofing square equals 100 square feet of roof surface, a unit contractors have used for over a century because it standardizes material and labor estimates across wildly different roof sizes. Pricing per square instead of per square foot of house lets a $400,000 home and a $180,000 home get compared on the same 100-square-foot unit of actual roof work.
Is $300 a square a fair number for an asphalt shingle reroof in 2026?
It depends entirely on shingle grade, tear-off layers, and region. In 2026, installed asphalt shingle roofing nationally runs about $350 to $1,200 per square, so $300 a square sits below even the low end of that national range and is a red flag for margin unless it is a very simple, single-layer, entry-grade job in a low-labor-cost market.
What's a normal burden rate percentage for a roofing crew?
Construction labor burden, the payroll taxes, workers' comp, benefits, PTO, and safety costs layered on top of base wage, typically runs 25 to 40 percent above base pay. A worked example from a construction-accounting resource shows a $30-an-hour roofing installer costing $39 an hour once fully burdened, a 30 percent load.
How much does roofing workers' comp cost compared to other trades?
Roofing is rated under NCCI class code 5551, one of the highest-rated codes in the country because of fall risk, with voluntary-market rates commonly running $25 to $45 per $100 of payroll, and over $70 per $100 for a shop with a poor claims history. That single line item can outweigh every other burden component combined.
What NRCA productivity standard should a shop use to estimate labor hours per square?
NRCA-compiled data puts standard asphalt shingle installation at roughly 1.25 man-hours per square, a baseline covering only standard install labor, not tear-off, disposal, or complexity add-ons. Full labor-only costs, once those factors are included, commonly run $150 to $300 per square according to the same NRCA-compiled data.
Does a 20 percent markup on materials mean a 20 percent profit margin?
No. A markup is calculated on cost while margin is calculated on the final price, so well-run roofing companies target gross margins of 25 to 40 percent and net margins of 8 to 15 percent, numbers that require a materially higher markup than the margin percentage itself to actually hit.
Should overhead be built into the per-square price or added separately?
It should be built in as its own explicit line, not folded silently into the labor or materials number. A commonly recommended method divides total monthly overhead by total monthly labor hours to get an hourly overhead-recovery rate, which then gets applied to every bid the same way burdened labor and materials cost do.
Does Top Builder AI calculate a roofing shop's per-square price automatically today?
Not as a self-serve product feature. Top Builder AI's deployed Pricebook capability recomputes ServiceTitan item pricing deterministically under a sold-hour model (sold hours times a rate, plus materials cost and markup) whenever a vendor publishes new costs, but a shop still has to supply its true burdened sold-hour rate, and a roofing-specific per-square rollup is delivered through a done-for-you engagement, not a shipped self-serve toggle.
What's the fastest way to find a roofing shop's true burdened sold-hour rate?
Start from actual payroll, not a guess: take a crew's base hourly pay, add the shop's real payroll tax rate, its actual workers' comp rate for class code 5551, and its benefits and PTO cost, then divide the total burden dollars by base wage to get a burden percentage specific to that shop rather than borrowing an industry average built on a different state's workers' comp table.