Wisconsin DSPS Credentials and City of Madison Roofing Permits Explained
Wisconsin's contractor credentialing system confuses a lot of Madison homeowners because there is no single statewide "roofing license." Instead, the state relies on a Dwelling Contractor system through DSPS combined with local permitting through the City of Madison or Dane County. Here's how the pieces fit together before you hire anyone.
By Jason Green · Roofing & Gutters · Published August 13, 2026 · 8 min read
What DSPS actually regulates
The Wisconsin Department of Safety and Professional Services (DSPS) administers the Uniform Dwelling Code (UDC) program, which governs construction standards for one- and two-family dwellings statewide, including roofing work.
Contractors performing dwelling construction, including roofing, must hold a Dwelling Contractor Qualifier certification (an individual credential earned through exam) and register their business as a Dwelling Contractor, both issued and tracked by DSPS.
Why there is no roofing-specific state license
Unlike some states that license roofers as a distinct trade, Wisconsin folds roofing under the broader Dwelling Contractor framework, meaning a certified Dwelling Contractor can legally perform roofing without a separate roofing credential.
This makes verifying a contractor's active DSPS Dwelling Contractor Qualifier number through the DSPS online license lookup an essential step, since it is the closest thing to a roofing license check available in Wisconsin.
City of Madison permit process for roofing
Homeowners within Madison city limits pull roofing permits through the City of Madison Building Inspection Division at the Madison Municipal Building; most roof replacements need a permit, though minor repairs sometimes do not, so it's worth confirming directly with the division for your specific project.
The permit review checks compliance with the Uniform Dwelling Code, including proper flashing, ventilation, and ice-and-water shield extension required in Wisconsin's climate zone, and an inspector typically does a final walkthrough after the roofer completes the tear-off and installation.
Dane County permits outside city limits
Homeowners in unincorporated Dane County or smaller surrounding municipalities like the Town of Madison should check with Dane County Zoning rather than the City of Madison office, since jurisdiction depends on exact address, not just proximity to the city.
Some incorporated suburbs like Middleton, Fitchburg, and Sun Prairie run their own building inspection departments separate from both the city and county, so confirming the correct office before applying saves time.
Red flags when checking a contractor's credentials
A contractor unwilling to provide their DSPS Dwelling Contractor Qualifier number, or one whose number doesn't show as active on the DSPS lookup, is a serious warning sign.
Also confirm general liability insurance and, if the company has employees, Wisconsin workers' compensation coverage, since Wisconsin law requires most employers to carry it and an uninsured crew injured on your property can become your liability.
Typical cost ranges
| DSPS Dwelling Contractor Qualifier exam/cert fee | $30 - $50 |
| DSPS Dwelling Contractor registration (business) | $35 - $75 annually |
| City of Madison roofing permit fee | $75 - $250 |
| Dane County Zoning permit fee (unincorporated areas) | $75 - $250 |
Ranges are general estimates gathered from homeowner-reported quotes, not an offer or a quote for your project.
Common questions
Is there a roofing-specific license in Wisconsin?
No. Wisconsin regulates residential roofing under the broader Dwelling Contractor Qualifier and Dwelling Contractor registration system administered by DSPS.
How do I verify a Madison roofer's credentials?
Ask for their DSPS Dwelling Contractor Qualifier number and check it against the DSPS online license lookup to confirm it is active.
Where do I get a roofing permit in Madison?
Inside city limits, permits go through the City of Madison Building Inspection Division; in unincorporated Dane County, contact Dane County Zoning instead.
Want real numbers for your own project?
Two minutes now beats weeks of unreturned calls. Free, no obligation, never more than three roofers.
Get My Free Roofing QuotesLocal cost ranges, seasons, permits and licensing for this city live on the market page.
Roofers in Madison, WISources
The Henry Standard
Every roofer in our network agrees to three things.
Show up
Call back. Keep appointments. And if something changes, communicate it.
Quote honestly
Clear scope, materials, and pricing in writing—so you know what you're agreeing to.
Finish the work
See the job through and take care of the agreed-upon work before calling it finished.
Nothing revolutionary. Just the way we believe doing business should still be done.
