What happens if you skip the permit (and you needed one)
- Stop-work order issued on-site by Madison Heights building inspector; typical fine $500–$1,500, plus forced roof removal and re-permit at double the original fee.
- Insurance claim denial — your homeowner's policy will exclude unpermitted roof work if damage occurs, leaving you uninsured for storm or wind damage.
- Disclosure hit at sale — Michigan's Property Condition Disclosure Statement (TDS) requires disclosure of unpermitted work; buyers can walk away or demand $10,000–$30,000 price reduction.
- Refinance or title-transfer blocked — lender or title company discovers unpermitted work during appraisal or closing; deal stalls until retroactive permit obtained ($300–$800 plus inspections).
Madison Heights roof replacement permits — the key details
The Michigan Residential Code, adopted by Madison Heights, requires a permit for any roof replacement that involves a tear-off-and-replace or a material change (shingles to metal, tile, etc.). The code specifically enforces IRC R907.4: 'If there are already two layers of roof covering on the structure, the existing roof coverings shall be removed before a new roof covering is applied.' This means if your inspection reveals three layers, the city will not issue a permit for overlay — you must tear off. Madison Heights building inspectors are trained to identify layer count during the permit review stage, often asking for a photo of a nail hole or section of the roof taken down to the deck. If you misrepresent the layer count on your application and the inspector discovers three layers on-site, the permit will be revoked and work must stop. Partial replacements — for instance, a new section of roof over a dormer or an addition — that do not exceed 25% of the total roof area are typically exempt from permitting in Madison Heights, provided they are like-for-like material. However, the 25% threshold is measured as a percentage of the entire roof's plan-view square footage (not just the affected section), so a 500-square-foot partial on a 2,000-square-foot roof (25% exactly) hits the line. Document your roof dimensions and existing square footage before claiming exemption.
Ice-water shield and underlayment specifications are non-negotiable in Madison Heights because of climate zones 5A and 6A, where freeze-thaw cycles and ice dams are common. The city enforces IRC R905.1.1, which requires underlayment beneath all roof coverings, and IRC R905.1.2 requires ice-water shield (a type of self-adhering synthetic underlayment) to extend from the eave line to a point at least 24 inches beyond the interior wall line of the building (or, in practice, at least 24 inches up the roof slope from the eave). Many rejected permit applications in Madison Heights lack this detail — contractors submit roofing specs without mentioning underlayment product name and placement. On your permit application or contractor's submittal, explicitly state: 'Ice-water shield: [brand and grade] extending 24 inches minimum from eave.' The city will also ask about fastening pattern (typically 8-12 nails per shingle in high-wind zones, 6 nails in standard zones). Madison Heights does not have a documented hurricane zone or special wind uplift requirement like Florida or coastal areas, so standard asphalt-shingle fastening is acceptable — but provide the pattern on the permit form anyway.
Madison Heights allows owner-builder permits for owner-occupied residential properties, which means you can pull a roof-replacement permit yourself without hiring a licensed roofing contractor. However, the city still requires an approved roofer or the homeowner to perform the work; you cannot hire unlicensed labor. If you hire a contractor, confirm they have a Michigan roofing license and current liability insurance before work starts. The permit application will ask for the contractor's license number and insurance card copy. If the contractor pulls the permit on your behalf (which is common), they are responsible for submitting the correct spec sheet and paying the permit fee — verify this before signing a contract, because a missed deadline or incomplete submittal will delay the project and potentially void the contractor's timeline guarantee. Madison Heights does not charge extra for owner-builder permits, but the city will schedule a deck inspection before the roofing work begins (to verify deck fastening and condition) and a final inspection after all work is complete. Both inspections typically occur within 2-5 business days of a request.
The permit fee in Madison Heights is typically calculated as a flat amount or a per-square charge. Based on recent city fee schedules, roof-replacement permits run $150–$350, depending on the roof size and whether deck repairs are identified during inspection. A 2,000-square-foot roof replacement (approximately 20 squares) with no deck work runs roughly $200–$250; if deck nailing or rotten boards are found, the fee may increase $50–$100. The city does not charge a separate fee for the inspection — it is included in the permit. Payment is due at the time of permit issuance, and the city accepts checks, credit cards, and in some cases online payment via their portal. Permit validity in Madison Heights is typically 12 months, meaning you have one year to start and complete the roof work. If work extends beyond 12 months, a one-time extension request (usually $25–$50) can be filed.
Timeline expectations: After you submit a complete application (with photos of existing layers, roof dimensions, material spec, and fastening pattern), Madison Heights typically issues a permit decision within 3-5 business days. For straightforward like-for-like tear-off-and-replace projects, the review is often same-day or next-day. Once the permit is issued, you can begin work immediately. The deck inspection is called in a few days before you lay new shingles — the inspector verifies that all deck fasteners are spaced per code (typically 12-16 inches on center in high-wind areas) and checks for rot or structural issues. If the deck passes, work continues. The final inspection occurs after all shingles are laid and flashing is sealed. Both inspections take 15-30 minutes. Do not install gutters or trim until final inspection is complete, as the inspector needs clear roof line visibility. The entire permitting and inspection sequence typically runs 2-4 weeks from application to final signoff.
Three Madison Heights roof replacement scenarios
Madison Heights climate zones 5A and 6A: ice-water shield and freeze-thaw protection
Madison Heights straddles two climate zones — 5A in the south (near I-696) and 6A in the north (toward Pontiac). Both zones experience freeze-thaw cycles, ice dams, and wind-driven rain, which the 2015 and 2021 Michigan Residential Codes address through ice-water-shield mandates. Ice-water shield is a self-adhering synthetic underlayment that seals around nail penetrations and provides a second water barrier in the event of ice dam backup or wind-driven rain. The IRC R905.1.2 requirement to extend ice-water shield 24 inches beyond the interior wall line is not optional in Madison Heights — the city's building inspectors will flag any submittal that skips this detail. Many roofing contractors from warmer climates (or those working across multiple states) forget this requirement or use it sparingly. In Madison Heights, ice-water shield must cover the entire eave overhang plus at least 24 inches up the roof slope (measured vertically along the slope). For a typical eave overhang of 12-18 inches, this means ice-water shield starts about 3-6 feet up the roof from the eave line. On a two-story home with a steep roof, this can add 300-500 square feet of ice-water shield, or $150–$300 in material. It is not optional.
Madison Heights online portal and permit submittal workflow
Madison Heights has migrated to an online permit-submission portal (accessible via the city website) that reduces in-person trips to City Hall. You can submit a roof-replacement permit application, attach photos, and pay the fee electronically. The portal logs your application and assigns a case number, which you use for all future correspondence. For roof replacements, the city requires: (1) a completed permit form (available on the portal); (2) roof dimensions and square footage (blueprint or measurement sketch); (3) photo(s) of existing roof layers (showing nail-penetration count, shingle condition, or visible layers at a corner or vent penetration); (4) new roofing material spec sheet (manufacturer name, product name, grade, fire rating); (5) underlayment and ice-water-shield details (product name, placement); and (6) fastening pattern (nails per shingle, spacing). Submittals without photos of existing layers or incomplete material specs are rejected within 1-2 days, delaying the permit. Many contractor-pulled permits are rejected on the first round because the contractor did not include underlayment details or misrepresented the existing layer count. If you pull the permit yourself, be thorough and include these details upfront to avoid a re-submission cycle. The portal also allows you to track inspection requests and view inspection reports. Once your permit is issued, you log into the portal and request a deck inspection (typically 2-3 days out). The inspector schedules a date and time, and you receive an email confirmation. Same process for the final inspection. This electronic workflow keeps Madison Heights permits on schedule and transparent.
Madison Heights City Hall, Madison Heights, MI 48071 (confirm via city website)
Phone: (248) 541-3500 or local building permit line (verify current number) | https://www.madisonheightsmichigan.org (search 'building permits' or 'permit portal')
Monday–Friday, 8:00 AM–5:00 PM, Eastern Time (closed holidays)
Common questions
Can I reroof over existing asphalt shingles without tearing them off, or do I have to remove them?
You can overlay (install new shingles over existing) if you have only one or two layers and your roof area is under 25% of replacement (per Michigan Residential Code). However, Madison Heights building inspectors strongly recommend a tear-off even if overlay is allowed, because an overlay can hide deck rot and complicates future inspections. If you choose to overlay, you still need a permit to declare the material and fastening pattern, and the inspector will require photographic evidence that you have no more than two existing layers. A tear-off avoids ambiguity and typically costs $1,000–$2,000 more in labor but gives you a clean deck and longer-term roof performance.
How do I know if I have two or three layers of shingles?
Climb to the attic and look at the underside of the roof deck — you'll see nail heads from each layer. Or, go to the roof edge (gutter line) and carefully lift the corner of the top shingle; look at the cut edges and count distinct layers. If you see three distinct shingle layers or three rows of nails, you have three layers and you must tear off before re-roofing — Madison Heights will not issue an overlay permit for three layers. If you're unsure, a professional roofer can inspect during a free estimate. When you submit your permit application, include a photo of the layer count — this preempts rejection.
What happens if the deck inspection finds rot or structural issues?
If the inspector finds rotted wood or inadequate deck fastening, the permit is placed on hold pending deck repair. You'll be issued a structural-repair work order (typically $75–$150 extra permit fee) that must be completed and re-inspected before roofing begins. Rotten wood must be replaced with grade-stamped lumber of the same dimension and species; fastening must meet code (typically 12–16 inches on center with galvanized or stainless fasteners). Once the deck repair is inspected and signed off, the roof permit resumes. This adds 1–2 weeks to the timeline, but it prevents future leaks and structural failure.
Do I need ice-water shield everywhere on my roof, or just the eaves?
Ice-water shield is required at the eave (extending 24 inches up the roof slope in climate zones 5A and 6A), at valleys, and at any penetration (vent, chimney, skylight). The eave requirement is the most common and the one Madison Heights inspectors verify first. Standard underlayment (felt or synthetic) can cover the rest of the roof, but the ice-water-shield zones must be protected with that self-adhering product. Ask your contractor to specify which product is being used in which zones on the submittal.
If I do unpermitted roofing work and later sell the house, am I required to disclose it?
Yes. Michigan's Property Condition Disclosure Statement (TDS) requires you to disclose any known unpermitted or non-code-compliant work. Failing to disclose can expose you to civil liability and rescission of the sale. If a buyer or their inspector discovers unpermitted roofing after purchase, they can sue for the cost of removal and re-permit. It is far cheaper to pull a permit upfront ($150–$350) than to face a $5,000–$15,000 liability dispute at closing.
Can I install a metal roof over my existing asphalt shingles without tearing off?
Technically, if you have only one asphalt layer, a metal-roof overlay over that asphalt counts as two layers (acceptable under code). However, Madison Heights strongly encourages tear-offs for metal roofing because the metal roof's fastening pattern and load are very different from asphalt, and the asphalt layer underneath can trap moisture and heat, shortening the metal roof's life. Additionally, the inspector will have difficulty verifying the condition of the asphalt underneath during the inspection. A tear-off is recommended and will result in a longer-lasting, more inspectable installation. Your permit application can request an overlay if you wish, but the city may require a structural evaluation.
What is the owner-builder permit process in Madison Heights?
Madison Heights allows owner-builders to pull permits for owner-occupied residential properties. You fill out the standard permit form, provide the same documentation (roof dimensions, material spec, ice-water-shield detail, fastening pattern) as a contractor would, and pay the permit fee. You can hire a licensed roofing contractor to perform the work, or you can do it yourself if you are the owner and the property is your primary residence. The city will still conduct deck and final inspections. No additional licensing or bonding is required for owner-builders, but the city may require proof of ownership (deed or mortgage statement) if questioned.
How long is my permit valid, and can I extend it?
Madison Heights permits are valid for 12 months from issuance. If you do not start work within 12 months, the permit expires and you must reapply (and pay the fee again). If you start work within 12 months but do not finish, you can request a one-time 6-month extension (typically $25–$50 fee) by submitting a form to the building department before the original permit expires. If you need a second extension, you may need to reapply. Plan your project timeline accordingly, and alert the city if you anticipate delays.
Can I hire an out-of-state roofing contractor to work in Madison Heights?
Yes, but the contractor must hold a current Michigan roofing license (or a reciprocal license recognized by Michigan). At permit issuance, the city will verify the contractor's license number and current liability insurance (minimum $1 million coverage is standard). If the contractor is unlicensed or the insurance has lapsed, the permit will be denied or placed on hold until corrected. Always request a copy of the contractor's Michigan license and insurance certificate before signing a contract. Many out-of-state contractors have reciprocal licenses, but some do not — verify before hiring.
What is the difference between a permit fee and an inspection fee in Madison Heights?
Madison Heights combines the permit fee and inspection fee into a single charge ($150–$350 for most residential roof replacements). You pay this fee once at permit issuance, and it covers both the plan review (if required) and up to two inspections (deck and final). If additional inspections are required (e.g., for deck repair or engineering review), those may carry extra fees ($50–$150 per inspection). Always ask the building department for the total fee upfront so there are no surprises.
More permit guides
National guides for the most-asked homeowner permit projects. Each goes deep on code thresholds, common rejections, fees, and timeline.
Roof Replacement
Layer count, deck inspection, ice dam protection, hurricane straps.
Deck
Attached vs freestanding, footings, frost depth, ledger, height/area thresholds.
Kitchen Remodel
Plumbing, electrical, gas line, ventilation, structural changes.
Solar Panels
Structural review, electrical interconnection, fire setbacks, AHJ approval.
Fence
Height/material limits, sight triangles, pool barriers, setbacks.
HVAC
Equipment changeouts, ductwork, combustion air, ventilation, IMC sections.
Bathroom Remodel
Plumbing rough-in, ventilation, electrical (GFCI/AFCI), waterproofing.
Electrical Work
Subpermits, NEC sections, panel upgrades, GFCI/AFCI, who can pull.
Basement Finishing
Egress, ceiling height, electrical, moisture barriers, occupancy rules.
Room Addition
Foundation, footings, framing, electrical/plumbing extensions, structural.
Accessory Dwelling Units (ADU)
When permits are required, code thresholds, JADU vs ADU, electrical/plumbing/parking rules.
New Windows
Egress, header sizing, structural cuts, fire-rating, energy code.
Heat Pump
Electrical capacity, refrigerant handling, condensate, IECC compliance.
Hurricane Retrofit
Roof straps, garage door bracing, opening protection, FL OIR product approval.
Pool
Barriers, alarms, electrical bonding, plumbing, separation distances.
Fireplace & Wood Stove
Hearth, clearances, chimney, gas line work, NFPA 211.
Sump Pump
Discharge location, electrical, backup options, plumbing tie-in.
Mini-Split
Refrigerant lines, condensate, electrical disconnect, line set sleeve.