Roofing in Minnesota
Minnesota sits at the top of the country's hail-loss rankings, issues a rare state-level Residential Roofer License through the Department of Labor and Industry, and enforces one of the strictest anti-storm-chaser statutes in the Upper Midwest. A Twin Cities or Rochester homeowner has to verify the roofer on a state registry, read a contract with statutorily required notices, and understand a 72-hour cancellation right that almost no other state mirrors. Here is what actually matters before you sign.
By continuing, you agree to receive calls & texts from contractors via our lead partner. Consent not required to purchase. Privacy · Terms
On this page:Replacement costMetal vs asphaltMaintenance checklist
Why Minnesota roofing doesn't look like the rest of the country
Four structural facts shape every roofing decision in Minnesota: the state issues a mandatory Residential Roofer License through the Department of Labor and Industry (DLI), it was an early adopter of a storm-chaser statute that bans deductible waivers and forces specific contract language, it sits in climate zones 6 and 7 with ice-barrier code that's stricter than the national baseline, and it led the country in hail-claim payouts in 2024. None of those four are true in a typical state, and each one changes how a homeowner should evaluate a quote.
Minnesota is one of a relatively small number of states that requires a state-issued license specifically for residential roofers. Under Minn. Stat. §326B.802 and the Residential Roofer License administered by the DLI, anyone in the business of contracting with an owner to perform roof coverings, sheathing, weatherproofing, or repair on residential property has to hold a license — a Residential Roofer, Residential Building Contractor, or Residential Remodeler license, depending on scope. The license requires a designated qualifying person who has passed the DLI exam, a $15,000 surety bond, $300,000 per-occurrence general liability (with at least $10,000 property damage), and workers' compensation coverage. Licenses renew every April 1.
On the insurance side, Minn. Stat. §325E.66 — enacted in 2011 and strengthened since — forbids a residential contractor from paying, rebating, waiving, or offsetting any portion of a homeowner's insurance deductible on storm-damage work. The same statute requires a written notification of the deductible rule in the contractor's initial estimate. Separately, Minn. Stat. §326B.811 gives the insured a statutory 72-hour right to cancel an insurance-funded roofing contract after the insurer denies the claim. These two rules don't live in a typical state's contract law — they're Minnesota-specific answers to the storm-chaser dynamic that followed the 2010s hail losses.
The climate is the third differentiator. Minnesota straddles IECC climate zones 6 and 7, which means the Minnesota Residential Code (MRC, based on the 2020 IRC with state amendments) demands an ice-and-water barrier extending from the eave to at least 24 inches inside the warm-wall line on every dwelling and conditioned structure, with additional coverage on steeper-pitched roofs. Ice dams, freeze-thaw cycling (roughly 86 cycles per winter at one inch below the roof surface), and polar-vortex brittleness make this detail non-negotiable. A Minnesota homeowner watching a contractor skip the ice barrier is watching a code violation.
The fourth fact is the one most homeowners already know: Minnesota is the national leader in hail damage. State Farm's 2024 data puts Minnesota at $799 million in hail claims, ahead of Texas at $510 million. The 2017 Twin Cities hail event produced roughly $1.8 billion in insured losses; the 2024 July–August cluster produced multiple confirmed four-to-six-inch hailstones across Stevens, Goodhue, and Wabasha counties. Homeowners in Hennepin, Ramsey, Dakota, Anoka, and Washington counties have almost certainly had a meaningful hail event roll through in the last three years.
Estimate your Minnesota roof cost
Adjust the size, material, and Class 4 election below. The Minnesota calculator applies the MRC ice-and-water barrier as a baseline adder (code-mandated on every dwelling) and a Class 4 material uplift when elected — reflecting the shingle premium that earns a wind/hail carrier discount in hail-exposed counties. Decking replacement is separate; ask for a per-sheet rate before signing.
Class 4 asphalt runs roughly 5–10% more than standard architectural. Most Minnesota carriers (State Farm, Allstate, American Family, and others) then discount the wind/hail portion of the premium by 10–35% in hail-exposed counties — usually paying back the material premium in 2–3 years in Twin Cities ZIPs. Toggle on to see the install-cost impact.
- Materials$4,800 – $9,900
- Labor$2,400 – $4,500
- Permits & disposal$1,200 – $1,500
Includes Minnesota code adders: Ice-and-water barrier (MRC R905.1.2) — eave to 24" inside warm wall
Get actual bids →A directional estimate. Does not include decking replacement beyond the roof price or winter-install premiums. Submit your zip above for real contractor bids.
§325E.66, the 72-hour cancellation right, and the Minnesota claim playbook
Minnesota regulates insurance-funded roofing contracts through a dedicated statutory scheme that most homeowners have never read. Minn. Stat. §325E.66 (insurance-claim contracting rules) and §326B.811 (72-hour cancellation) sit alongside the general consumer-fraud framework (§325F.69 + §8.31) and the Deceptive Trade Practices Act (§325D.44). The Department of Commerce regulates insurers; the DLI regulates the contractors. The combined framework gives Minnesota homeowners more written-notice protection than a Texas or Oklahoma homeowner gets — provided the homeowner actually reads the contract before signing.
Minn. Stat. §325E.66 forbids a residential contractor from advertising or promising, directly or indirectly, to pay all or part of an insurance deductible, or to compensate the insured for allowing an inspection, making a claim, or referring the contractor. The contractor also has to provide the homeowner a written notice of the deductible rule in the initial estimate. A violation carries administrative fines up to $10,000 per violation under DLI enforcement, and the insurer is not obligated to consider an estimate prepared by a violating contractor. Both the insured and the insurer have a private right of action for damages.
Minn. Stat. §326B.811 runs parallel. Once a homeowner has signed a written contract with a residential building contractor, remodeler, or roofer to perform work that will be paid from insurance proceeds, the homeowner has 72 hours after the carrier denies the claim to cancel in writing. The contractor has 10 business days to return any payments or notes. Notice is effective on deposit in a mailbox. This is a Minnesota-specific remedy — most states give a homeowner no comparable statutory exit after a carrier denial.
Minn. Stat. §325F.69 (the Consumer Fraud Act) and §325D.44 (the Uniform Deceptive Trade Practices Act) are the broader backstops. A homeowner injured by fraudulent or unconscionable roofing practices can sue under §325F.69 and recover damages, costs, investigation expenses, and reasonable attorney fees through the private-attorney-general provision in Minn. Stat. §8.31. The Attorney General also enforces both statutes directly.
The statute of limitations needs careful reading. Contract-based claims on an insurance policy run six years under Minn. Stat. §541.05, subd. 1(1), but most Minnesota homeowners policies include a one-year contractual suit-limit clause that overrides the statutory default. Construction-defect claims against the roofing contractor follow Minn. Stat. §541.051 — two years from discovery of the defect, capped by a ten-year statute of repose from substantial completion. The short window is the one on your declarations page, not the six-year default.
The Minnesota Department of Commerce regulates homeowners insurers and takes consumer complaints through its online portal at mn.gov/commerce. Complaint volume on homeowners policies more than doubled between 2020 and 2023 (from 569 to 1,185 annual complaints), driven largely by disputes over wind/hail deductibles, non-renewals on older roofs, and coverage disputes after hail events. Commerce rules require 60 days' advance notice before a non-renewal, and the notice has to state the reason and inform the insured about the Minnesota FAIR plan as a backstop.
- §325E.66: deductible waivers prohibited; written notice required in initial estimateA contractor offering to cover your deductible is violating state law. DLI can assess up to $10,000 per violation, and your insurer can refuse the estimate entirely.Minn. Stat. §325E.66
- §326B.811: 72-hour right to cancel after carrier denies the claimIf the insurer denies coverage, you have 72 hours to walk away from the roofing contract in writing. The contractor has 10 business days to refund.Minn. Stat. §326B.811
- DLI Residential Roofer License required (Minn. Stat. §326B.802)Unlicensed residential roofing is a violation under §326B.845. Check the DLI lookup before signing — the contractor's license number belongs in the contract.Minn. Stat. §326B.802
- Claim filing window: 6 years statutory (§541.05), typically 1 year contractualMost Minnesota homeowners policies shorten the suit-limit to one year from date of loss. Check your declarations page before relying on the six-year default.Minn. Stat. §541.05
- Non-renewal: 60-day advance notice and FAIR plan disclosure requiredIf a carrier refuses to renew, you have 30 days to file a written complaint with the Commissioner of Commerce at mn.gov/commerce.Minn. Stat. §65A.29 (non-renewal notice)
Minnesota's combined framework: state licensure plus the anti-storm-chaser statute
Minnesota is one of only a handful of states that combines a state-issued residential roofer license with a dedicated storm-chaser statute. Together, Minn. Stat. §326B.802 (the DLI license) and Minn. Stat. §325E.66 (the deductible-waiver ban plus written-notice mandate) give a Minnesota homeowner two hard stops that a Texas or Oklahoma homeowner has to build themselves. Knowing how to verify both, in about fifteen minutes on the DLI and Commerce websites, is the single most important pre-signing step in Minnesota.
The DLI Residential Roofer License (Minn. Stat. §326B.802) is mandatory for every residential roofing contractor doing compensated work in Minnesota. Each licensed company designates a qualifying person who has passed the DLI prelicensing exam. The company posts a $15,000 surety bond, carries at least $300,000 per-occurrence general liability (with $10,000 minimum property damage), and keeps a Minnesota workers' compensation policy or a written exemption. The license number renews every April 1 and belongs in writing on every Minnesota roofing contract.
Unlicensed residential roofing is a statutory violation. DLI can issue a cease-and-desist order and assess monetary penalties of up to $10,000 per violation. Operating in violation of a DLI order is a gross misdemeanor under Minn. Stat. §326B.845. Unlike states without a state license, a Minnesota homeowner has a direct administrative complaint path — the DLI handles both licensing and enforcement under one agency.
Minn. Stat. §325E.66 layers on top. Any contractor providing insurance-funded home repair services is banned from advertising, offering, or delivering a deductible waiver. The contractor also has to hand the homeowner a written notification of §325E.66's requirements in the initial estimate — not after signing, not buried on page four. The statute provides both a public enforcement path (DLI fines up to $10,000 per violation) and a private right of action for the insured or insurer to recover damages.
Minnesota was an early adopter of both pieces — the DLI roofing license predates the post-2010 hail-storm surge, and §325E.66 was on the books by 2011, well before comparable statutes appeared in Texas (2017–2019) and Colorado (2012, then 2021). The upshot for a Minnesota homeowner in 2026 is that the verification checklist is shorter than in a no-license state, but the written-notice audit is stricter. A contract missing §325E.66's mandated notice language is legally deficient on its face.
Five-step Minnesota compliance check before you sign
Run through all five steps in about fifteen minutes before you sign any Minnesota roofing contract. Missing any one of them is a signal you're looking at a contractor who won't be a contractor for long, or won't be responsive once the work is done.
- Verify the DLI Residential Roofer License
Search the contractor's company name on the DLI eLicense lookup. Confirm the license class (Residential Roofer, Residential Building Contractor, or Residential Remodeler), the qualifying person's name, active status, and expiration date (every license expires March 31). A Minnesota contract should list the license number on the face of the contract.
- Confirm the surety bond and insurance limits
Ask for a current Certificate of Insurance showing at least $300,000 per-occurrence general liability with $10,000 property damage, plus the $15,000 surety-bond number. Call the bonding company and the insurer directly — a scanned COI with a dead-number phone line is the most common storm-chaser tell in the Twin Cities.
- Check for the §325E.66 written notice in the initial estimate
Before the contract, §325E.66 requires the contractor to hand you a written notification of the deductible-waiver rule. If the estimate is a single-page form with no §325E.66 language, the contractor is already non-compliant. The written notice is a cheap compliance test of everything else they'll do on your roof.
- Read the 72-hour cancellation clause
Every insurance-funded Minnesota roofing contract should reference §326B.811's 72-hour right to cancel after a carrier denial. The contractor doesn't have to draft the statute, but the contract should not contradict it. A clause that purports to waive the cancellation right or shorten the 72-hour window is void.
- Run a Commerce Department + AG complaint lookup
For the contractor's business name, search the Minnesota AG Consumer Protection history and the Department of Commerce enforcement actions page. DLI also publishes a Residential Building Contractor enforcement-actions list annually — a quick scan shows whether the company has a recent DLI order or unpaid penalty.
Verifying a Minnesota roofer through the DLI
Because Minnesota issues a state-level Residential Roofer License through the Department of Labor and Industry, homeowner verification is unusually simple compared to no-license states. The DLI maintains a public license-lookup portal, a published enforcement-actions list, and a complaint path that routes to a single agency. A Minnesota homeowner can usually confirm a roofer's legitimacy in under ten minutes — the friction that trips most homeowners up is not the lookup, it's the contractor volunteering the license number before the homeowner thinks to ask.
Minnesota has three license classes that authorize residential roofing work under Minn. Stat. §326B.802. A Residential Roofer license is the narrow class — roof coverings, sheathing, weatherproofing, and repair on existing residential structures, but not new roof-system construction. A Residential Building Contractor or Residential Remodeler license is broader and also authorizes roofing work. Any of the three satisfies the state requirement. The homeowner's job is to confirm the contractor holds at least one of the three, not to insist on a specific class.
The qualifying person is the individual within the company who passes the DLI prelicensing exam and carries personal responsibility for the license. There are no prerequisite experience or educational requirements to sit for the exam, but the qualifying person's name is public on the DLI lookup. A contract signed by someone other than the qualifying person is still valid, but the qualifying person is the one the DLI will call when something goes wrong.
Application requires a $15,000 surety bond, $300,000 per-occurrence general liability coverage (with at least $10,000 property damage), and a Minnesota workers' compensation certificate or a written exemption. These are minimums; reputable Twin Cities and Rochester roofers carry higher GL limits as a matter of course. Ask for the bond number and the GL policy number in writing before you sign.
DLI enforcement runs through Minn. Stat. §326B.845 and related administrative provisions. The commissioner can issue cease-and-desist orders, assess civil penalties up to $10,000 per violation, and refer for criminal prosecution. Unlicensed contracting in violation of a DLI order is a gross misdemeanor. The annual Residential Building Contractor enforcement-actions report (published on the DLI website) is worth skimming before signing — a company with an order against it in the last two years is not a random-draw problem.
The practical verification workflow: pull the company name from the quote, drop it into the DLI eLicense lookup, confirm the license is active and the class covers roofing, note the qualifying person's name, then cross-check the business-name spelling against the Secretary of State business registry. Three searches, ten minutes, end of the state-level verification.
How to verify a Minnesota roofing contractor license
Minnesota publishes its active contractor licenses in a public database. Two minutes before you sign catches most out-of-state storm chasers and lapsed licenses.
- 1Open the Minnesota license lookup
Go to the Minnesota contractor license search portal (DLI eLicense lookup). Ask the contractor for their license number on the first call so you can look them up directly.
Open → - 2Search by license number or business name
Enter the license number exactly as written. If the contractor hasn’t given you one yet, search by the business name that will appear on the contract — that’s what the license is actually under.
- 3Confirm the license is active and residential-qualified
The record should show the license as current and in good standing. Make sure the class covers residential roofing — in Minnesota that’s typically BC (Residential Building Contractor), RR (Residential Roofer), RM (Residential Remodeler). A lapsed, suspended, or wrong-class license can’t legally pull a roofing permit for your home.
- 4Check complaint and disciplinary history
Most state boards publish complaint counts and disciplinary actions next to the license detail. An active pattern of unresolved complaints, or a suspension within the past five years, is a hard stop.
Hail, tornadoes, ice dams, and when the claim clock starts
Minnesota severe weather comes in four flavors: hail (the dominant insurance peril), tornadoes (concentrated May through September), ice dams and freeze-thaw cycling (the winter reality), and Lake Superior effects along the North Shore. The claim clock on each usually starts from the date of loss, and most homeowners policies in Minnesota carry a one-year contractual suit-limit that overrides the six-year statutory default under §541.05.
Hail season centers on April through September with peak damage months in June, July, and August. The 2017 Twin Cities event — the June 9–11 storm cluster — produced approximately $1.8 billion in insured losses and remains the benchmark Minnesota hail catastrophe. The 2024 summer season layered multiple significant events on top, including July 13–14 supercells with 3.5-inch hail across eastern Minnesota and a July 31–August 1 cluster that dropped confirmed six-inch hailstones in Stevens County, plus four-inch hail across parts of Goodhue and Wabasha counties. State Farm's 2024 national data put Minnesota at $799 million in hail claim payouts, first in the nation.
Hail damage on asphalt shingles is not always visible from the ground. A direct strike produces a round bruise on the back of the shingle that may not show face-side granule loss for months. A Twin Cities homeowner whose ZIP took a two-inch-plus hail event in the last two seasons should schedule an inspection even if the roof looks visually fine. Filing within policy deadlines matters more than waiting for cosmetic damage to develop.
Tornado season peaks from May through September with June and July the heaviest months. Minnesota averages about 27 tornadoes per year; 2024's preliminary count reached 41. Most are EF0–EF2 with occasional EF3–EF4 events — the June 17, 2010 Wadena EF4 is the reference severe event in modern records. Roof damage from a near-miss tornado often looks like uplift along an entire street without visible tear-off; a neighborhood-wide inspection is worth scheduling after any confirmed tornado within a mile.
Ice dams and freeze-thaw cycling are the winter peril. The University of Minnesota Extension documents roughly 86 freeze-thaw cycles per winter at one inch below the roof surface over a ten-year observation window. Ice-barrier compliance under MRC R905.1.2 is the installed defense — a self-adhering polymer-modified bitumen membrane from the eave to at least 24 inches inside the warm-wall line, with additional coverage on roofs steeper than 8:12 under the state amendment. A Minnesota ice-dam leak on a roof installed without the code-required barrier is a contractor-liability case under §541.051, not just an insurance claim.
Polar-vortex cold snaps (sub-zero stretches for multi-day periods) produce a secondary problem: asphalt shingle brittleness. Freshly installed shingles in extreme cold do not seal properly and can blow off or crack. Reputable Minnesota roofers avoid full installs during active sub-zero weather, or use hand-sealing and starter-strip adjustments. A contractor pushing a mid-January full tear-off without addressing the cold-weather install protocol is either cutting corners or planning to be gone by spring.
- 2017Twin Cities hail cluster (June 9–11)Approximately $1.8 billion in insured losses; the benchmark Minnesota hail catastrophe, driving a decade of underwriting changes.
- 2023Minnesota hail seasonState-level losses helped drive Commerce Department homeowners-insurance complaint volume to 1,185 (up from 569 in 2020).
- 2024July 13–14 supercell hailUp to 3.5-inch hail across eastern Minnesota. State Farm-reported Minnesota hail payouts reached $799M for the year — first nationally.
- 2024July 31–August 1 giant hailSix-inch hail confirmed in Stevens County; four-inch hail across Goodhue, Wabasha, and upper Minnesota River counties.
Claim-filing deadlines by storm
Minnesota policies vary. The statutory ceiling on a contract claim is six years under Minn. Stat. §541.05, subd. 1(1), but most Minnesota property policies include a contractual suit-limit clause that overrides the statute — commonly one year from date of loss. File the written notice to the carrier promptly after damage and check your declarations page for the specific deadline.
| Storm | Landfall | New claim deadline | Supplemental deadline |
|---|---|---|---|
| Standard Minnesota homeowners policy (most carriers) | Date of loss (storm date) | Typically prompt written notice; carriers request within 60 days | Typically 1 year from date of loss (contractual suit-limit) |
| Contract claim default (§541.05, subd. 1(1)) | Date of loss | 6 years statutory (only if policy has no shorter clause) | Same 6-year window |
| Construction-defect claim against roofer (§541.051) | Substantial completion | 2 years from discovery of the defect | 10-year statute of repose from substantial completion |
| §326B.811 cancellation after denial | Date carrier denies claim | 72 hours written notice to contractor | Contractor refunds within 10 business days |
The specific deadline in your policy is printed on the declarations page under 'Suit Against Us' or 'Legal Action Against Us.' Every Minnesota homeowner should know their specific number before a storm hits, not after. If you cannot find it, call your agent and ask in writing.
Red flags specific to Minnesota
Minnesota regulates roofer misconduct through three overlapping statutes: Minn. Stat. §325E.66 (insurance-claim contracting rules and deductible-waiver ban), §326B.802 and §326B.845 (licensing and enforcement), and §325F.69 plus §325D.44 (consumer fraud and deceptive trade practices). Four patterns show up repeatedly after a Twin Cities or Rochester hail storm. Naming the specific statutory violation makes it easier to decline — or report — with confidence.
- "We'll cover your deductible" offersMinn. Stat. §325E.66
A contractor offering to pay, waive, rebate, absorb, or offset any part of your homeowners insurance deductible is violating Minn. Stat. §325E.66. DLI can assess administrative fines up to $10,000 per violation. Your insurer is also not obligated to consider an estimate prepared by a violating contractor. Decline in writing, keep the offer in your records, and file a complaint with the DLI Construction Codes and Licensing Division.
- Missing §325E.66 written notice in the initial estimateMinn. Stat. §325E.66, subd. 3
The statute requires the contractor to provide a written notification of the deductible-waiver rule with the initial estimate — not buried in the contract, not after the signing. An estimate missing the §325E.66 notice is already non-compliant on its face and is a strong signal about everything else the contractor will skip.
- No DLI Residential Roofer License number on the contractMinn. Stat. §326B.802 / §326B.845
Every licensed Minnesota residential roofing contractor has a DLI license number, and reputable contracts list it on the face of the agreement. An unlicensed contractor doing residential roofing is violating Minn. Stat. §326B.802, and continuing to operate after a DLI cease-and-desist is a gross misdemeanor under §326B.845. Run the company name through the DLI lookup before you sign.
- Post-hail door-to-door pressure to sign same-dayMinn. Stat. §325F.69 / §325D.44
Minnesota does not ban post-storm solicitation outright, but a same-day high-pressure contract usually violates the §325F.69 Consumer Fraud Act (deceptive practices) and the §325D.44 Uniform Deceptive Trade Practices Act. A contractor insisting you sign before they leave the driveway — or before they'll give you an inspection report — is signaling something about the contract you haven't read yet. Take the card and look them up on the DLI portal instead.
- Ice-barrier skipped or "standard felt" used at the eaveMRC R905.1.2
MRC R905.1.2 requires a self-adhering polymer-modified bitumen ice barrier (or two cemented layers of underlayment) from the eave to at least 24 inches inside the warm wall on every dwelling and conditioned structure. A contractor bidding a Minnesota re-roof with just 15-pound felt at the eaves is pricing a code violation, and the resulting ice-dam leak is a §541.051 construction-defect exposure for the contractor — not just an insurance problem for you.
How to report it
Minnesota runs contractor enforcement through the DLI, insurance-market issues through the Department of Commerce, and general consumer-fraud matters through the Attorney General. Reports are free, usually take under 15 minutes, and do not require that you have signed a contract.
- DLI Construction Codes and Licensing (unlicensed contracting, §325E.66)651-284-5069
- Department of Commerce consumer complaint (insurers, non-renewal)mn.gov/commerce/consumer/file-a-complaint
- Minnesota Attorney General Consumer Protection (fraud, deceptive trade)651-296-3353 / 800-657-3787
- Minnesota AG online complaint formag.state.mn.us/office/forms/cccomplaintform.asp
What shapes Minnesota roofing pricing
Minnesota asphalt-shingle re-roof pricing runs at or slightly above the national median. The drivers are Northern labor (the work happens in a shorter season), code-mandated ice-and-water barrier extending well inside the heated envelope, and hail-driven material-demand pressure around the Twin Cities. The factors pushing a specific quote higher or lower are usually climate-code-based (ice-barrier extent, decking condition after ice-dam exposure) or hail-insurance-related (Class 4 upgrade election).
On a typical 2,000-square-foot asphalt-shingle re-roof in Minneapolis or St. Paul, the baseline runs roughly $9,400 to $14,800. The bid-to-bid variance tends to be a 15–25% swing explained by four factors: how far the ice-and-water barrier is extended (the 24-inch-past-warm-wall minimum versus a more conservative 36-inch or two-course spec on shallower pitches), the decking-replacement rate (often elevated on older Twin Cities bungalows and 1950s–70s ramblers with repeated ice-dam history), whether the homeowner elects Class 4 impact-resistant shingles (a 5–10% material premium that earns a carrier wind/hail discount), and the time of year (winter installs carry cold-weather premiums where they're even viable).
The one line item where Minnesota is reliably more expensive than the national median is the ice-and-water barrier. MRC R905.1.2's 24-inch-inside-the-warm-wall minimum often means 6 feet of membrane from the eave on a typical Twin Cities home — materially more than the IRC baseline that governs, say, a North Carolina re-roof. On roofs steeper than 8:12, the MRC state amendment extends the requirement further up-slope. A Minnesota homeowner watching a contractor bid only a narrow eave strip is watching a code violation, not a pricing variance.
Class 4 impact-resistant shingles are the other Minnesota pricing lever worth understanding. Most major carriers writing Minnesota homeowners policies — State Farm, Allstate, American Family, and others — offer a premium discount on Class 4 (UL 2218) roofs in hail-exposed counties. The discount range is commonly 10–35% on the wind/hail portion of the dwelling premium, and in Twin Cities metro ZIP codes the math typically pays back the Class 4 material premium inside three years. Ask the agent for a quote with the discount as a line item before electing.
- Ice-and-water barrier extent (MRC R905.1.2)+$400–$900 material vs. IRC baseline
Minnesota code requires ice-barrier membrane from the eave to at least 24 inches inside the warm-wall line on every dwelling — typically 6 feet of membrane on a standard home. The MRC state amendment requires additional coverage on steeper-pitched roofs. A bid quoting only a narrow eave strip is pricing a code violation; compliant ice-barrier coverage drives the cost baseline above the national median.
- Class 4 impact-resistant shingle upgrade+$400–$1,100 material; -$150–$400/yr premium
Electing Class 4 (UL 2218) asphalt shingles adds roughly 5–10% to material cost, but most Minnesota carriers discount the wind/hail portion of the dwelling premium by 10–35% in hail-exposed counties. In Twin Cities metro ZIPs the premium savings typically pay back the material premium in 2–3 years. Verify the discount with your agent as a line item before assuming the range.
- Decking replacement rate+$600–$2,200 (highly variable)
Ice-dam history and freeze-thaw cycling accelerate decking rot on older Twin Cities homes. Contractors pricing a flat deck allowance ('$80–$120 per sheet as needed') are giving you an honest bid; contractors quoting 'decking not included' are giving you a blank check to be filled in mid-job. A homeowner should know their per-sheet price before signing — it's the most common surprise charge on older Minnesota homes.
Estimated impacts are directional, derived from Twin Cities contractor bid comparisons, MRC compliance cost reporting, and State Farm / American Family public discount documentation. Individual jobs vary with roof size, pitch, product tier, and access.
Published ranges for Minnesota asphalt-shingle re-roofs on a typical 2,000 sq-ft roof. These numbers are directional, not quotes. Real bid = site visit.
| Metro | Typical range | Note |
|---|---|---|
| Minneapolis | $9,400–$14,800 | Highest-volume hail-claim market in the state. |
| St. Paul | $9,200–$14,500 | Tracks Minneapolis closely with older housing-stock decking risk. |
| Rochester | $8,800–$13,800 | Slightly below Twin Cities average; lower labor overhead. |
| Duluth | $9,000–$14,500 | Lake Superior ice-barrier premium; tighter winter install window. |
| St. Cloud | $8,600–$13,500 | Generally below Twin Cities average on comparable scopes. |
Ranges pulled from Minnesota-aggregator pricing data plus contractor bid comparisons. A real bid is a site visit; treat these numbers as a sanity check.
Frequently asked questions
Yes. Minn. Stat. §326B.802 requires every residential roofing contractor to hold a Residential Roofer, Residential Building Contractor, or Residential Remodeler license issued by the Department of Labor and Industry (DLI). The qualifying person must pass a DLI exam, and the company must carry a $15,000 surety bond, $300,000 per-occurrence general liability, and Minnesota workers' compensation coverage. Verify the license on the DLI eLicense lookup before signing — the license number belongs in writing on the contract.
Minn. Stat. §325E.66 governs insurance-claim residential contracts. It bans contractors from paying, waiving, rebating, or absorbing any part of your homeowners insurance deductible, and requires the contractor to hand you a written notification of that rule in the initial estimate. Violations carry DLI fines up to $10,000 per violation, and the insurer is not obligated to consider an estimate prepared by a violating contractor. A homeowner and an insurer both have a private right of action for damages.
Yes. Minn. Stat. §325E.66 prohibits any residential contractor from paying, offering to pay, rebating, or absorbing any portion of your insurance deductible. It also prohibits offering compensation for allowing an inspection, making a claim, or referring the contractor. Report to the DLI Construction Codes and Licensing Division at 651-284-5069 or file a complaint with the Minnesota Attorney General at 800-657-3787.
Minn. Stat. §326B.811 gives a Minnesota homeowner 72 hours to cancel an insurance-funded roofing contract after the insurer has notified you that the claim has been denied. Notice of cancellation must be in writing and is effective on deposit in a mailbox. The contractor has 10 business days to refund any payments. No other state's statute frames the cancellation window around the carrier's denial in exactly the same way — read the clause in your contract before signing.
Minnesota's statutory contract window is six years under Minn. Stat. §541.05, subd. 1(1), but most Minnesota homeowners policies include a one-year contractual suit-limit clause that overrides the statute. The specific deadline is printed on your declarations page under 'Suit Against Us' or 'Legal Action Against Us.' Send written notice to your carrier promptly after identifying damage — don't rely on the six-year default.
Most major Minnesota carriers — State Farm, Allstate, American Family, and others — offer a premium discount for Class 4 (UL 2218) roofs in hail-exposed counties. The discount is commonly 10–35% on the wind/hail portion of the dwelling premium. It is not automatic: your carrier needs documentation (a contractor-signed certification form, the manufacturer product data sheet, and install photos). Ask your agent for a specific quote showing the Class 4 discount as a line item before electing the upgrade.
MRC R905.1.2 (Minnesota Residential Code, based on the 2020 IRC with state amendments) requires an ice-and-water barrier — either two cemented layers of underlayment or a self-adhering polymer-modified bitumen sheet — from the eave to at least 24 inches inside the warm-wall line on every dwelling and conditioned structure. On roofs steeper than 8:12, the MRC amendment extends the requirement up the slope. A re-roof that skips or shorts the ice-barrier violates the code and exposes the contractor to construction-defect liability under §541.051.
File complaints with (1) the DLI Construction Codes and Licensing Division at 651-284-5069, (2) the Minnesota Department of Commerce if insurance proceeds are involved at mn.gov/commerce, and (3) the Minnesota Attorney General Consumer Protection Division at 800-657-3787. The DLI can assess administrative penalties up to $10,000 per violation and can refer gross-misdemeanor cases for criminal prosecution under §326B.845. A private civil suit under §325F.69 plus the private-attorney-general statute (§8.31) can recover damages, costs, and attorney fees.
Minnesota cities we cover
Permit offices, historic-district rules, and storm patterns vary metro to metro. Pick your city for the local details that don’t fit on this page.
Sources
Every rule, statute, and figure on this page cites an authoritative source. Verify anything you're about to act on.
- Minn. Stat. §326B.802 — Residential Contractors, Remodelers, Roofers (definitions + license)statute
- Minn. Stat. §326B.811 — Residential Roofing Contract; Right to Cancelstatute
- Minn. Stat. §326B.845 — enforcement and gross-misdemeanor penaltystatute
- Minn. Stat. §325E.66 — Insurance Claims for Residential Contracting Goods and Servicesstatute
- Minn. Stat. §325F.69 — Consumer Fraud Actstatute
- Minn. Stat. §325D.44 — Uniform Deceptive Trade Practices Actstatute
- Minn. Stat. §541.05 — six-year statute of limitations on contractstatute
- Minn. Stat. §541.051 — construction-defect limitations and ten-year reposestatute
- DLI Residential Roofer License program pageregulator
- DLI Contractors and insurance deductibles (§325E.66 guidance)regulator
- Minnesota Department of Commerce consumer complaint portalgovernment
- Minnesota AG Consumer Protection — Home Building and Remodeling handbookgovernment
- Minnesota Residential Code R905.1.2 (ice barrier)regulator
- NWS Twin Cities — Minnesota severe weather archivegovernment
- Minnesota DNR — Giant Hail July 31 to August 1, 2024government
- State Farm 2024 hail claims data — Minnesota #1 nationallyindustry
Ready to compare bids on a Minnesota roof?
Two minutes of questions. A local roofer reaches out through our lead partner. See how we handle your quote request for how lead routing works and what to verify yourself.
Start with my zip code