Every licensed roofing contractor in Minnesota must renew their Residential Roofer license on a 2-year cycle through the Department of Labor and Industry (DLI). Let your renewal lapse and you're immediately barred from performing roofing work, pulling permits, or taking new residential contracts — and reinstating an expired license gets more complicated and expensive the longer you wait.
This guide covers the complete MN roofer license renewal process: continuing education requirements, current fees, renewal timeline, online vs. paper options, and the most common mistakes that cause roofing contractors to end up with expired licenses.
MN Roofing Contractor License Renewal Requirements
Continuing Education: 7 Hours
Minnesota requires 7 hours of DLI-approved continuing education (CE) before you can renew your Residential Roofer license. CE must be completed before submitting your renewal application — the DLI will reject applications where CE hours are not on record.
Approved CE topics typically include:
- Minnesota Building Code updates — Code cycle changes affect roofing installation methods, underlayment requirements, and ventilation standards.
- Wind and weather resistance standards — Minnesota's climate demands specific installation techniques for ice dam prevention and wind uplift resistance.
- Safety and OSHA compliance — Fall protection, ladder safety, and jobsite hazard management are required CE topics for roofing contractors.
- Business practices and contract law — DLI-approved providers offer electives covering contractor-client agreements, warranty obligations, and dispute resolution.
Confirm with your CE provider whether they report completions directly to the DLI. If they don't, you'll need to submit proof of completion yourself when applying. Finding out at renewal time that your hours weren't reported is a common and avoidable delay.
Surety Bond: $15,000
Minnesota requires Residential Roofer licensees to maintain a $15,000 surety bond at all times. Your bond must be current at the time of renewal — a lapsed bond means a rejected renewal application. Contact your bonding company to confirm your bond is active and will remain valid through your next 2-year license cycle before you start the renewal process.
Insurance Requirements
In addition to the surety bond, Residential Roofer renewal requires:
- Current general liability insurance certificate (naming the State of Minnesota as a certificate holder)
- Workers' compensation certificate (required if you have employees)
Get your bonding and insurance renewed before starting the license renewal application — missing documents will delay processing and could cause your license to lapse while you chase paperwork.
Renewal Fees
Fees are set by the DLI and periodically updated. Always verify the current fee schedule at dli.mn.gov before submitting. Key points about MN roofer license renewal fees:
| Fee Type | Details |
|---|---|
| Standard renewal fee | Set by DLI — verify current amount at dli.mn.gov |
| Late renewal penalty | Additional fee applied after expiration date |
| Extended lapse fee | Higher fees for licenses expired more than 1 year |
| Surety bond | $15,000 bond (cost varies by bonding company) |
Late renewals submitted after your expiration date incur penalty fees on top of the standard renewal fee. Licenses expired for extended periods may require additional CE hours or re-examination, increasing the total cost significantly. Renew on time — it's always cheaper.
Renewal Timeline & Deadlines
| Time Before Expiration | What to Do |
|---|---|
| 90 days out | Confirm your exact expiration date; schedule CE courses |
| 60 days out | Complete all 7 CE hours; renew surety bond and insurance |
| 30 days out | Submit online renewal application and pay fee |
| 14 days out | Verify "Active" status with updated expiration date in DLI database |
| Expiration date | License is now Expired if not renewed — work stops immediately |
| After expiration | Penalty fees apply; extended lapses may require additional CE or re-exam |
Not sure of your exact expiration date? Look it up now — don't guess:
Search Minnesota license records →
Online vs. Paper Renewal Process
Online Renewal (Recommended)
The DLI online portal is the fastest way to renew your Minnesota roofing contractor license. The process takes about 15 minutes:
- Go to dli.mn.gov and navigate to the Contractor Licensing section
- Log in using your license number
- Confirm your CE hours appear on record (if your provider reported directly, they'll show automatically)
- Upload current bond and insurance documents
- Pay the renewal fee online
- Download your renewed license certificate
Online renewals typically process within 1–3 business days. Your updated status will appear in the DLI database — and in our search tool — within 24 hours of processing.
Verify a contractor's license →
Paper Renewal
Paper applications are still accepted by the DLI but are significantly slower. Mail processing typically takes 2–4 weeks. If your license is expiring soon, paper renewal creates a real risk of a gap in your active status. If you go the paper route, submit at least 45 days before expiration. Download forms from dli.mn.gov.
Common Renewal Mistakes to Avoid
These are the five most common reasons Minnesota roofing contractors end up with expired licenses:
- Relying on the DLI renewal notice — The DLI mails a notice roughly 60 days before expiration. Address changes, forwarded mail, and simple oversight cause thousands of professionals to miss it every year. The notice is a reminder, not a safety net — set your own calendar reminders.
- Assuming CE hours were automatically reported — Not all CE providers report completions directly to the DLI. If yours doesn't, you must submit proof yourself. Finding out at renewal time that hours aren't on record adds delays that can push you past your expiration date.
- Waiting until the final week — Online renewals process in 1–3 business days, but delays happen. A license that expires while your renewal is "in process" is an expired license. Submit with enough lead time that a processing hiccup doesn't cost you your active status.
- Letting bond or insurance lapse first — Residential Roofer renewals are rejected if your $15,000 surety bond or liability insurance has expired. Renew bonding and insurance before touching the license renewal application — not after.
- Not knowing the exact expiration date — Minnesota roofing licenses expire on a rolling basis based on when the license was originally issued or last renewed. Many contractors remember roughly when they renewed but miss by days. Check your exact date now.
Keep Your License Current
Stop relying on DLI mail or your own memory. Our monitoring service tracks your license status daily and sends email alerts at 90, 60, and 30 days before expiration — so you're never caught off guard.
Monitor your license status for $29/mo — expiration alerts, status change notifications, and instant access to your full license record. Sign up below and we'll remind you before your next renewal deadline.
Need to verify the status of a roofing contractor before hiring them? Our free tool checks 244,000+ DLI records updated daily:
Search Minnesota license records → | Verify a contractor's license →
Get weekly MN license updates — free
We track Minnesota license regulation changes so you don't have to. No spam, just the updates that matter.
No spam. Unsubscribe any time.