Research by DoINeedAPermit Research Team · Updated May 2026
The Short Answer
Yes — any full roof replacement, tear-off-and-replace, or material change requires a permit from the City of Holland Building Department. Repair patches under 25% of roof area and single-layer overlays may be exempt, but the IRC R907 three-layer rule and Holland's ice-and-water-shield requirements in the climate-zone 5A/6A cold-winter environment make most residential roofing projects permit-eligible.
Holland sits in NOAA climate zones 5A (south) and 6A (north), which triggers specific code requirements that set it apart from milder Michigan cities and certainly from downstate communities. The 42-inch frost depth and long heating seasons mean the City of Holland Building Department enforces IRC R907.4's three-layer limit strictly — any existing roof with two or more layers almost always requires a full tear-off before new installation, not an overlay. This is a local enforcement posture that matters; some permitting jurisdictions are looser about re-covers, but Holland inspectors flag it in the field. Additionally, Holland's adoption of the International Building Code (IBC) 2015 edition (with Michigan amendments) includes mandatory ice-and-water-shield placement extending 24 inches up from the eaves in unheated spaces — a cold-climate detail often missed on DIY permits and a common rejection reason. The city's online permit portal (accessible through the Holland city website or in-person at City Hall) requires a completed reroofing affidavit specifying existing layer count, material, and new underlayment type before plan review. Unlike some neighboring jurisdictions that allow same-day over-the-counter (OTC) issuance for like-for-like shingle replacements, Holland typically processes reroofing permits within 3-5 business days because the deck inspection and layer-count verification happen in-field, not desk-side.

What happens if you skip the permit (and you needed one)

Holland, Michigan roof replacement permits — the key details

The City of Holland Building Department uses the 2015 International Building Code (IBC) with Michigan amendments and the 2015 International Residential Code (IRC). For roof replacement, the critical rule is IRC R907 (Reroofing), which prohibits applying new roofing over three or more existing layers. Holland inspectors enforce this during the pre-construction deck inspection — they will pull existing shingles back or use a probe to count layers. If three layers are found, the project cannot proceed as a re-cover; it must become a full tear-off project, which costs $2,000–$4,000 more in labor. Additionally, IRC R905 (Roof Coverings) and local adoption require ice-and-water-shield to be installed from the eaves up a minimum of 24 inches in Holland's climate zone 5A/6A environment. This is not optional — the permit application includes a materials schedule form, and the final inspection checks for this. Many homeowners who hire roofers expecting a simple overlay discover mid-project that a third layer triggers a tear-off requirement, and the permit gets amended. The city does NOT allow unpermitted "change order" work; any scope change requires an amended permit filed before work resumes.

Holland's permit fee for roof replacement is calculated at roughly 1% to 1.5% of the estimated project cost, with a minimum of $100 and a maximum of $400 for typical residential roofs (1,500-3,500 sq ft). A 2,000 sq ft shingle-to-shingle replacement is usually estimated at $8,000–$12,000, yielding a permit fee of $100–$150. If the project includes a material change — shingles to metal, asphalt to tile, or architectural/premium shingles with structural upgrades — the cost estimate and fee can jump to $200–$400. Permit fees are non-refundable once issued, even if you halt the project. Plan-review turnaround in Holland is 3-5 business days; if Holland staff have questions (incomplete materials schedule, unclear flashing details, or missing ice-and-water-shield callout), they issue a rejection letter and you must resubmit. This can add 5-10 days to the overall timeline. The city accepts applications online through its permitting portal (verify the current URL on the Holland city website) or in-person at City Hall, 270 S River Ave, Holland, MI 49423. Online submissions are processed faster (3 business days) than in-person walk-ins due to the asynchronous queue.

Inspections for roof replacement in Holland typically occur in two phases: pre-construction deck inspection and final inspection after installation. The pre-construction deck visit (scheduled after permit issuance, before roofing work starts) verifies the layer count, checks for deck damage or rot, and confirms that any structural repairs are in scope or excluded. If the inspector finds rot or inadequate deck fastening, the project scope may expand, requiring a structural engineer's report and a permit amendment. The final inspection occurs after the new roofing is fully installed, underlayment and flashing are in place, and penetrations (vents, chimneys, skylights) are sealed. The inspector walks the roof visually or from the ground (Holland does not require full-roof photo documentation for standard shingle jobs, though metal or tile jobs may need closer inspection). Both inspections must be scheduled 24 hours in advance through the permitting portal or by phone; no same-day walk-up inspections are available. Typical inspection callback time is 2-5 business days depending on the season (spring and fall are slower). If the final inspection fails (typically due to missing ice-and-water-shield, improper flashing, or fastening pattern issues), the roofer must correct the deficiency and request a re-inspection, adding 5-10 days and no additional fee.

Holland's adoption of the 2015 IBC means that certain roofing materials carry higher scrutiny. Metal roofing, standing-seam or corrugated, requires a certified underlayment and fastening schedule provided by the manufacturer; some contractors skip this documentation, causing plan-review rejection. Tile and slate roofing require a structural engineer's certification that the deck (roof framing) can bear the live load (tile weighs 10-15 lbs/sq ft vs. shingle at 2-3 lbs/sq ft); without this, the permit cannot be issued. Synthetic slate (lightweight composite) is often faster to permit because it approximates shingle weight. Designer or architectural asphalt shingles (3-tab premium or dimensional shingles) are typically permitted at the standard fee and timeline because they meet IRC R905 without additional engineering. Cool roofs (high-albedo white or reflective coatings) have become popular in recent years, and Holland does not penalize them, but the product must carry a third-party rating or ASTM certification — cheap paint-on coatings without certification sometimes trigger rejection requests. Confirm with your contractor that the selected material comes with a mill or third-party test report.

One practical detail unique to Holland's permitting workflow: the City of Holland does not routinely require a roofing contractor license to pull a residential permit if the property owner is owner-occupied and pulling the permit themselves. However, if a contractor pulls the permit, they must provide proof of Michigan contractor licensure (LARA number) and current liability insurance. The application form includes a checkbox for 'contractor-pulled' vs. 'owner-pulled,' and this affects the fee and approval pathway slightly. Owner-pulled permits are often faster (3 business days) because plan review is lighter; contractor-pulled permits sometimes take the full 5 days due to additional insurance verification. Additionally, if your roofer is from out-of-state or licensed in a bordering state, they must carry a Michigan license or work under a licensed Michigan subcontractor. Holland's Building Department will verify this during permit issuance; if documentation is missing, the permit is held until resolved. Plan ahead — license verification can add 3-7 days if the contractor scrambles to get documentation in order.

Three Holland roof replacement scenarios

Scenario A
Two-layer asphalt shingles to architectural shingles, rear portion only (40% roof area), no deck damage — Westside bungalow
A Westside Holland home built in 1978 has asphalt shingles installed over one older layer (you can see the doubled-up edge at the eaves). The back half of the roof (about 1,400 sq ft out of 3,500 sq ft total) is showing granule loss and water stains in the attic. The homeowner and contractor decide to tear off and replace the rear section with premium architectural shingles, hoping to defer the front half another 3-5 years. This project REQUIRES a permit, even though it's only 40% of the roof area, because it's a tear-off (not a repair). The permit application must specify the existing two-layer count and the new underlayment type (ice-and-water-shield 24 inches from eaves, plus synthetic felt for the remainder). The fee will be $120–$150 based on the estimated $8,000–$10,000 project cost for labor and materials. Pre-construction deck inspection happens within 5 business days; the inspector will verify the layer count and check for rot in the exposed deck (high risk in this age and condition). If rot is found, the scope expands to include structural repairs, and the permit fee may increase by $50–$100. Final inspection occurs after installation and includes verification of ice-and-water-shield placement, proper fastening (6 nails per shingle, per IRC R905.2.7.1), and flashing integration. Turnaround is 2-3 weeks from permit issuance to final sign-off. If the contractor does this work unpermitted, the homeowner faces a stop-work order ($300–$500 fine) and a demand to obtain a permit retroactively (double the original $120–$150 fee, plus inspector time). The homeowner's insurance will likely deny any future claims related to water intrusion on the unpermitted section if the work is discovered during a claim review.
Permit required | Two-layer tear-off | $120–$150 permit fee | Pre-construction and final inspections | $8,000–$10,000 project cost | Ice-and-water-shield 24 inches from eaves required | 2-3 week timeline
Scenario B
Single-layer asphalt shingles to standing-seam metal, full roof replacement with structural fastening upgrade — Macatawa neighborhood
A Macatawa-area home (closer to Lake Michigan, higher-wind exposure) has a single layer of asphalt shingles that are 15 years old and showing wind damage. The homeowner wants to upgrade to standing-seam metal roofing for durability and wants to take advantage of the opportunity to improve deck fastening (original 1993 construction with ring-shank nails, not modern screws). This is a material-change project and includes a scope expansion into structural work, so it is definitely permit-required. The permit application must include the metal roofing manufacturer's installation manual, underlayment specifications, and fastening schedule (typically 16-24 inches on-center, depending on the product). If the structural upgrade includes replacing or upgrading fasteners, this may trigger a structural engineer's evaluation — some Holland inspectors require this if the deck fastening is substandard. The permit fee will be $200–$300 because of the material change and the estimated higher project cost ($15,000–$20,000 for metal install). Plan review takes 5-7 business days because Holland staff must verify that the metal roofing system meets IBC 1511 and that underlayment specifications are included. Pre-construction inspection is critical here: the inspector will pull back and photograph existing fastening patterns and may require a partial tear-off to verify deck condition before signing off on the fastening upgrade scope. The new metal roofing will be installed with a synthetic underlayment (ice-and-water-shield required at eaves, plus breathable synthetic felt for the rest), and penetration flashing for vents and any chimneys must be metal-to-metal with proper sealant (not tar). Final inspection includes a full visual of the roof, fastening pattern spot-check (inspector may walk the roof or request photos), and flashing verification. Total timeline is 3-4 weeks. If unpermitted, the homeowner risks a stop-work order, $300–$500 fine, and retroactive permit fees of $400–$600. Additionally, metal roofing is a significant improvement; failure to permit it may void the homeowner's insurance coverage and create a resale disclosure issue in Michigan (MRETS requires disclosure of all major improvements).
Permit required | Material change (asphalt to metal) | Structural fastening upgrade in scope | $200–$300 permit fee | Metal roofing manufacturer specs required | Ice-and-water-shield at eaves plus synthetic felt | 3-4 week timeline | $15,000–$20,000 project cost
Scenario C
Repair: 8 sq ft of storm damage (hail, missing shingles), patching with matching shingles — North-end home
A North-end Holland home takes hail damage in a summer storm; the roofing contractor inspects and identifies about 8-10 missing shingles (roughly 8 sq ft) in one section of the roof, with the existing shingles otherwise intact and undamaged. This is a repair, not a replacement, and falls well under the 25% threshold for permit exemption (25% of a 3,000 sq ft roof would be 750 sq ft). The contractor can patch this with matching shingles without a permit. However, if the homeowner's insurance claim requires a licensed roofing contractor, the contractor should document the repair with photographs and a repair report (no city inspection needed), and the homeowner should request a sworn statement from the contractor for the insurance adjuster. If the storm damage assessment reveals that THREE OR MORE layers are present when the contractor pulls shingles back, the project scope changes immediately — the homeowner must obtain a permit for a full tear-off because IRC R907.4 prohibits overlay when three layers exist. A repair that uncovers a three-layer condition escalates to a replacement project. Similarly, if the inspection reveals that deck damage (rot, structural failure) is present, the repair crosses into replacement territory and a permit is required. For this straightforward 8 sq ft patch, no permit fee applies, no inspections occur, and no timeline delays happen. The homeowner simply pays the roofer (typically $400–$800 for emergency hail repair) and submits the receipt and repair documentation to the insurance company. Skipping a permit on a true repair like this is not an enforcement risk — the city does not actively police small repairs. However, if the homeowner later attempts to sell the home or refinance and the lender orders a roof inspection, the repair should be documented; if it was done with visibly mismatched shingles or poor workmanship, it might trigger a lender request for a full roof replacement (at the homeowner's cost), which would then require a permit.
No permit required | Repair under 25% (8 sq ft of 3,000 sq ft) | Matching shingles only | $400–$800 repair cost | No inspections | No timeline delay | Document repair for insurance claim

Every project is different.

Get your exact answer →
Takes 60 seconds · Personalized to your address

Ice-and-Water-Shield Requirements in Holland's Cold-Climate Zone 5A/6A

Holland's climate zone (NOAA 5A south, 6A north) and 42-inch frost depth create specific conditions for ice dam formation and water intrusion at the eaves. The IRC R905.1.1 (Materials) requires that in cold climates, a water-resistant underlayment — typically ice-and-water-shield (also called self-adhering ice barrier) — must be installed from the eaves upward. The City of Holland Building Department interprets this requirement strictly: ice-and-water-shield must extend a minimum of 24 inches from the eaves on all sloped surfaces where water may back up. This is not optional; it is a code requirement enforced at final inspection.

Many homeowners and even some contractors think that once they're above the drip edge, traditional felt is acceptable. Holland inspectors reject this assumption. The reason: when Holland experiences freeze-thaw cycles (which are frequent November through March), ice dams form at the eave line due to heat loss through the attic and exterior temperature drop. Water trapped by the ice dam backs up under the shingles and seeps through the nails and fasteners in the shingle course. Ice-and-water-shield is self-sealing; when a nail pierces it, the adhesive reseals around the nail shaft, preventing water penetration. Regular felt has no self-sealing property. The 24-inch minimum in Holland's adoption reflects the typical ice-dam height observed in the region over decades of winter storms.

During permit application, the materials schedule form must explicitly state 'ice-and-water-shield, 24 inches from eaves.' If you write only 'roofing felt' or leave this section blank, Holland will reject the application and request resubmission with the correct specification. Once the roof is installed, the final inspection includes a visual check from the ground or edge to confirm that the darker ice-and-water-shield is visible in the eave area (felt appears lighter; ice-and-water-shield appears darker and glossy). If the inspector cannot see evidence of it, or if it appears to stop short of 24 inches, the inspection fails and the roofer must remediate.

The Three-Layer Rule and Tear-Off Requirements in Holland

IRC R907.4 (Roof Recover) is one of the most frequently misunderstood sections in roofing permits. It states that reroofing (applying new roofing over existing) is permitted over one existing layer only; if two or more layers are present, the existing roofing must be removed. Holland inspectors enforce this rule strictly during the pre-construction deck inspection. Many homeowners discover this mid-project: they hire a roofer expecting a simple overlay, the inspector finds two layers (or evidence of three), and the project stops until a full tear-off permit amendment is filed.

Why does Holland enforce this? Multiple layers trap heat and moisture, increasing the risk of premature failure, hidden deck rot, and fastening failure. In Michigan's variable humidity and freeze-thaw cycles, additional layers accelerate deterioration. Additionally, once three layers have been applied at any point in the roof's history, IRC R907.4 prohibits any further overlays — the roof must be taken down to the bare deck. The inspector's job is to prevent developers and property managers from stacking indefinite roof overlays, which is a code-compliance and public-safety issue.

At permit application, you must disclose the existing layer count. If you do not know, you can check by looking at the eave trim: if the soffit line appears doubled or tripled in thickness compared to a neighboring home's, multiple layers are likely present. You can also have the roofer probe a small area (under eaves, hidden from view) to count layers before the permit application. If you guess wrong and discover a third layer during the pre-construction inspection, the project is flagged and work cannot proceed until the scope is amended to include a full tear-off. This adds $2,000–$4,000 and 1-2 weeks to the timeline. Be honest on the application; Holland's inspectors appreciate it and will not penalize you for discovering multi-layer conditions early.

City of Holland Building Department
270 S River Ave, Holland, MI 49423
Phone: (616) 928-6000 ext. (ask for Building Department) | https://www.cityofholland.com (building permits section)
Monday–Friday, 8:00 AM–5:00 PM (Eastern Standard Time); closed weekends and city holidays

Common questions

Does Holland require a contractor license to pull a residential roof replacement permit?

No, if you are the owner of an owner-occupied property, you can pull the permit yourself without a contractor license. If a contractor pulls the permit on your behalf, they must have a valid Michigan contractor license (LARA number) and carry liability insurance. Holland Building Department verifies contractor credentials during permit issuance. Owner-pulled permits often process faster (3 business days) than contractor-pulled permits (5 business days) due to lighter plan review.

Can I do a partial roof replacement (just the back half) without triggering a full-roof permit?

Yes, if the scope is under 25% of the total roof area and no tear-off is required. However, if a tear-off is involved (existing layers must be removed), the work is classified as reroofing, not repair, and a permit is required regardless of the percentage. Additionally, if you are revealing more than two existing layers during the partial tear-off, the entire roof must be stripped to the deck. Consult with the Building Department or a roofer before assuming a partial job is permit-free.

What if I discover a third layer of shingles after the pre-construction inspection?

Stop work immediately and contact the City of Holland Building Department. You must file an amended permit to change the project scope from an overlay to a full tear-off. The amended permit will include a revised fee (typically 50-75% of the original) and will trigger a new pre-construction inspection. Work cannot resume until the amended permit is issued and inspected. This adds 5-10 days to the timeline and $2,000–$4,000 in labor costs.

How much does a roof replacement permit cost in Holland?

Permit fees are approximately 1-1.5% of the estimated project cost, with a minimum of $100 and a maximum of $400. A typical asphalt shingle replacement (2,000 sq ft, $8,000–$12,000 project) costs $100–$150 for the permit. Material changes (shingles to metal or tile) or projects over $20,000 may reach the $300–$400 cap. Confirm the exact fee with the Building Department when you submit the application.

What is the timeline for a roof replacement permit in Holland?

Plan review typically takes 3-5 business days after submission. Pre-construction inspection must be scheduled after permit issuance (2-5 business days for callback). Work can begin after pre-construction approval. Final inspection is requested after roofing installation is complete (2-5 business days for callback). Total permitting timeline is 2-3 weeks from application to final sign-off. Expedited review is not available, but online submissions process faster than in-person walk-ins.

Does Holland require ice-and-water-shield on every roof replacement?

Yes, in climate zone 5A/6A, ice-and-water-shield must be installed from the eaves upward a minimum of 24 inches on all sloped surfaces. This is a code requirement in Holland and is verified at final inspection. You must specify this in the materials schedule on the permit application; omitting it or writing only 'roofing felt' will result in a rejection and resubmission requirement. Your roofing contractor should be familiar with this requirement; confirm it is included in the scope and price before work starts.

Can I do a roof replacement without a permit if the work is under 25% of the roof area?

Only if the work is a repair (patching or spot replacement) and does not involve tear-off. If any tear-off of existing roofing is involved, the work is classified as reroofing and requires a permit, regardless of the percentage of roof area. If the repair reveals two or more existing layers, the classification changes to replacement and a permit is mandatory. Be clear with your contractor about the distinction before work begins.

What happens if Holland finds unpermitted roof work on my home?

The Building Department can issue a stop-work order ($250–$500 daily fine), require you to obtain a retroactive permit at double the original fee ($200–$800 for a typical roof), and demand an inspection and corrective work if code deficiencies are found. Additionally, your homeowner's insurance may deny claims related to water intrusion if the work was unpermitted, and a future buyer's lender will require proof of permit and inspection before financing. Unpermitted roof work can cost $3,000–$10,000 in remediation and fees.

Do I need a structural engineer's report for a metal or tile roof replacement?

Metal roofing typically requires a manufacturer's installation manual and fastening schedule (included in the roofing package), but not a structural engineer unless deck fastening is being upgraded or reinforced. Tile or slate roofing requires a structural engineer's certification that the roof deck can support the live load (tile is 10-15 lbs/sq ft vs. shingle at 2-3 lbs/sq ft). Synthetic slate, being lighter, often avoids the engineer requirement. Confirm with the Building Department or your roofer whether your material requires engineering; this can delay the permit by 1-2 weeks if a report is needed.

What is the difference between a permit rejection and a permit correction request?

A rejection means the application is incomplete or has a significant deficiency (missing underlayment spec, missing layer-count disclosure, or ineligible material). You must resubmit a complete application, which restarts the 3-5 business day review clock. A correction request is a minor issue (typo, unclear cost estimate, or missing a signature) that you can fix quickly (1-2 days) without restarting review. Holland's Building Department will specify which type of response is needed in their letter; if you are unsure, call and ask — correcting quickly prevents delays.

Disclaimer: This guide is based on research conducted in May 2026 using publicly available sources. Always verify current roof replacement permit requirements with the City of Holland Building Department before starting your project.