An installer orders a structural letter for a warehouse roof because the last three jobs in the county cleared with one. The plan checker opens the new set and writes a correction: “structural plans and calculations required.” The letter was the wrong deliverable. The correction adds a review cycle.
The word “letter” is shorthand, not a code term. Each authority having jurisdiction (AHJ) writes its own wording. That wording decides whether a short signed statement is enough or the file needs the full load path. This guide separates the two deliverables and lists the triggers that push a job from one to the other. It ends with a checklist of what a letter should state.
Quick answer. A solar structural letter is a short signed conclusion that one roof can carry one array. A calculation package shows the loads and member checks behind that conclusion. Which one an AHJ wants depends on its checklist wording, array weight, roof type, ballast, and the 5 percent gravity test in the existing building code. Several exemptions cover only one- and two-family homes, so a commercial roof often needs calculations. Read the AHJ document first, then collect framing, span, spacing, covering, and condition data.
This guide is written for the US installer operations manager or EPC permit coordinator who has a rooftop job in the queue and a structural question. It covers the roof side only. For ground arrays, read ground mount solar permit requirements. For a reroof, read solar detach and reset permits. For the wider package, see the solar permit package checklist.
What is a solar structural letter and how is it different from a calculation package?
A solar structural letter states a conclusion. A licensed engineer reviews the roof framing and the proposed array. The letter then states that the roof can carry the added load, with named attachments, within stated limits. The letter is usually one or two pages and refers to the drawings.
A calculation package shows the work. It lists the loads, the load combinations, the member checks, the attachment capacities, and the code edition. The reviewer can check each step. A letter asks the reviewer to rely on the engineer. A package lets the reviewer verify.
| Structural letter | Calculation package | Full structural design | |
|---|---|---|---|
| What it holds | Conclusion, framing facts, limits, signature | Loads, combinations, member and attachment checks | New framing, foundations or reinforcement with drawings |
| What the reviewer can verify | Whether the facts match the roof | Every step of the load path | The new structure as built |
| Where AHJ documents ask for it | Minneapolis and Portsmouth checklists name a letter | LA County, San Diego and LADBS plan check ask for calculations | Where the roof fails the check |
| Typical fit | Light array, familiar roof, permissive AHJ | Commercial roofs, ballast, heavier arrays, snow | Roofs that need strengthening |
The deeper contents of a calculation report are in our solar structural calculation report guide. The stamp scope question is in the structural stamp scope matrix. This page covers the letter and the choice between the two.
Two AHJ documents show how the wording splits. The City of Minneapolis solar checklist (last updated February 2026, written around the Minnesota residential code) accepts “a letter from the engineer, specifically addressing the subject property.” The letter explains the roof structure, any required modifications, and the installation method. The checklist offers it as an alternative to a stamped study plus construction plans. See the Minneapolis solar energy checklist. The County of Los Angeles Public Works plan review list (version 1.0, dated 2/1/2026) asks for “structural plans and calculations signed by a licensed architect or civil engineer.” Its prescriptive exemption covers only one- and two-family dwellings. See the LA County Solar Energy System Plan Review List.
Different AHJs, different paper. That is why the checklist wording comes before the order.
What do the building codes require before anyone writes a letter?
The codes do not ask for a letter. The code sections quoted here set the engineering test, and the AHJ turns the test into a paperwork requirement. Three code families matter, and each should be read in the edition the AHJ has adopted.
Residential roofs, IRC 2021. The International Residential Code (IRC) section R324.4.1 requires rooftop PV systems to support themselves and withstand applicable gravity loads. The roof must be designed and built to carry those loads. Section R324.4.1.1 sets two load cases for areas covered by panels. One is dead load including the panels plus snow. The other is dead load excluding the panels plus the greater of roof live load or snow. Source: the 2021 residential code of the Colorado Division of Fire Prevention and Control as published on UpCodes (accessed 31 October 2026).
Commercial roofs, IBC 2024. The International Building Code (IBC) section 3111.1.1 sends wind resistance of solar systems to Section 1609. Section 3111.1.2 sends roof structures that support solar systems to Section 1607.22 for roof live load. Source: the 2024 IBC text in the Texas Windstorm Insurance Association building code on UpCodes (accessed 31 October 2026). Section numbers move between editions and state amendments. The LA County list cites its own numbering under its 2026 code. Use the number your AHJ cites.
Existing buildings, IEBC 2021. The International Existing Building Code section 503.3 is the one that catches most commercial rooftop jobs. When an alteration raises the design dead, live or snow load on an existing gravity element by more than 5 percent, including snow drift effects, the element must be replaced or altered. The target is the load level the code sets for new structures. Section 503.4 applies a lateral test: an existing lateral element may stay unaltered if its demand-capacity ratio rises by no more than 10 percent. Exceptions include small Group R buildings (five or fewer units) built to conventional light-frame methods. Another covers a second roof covering of 3 psf or less. Source: 2021 IEBC chapter 5 on UpCodes (Fort Worth viewer, accessed 31 October 2026). Local amendments change the wording in some places, so confirm the adopted text.
Wind and snow inputs for these checks come from the adopted ASCE 7-22 or the edition the code references. The wind and snow criteria by state guide shows where each state publishes them. The ASCE 7-22 wind load guide covers the rooftop solar provisions.
Does the 5 percent test trip on your roof? An illustrative example
Many AHJs copy the IEBC test into their solar handouts. LA County lists it as item 12 and cites section E503.3. San Diego Information Bulletin 301 requires an engineer to evaluate existing gravity elements when the PV system raises design gravity load by more than 5 percent. It applies the same step to lateral elements when the earthquake demand-to-capacity ratio rises by more than 10 percent.
San Diego also lets the roof design live load be ignored under panels when the clear space to the roof is 24 inches or less. See San Diego Information Bulletin 301 (text headed October 2025, accessed 31 October 2026). The result is that the same array can pass or fail depending on what governs the roof.
The table below is illustrative, not a design. It uses simple sums in pounds per square foot (psf) with no load factors. Assumptions: existing roof dead load 12 psf, array with racking 3.5 psf, roof live load 20 psf, and design snow load 25 psf in the snow case. A real engineer applies the ASCE 7 combinations, snow drift, and sliding snow.
| Case | Before (psf) | After (psf) | Change | Result of the 5 percent test |
|---|---|---|---|---|
| A. Snow governs (12 dead + 25 snow) | 37.0 | 40.5 (adds the array) | +9.5 percent | Exceeds 5 percent, element must be checked |
| B. Live load governs, clear space 24 in or less (12 dead + 20 live) | 32.0 | 32.0 (live load still governs the unpaneled case) | 0 percent | No increase |
| C. Live load governs, clear space over 24 in | 32.0 | 35.5 (live load stays, array adds) | +10.9 percent | Exceeds 5 percent, element must be checked |
Three lessons come out of the table. A light array does not escape the test on a snow-governed roof. Mount height changes the answer, which is why 24 inches appears in several documents. And the code text lists “dead, live or snow load” without saying how to total them. The engineer should state the method in the letter and ask the AHJ if it has a preference.
Which triggers push an AHJ from a letter to calculations?
Published AHJ documents use a small set of triggers. The table lists what each document says. These are snapshots with dates, not promises about how any reviewer will act, and several apply only to one- and two-family dwellings.
| Trigger | What the document says | AHJ and document |
|---|---|---|
| Array weight | No building permit if modules and supports weigh no more than 4 psf, with other conditions | LADBS P/GI 2023-027, effective 1 January 2023 |
| Array weight | Prescriptive path for one- and two-family only, at no more than 4 psf | LA County plan review list v1.0, 2/1/2026 |
| Array weight | Structural review when the PV system exceeds 6 psf | San Diego IB 301, headed October 2025 |
| Array weight | Standard for 10 kW or smaller systems on one- and two-family roofs requires less than 5 psf | Philadelphia L&I Solar PV System Standard, revised 10/20 |
| Support point load | Maximum 60 lb per support (LADBS); 40 lb per support (LA County) | LADBS P/GI 2023-027; LA County v1.0 |
| Roof layers and condition | One layer of roofing and no visible alterations, deterioration or sagging (LADBS); two layers maximum (LA County) | LADBS; LA County |
| Roof framing type | Engineered trusses are not eligible for the standard without a letter from a professional engineer | Philadelphia L&I standard |
| Mount height | Structural review when PV sits more than 24 in above the roof; exemption limits of 18 in in LA County and Philadelphia | San Diego IB 301; LA County; Philadelphia |
| Ballast | Structural review on any ballasted roof (San Diego); LA County adds SEAOC PV1-2017 and PV2-2017 designs, wind tunnel reports under ASCE 7 Chapter 31, and friction tests | San Diego IB 301; LA County v1.0 |
| Equipment weight | Structural review when any roof-mounted equipment item exceeds 400 lb | San Diego IB 301 |
| Occupancy | Calculations required for nonresidential and multifamily; the exemption list covers one- and two-family only | LA County v1.0 |
| Existing building test | Gravity increase over 5 percent and lateral demand-capacity increase over 10 percent | IEBC 2021 s503.3 and s503.4; San Diego; LA County |
The California Solar Permitting Guidebook (fourth edition, Winter 2019 update) shows the limits of the prescriptive path. Its structural criteria apply to flush-mounted arrays on wood-framed one- and two-family dwellings. They assume a zero snow load area. They set a 4 psf array weight, a 2 to 10 inch gap under the modules, and coverage of no more than half the roof. When any item fails, the guidebook calls for “project-specific drawings and calculations stamped and signed by a California-licensed civil or structural engineer.” See the California Solar Permitting Guidebook. Even in the state that wrote the prescriptive route, the fallback is calculations.
The same guidebook explains why a racking maker’s letter does not replace the roof check. Manufacturer guidelines “typically do NOT check” that the roof can support the concentrated loads from the array.
For a commercial rooftop, the triggers stack. Nonresidential occupancy, a larger array, ballast, and snow each point toward calculations. Plan for calculations on a C&I roof unless the AHJ confirms in writing that a letter is enough. The commercial versus residential permit design guide explains why the review paths split.
Which roof inputs decide whether a letter is enough?
The engineer cannot write either document without the same set of facts. Collecting them once, before the order, avoids a second site visit. The table lists each input, why it matters, and a published AHJ document that asks for it.
| Input | Why it matters | AHJ document that asks for it |
|---|---|---|
| Framing type: rafter, truss, joist, or steel purlin | Trusses and engineered members are often excluded from simple paths | Philadelphia standard; Miami-Dade roof top PV checklist (undated form) |
| Member size (actual dimensions) | Sets bending and shear capacity | Minneapolis checklist: “Rafter size, spacing, and span dimension” |
| Horizontal span | Longer spans trip simple span checks first | Minneapolis checklist; California Guidebook optional span check |
| Spacing on center | Drives attachment layout and tributary load | Miami-Dade checklist (maximum 2 ft on center) |
| Roof covering and number of layers | Adds dead load and sets the exemption | LADBS; LA County (specify roof fire classification, material, layers) |
| Decking type and thickness | Controls fastener withdrawal and uplift capacity | California Guidebook (7/16 in OSB or plywood assumption) |
| Roof condition and age, with photos | A visible sag or alteration removes prescriptive paths | LADBS (structurally sound, no sagging); Minneapolis (photos of rafters or roof side view) |
| Slope and mean roof height | Feed wind and snow calculations | Miami-Dade checklist; California Guidebook (40 ft assumption) |
| Array weight in psf and attachment spacing | The load being added | San Diego (weight in psf on plans); LA County item 13 (dead load on documents) |
| Clear height under modules | Decides whether live load can be ignored under panels | San Diego IB 301 (24 in) |
| Wind, snow and seismic criteria | Published by the AHJ in many jurisdictions | Portsmouth checklist (130 mph and 50 psf snow, 2018 IBC) |
| Original structural drawings or reroof records | The only source for hidden framing on older commercial roofs | Not named in these documents; standard engineering practice |
On older commercial buildings, framing is often hidden above a ceiling or under insulation. Ask the building owner for the original structural drawings and any roof replacement records before the site visit. A sample roof opening or a measured section is the engineer’s call, not the installer’s.
A structural engineering team can work from these inputs. If your team lacks the field data or the capacity for a roof load check, the solar civil and structural engineering service covers it. That includes mounting structure design and anchor or ballast details.
What should a solar structural letter state?
No code publishes a letter template. These nine items come from what the opened AHJ documents ask the engineer to address. The Philadelphia standard, for example, lists four statements for its professional engineer letter. The roof framing has been inspected. The PV system has been evaluated. The connections will not adversely affect the framing. The framing can withstand the additional loads. Portsmouth, New Hampshire asks for a letter “for review of the existing roof system as well as the proposed mounting system.” See the Portsmouth solar permitting checklist (updated 01/23/2023).
| # | Item to state | What it should say |
|---|---|---|
| 1 | Project identifiers | Address, AHJ, permit or application number, date of the letter |
| 2 | Code basis | Adopted IBC, IRC or IEBC edition, local amendments, and the ASCE 7 edition used |
| 3 | Building facts | Framing type, member size, span, spacing, covering, layers, decking, slope, mean height |
| 4 | Source of the facts | Field measurement, photos, or original drawings, with the date of the site data |
| 5 | Array facts | Module count, array weight in psf including racking, attachment type and spacing, clear height, ballast |
| 6 | Design criteria | Wind speed and exposure, ground snow, seismic where relevant, and where each value came from |
| 7 | Method and findings | Gravity cases checked, the 5 percent and 10 percent findings, wind uplift at attachments, fastener embedment |
| 8 | Conclusion and limits | Adequate as is or adequate with a named modification, plus the limits that the conclusion depends on, such as maximum array weight and attachment spacing |
| 9 | Assumptions and signature block | Assumptions about hidden conditions, the engineer’s name, license state, and the seal or signature form the AHJ requires |
Three rules keep the letter reviewable. First, it must refer to the exact roof and layout. Minneapolis asks for a letter “specifically addressing the subject property,” and a letter carried over from another job fails that test. Second, the numbers in the letter must match the drawings. LA County item 13 requires the dead load of the PV system on the construction documents. San Diego requires the array weight in psf on the roof plan. Third, the conclusion must state its limits, so a later layout change is easy to test against it.
For help reading seals and signature blocks on the returned document, see how to read a stamped solar drawing.
Who has to sign it?
The signer is set by the AHJ and the state licensing board. The documents opened here name the signer in different words.
| AHJ document | Signer named |
|---|---|
| LA County plan review list v1.0 | Licensed architect or civil engineer |
| San Diego IB 301 | California-licensed civil or structural engineer or architect |
| California Guidebook fallback | California-licensed civil or structural engineer |
| Portsmouth checklist | New Hampshire licensed structural engineer |
| Minneapolis checklist | Minnesota licensed structural engineer for the study route; “the engineer” for the letter route |
The documents differ on whether an architect may sign, and each AHJ sets the seal format it accepts, so ask before the order. For the state-by-state view, see the guide to solar PE stamp requirements. Stamping requirements are confirmed at quote stage, once the AHJ and the project address are known.
How should you plan the timeline around a structural letter?
Treat the letter as a gate that depends on two earlier steps and feeds one later step. It needs the field data and the frozen layout. The plan checker needs it before the structural review can close.
- Read the AHJ checklist and note the exact structural wording: letter, calculations, or plans and calculations.
- Collect the inputs from the table above during the site survey, not after the plan set is drawn.
- Freeze the array weight, attachment layout and equipment model. The letter states all three.
- Order the engineer’s review with the AHJ wording attached. Review time depends on the roof and the file. It is agreed at scoping, not promised in advance.
- Attach the letter or package to the set and match its numbers to the drawings.
- Reopen the letter after any module, rack or layout change. The PE stamp revision after an equipment swap guide covers what needs recalculation.
Missing information is a named cause of delay. The Portsmouth checklist lists an applicant who “does not submit all required information” among the circumstances that can prolong permitting. A letter that omits framing facts invites that outcome. If a correction notice arrives anyway, the AHJ comment response letter guide shows how to map each comment to the changed sheet or calculation.
Which questions should you send the AHJ before ordering?
Send these in writing and file the reply with the job. A dated email gives the next reviewer a traceable basis.
- Does the checklist require a letter, calculations, or structural plans and calculations for this occupancy?
- Is there a prescriptive exemption (array weight, point load, roof layers, mount height), and does it apply to a commercial roof?
- Which editions of the IBC, IEBC and ASCE 7 are enforced, and are there local amendments to the 5 percent gravity test?
- Does the AHJ publish design wind speed, exposure, ground snow and seismic values?
- Who may sign (engineer or architect, which state), and are digital seals accepted?
- For ballasted arrays, are wind tunnel reports, SEAOC-based designs or friction tests expected?
- Does a change in layout or equipment after approval need a new letter or a revision?
Run the same list on every new county. Over time the answers become a jurisdiction sheet that the permit team reuses.
Where Heaven Designs fits
Heaven Designs is a design and engineering firm, founded in 2020 in Surat, with 50+ engineers (company-stated). Its solar civil and structural engineering service covers roof load checks, mounting structure design, and anchor or ballast details. Wind, dead, seismic and snow loads follow ASCE 7 on US projects, as confirmed at kickoff. Permit sets with the structural basis attached come through the US solar permit design service. Turnaround is agreed at scoping, and stamping requirements are confirmed at quote stage. Heaven Designs does not install systems or supply hardware.
To start, send the project address, the AHJ checklist, the roof data from the input table, and the array layout through the contact form. The team replies within 1 business day (company-stated). Also see the ballasted versus penetrating mount comparison if the roof type is still open.
FAQ
Is a structural letter the same as a structural calculation package?
No. A letter states a conclusion about one roof. A package shows the loads, combinations and member checks behind it. LA County, San Diego and LADBS plan check ask for calculations, while Minneapolis and Portsmouth name a letter. Use the AHJ’s own wording.
Does a commercial rooftop need a structural letter?
Often it needs more than a letter. LA County lists no prescriptive exemption for nonresidential roofs and asks for signed structural plans and calculations. San Diego requires structural review on ballasted roofs and heavier arrays. Confirm the requirement with the AHJ before ordering.
Will a lighter array avoid structural engineering?
Only where the AHJ publishes an exemption, and each one carries conditions. The thresholds in the documents opened here run from 4 psf to 6 psf and add limits on point load, roof layers and mount height. On a snow-governed roof, even a light array can exceed the 5 percent gravity test.
Can a racking manufacturer letter replace a structural letter?
Not by itself. The California Solar Permitting Guidebook notes that manufacturer guidelines typically do not check that the roof can carry the concentrated loads from the array. The roof check is a separate engineering step.
Can I reuse a letter from a previous project?
Not safely. Minneapolis asks for a letter “specifically addressing the subject property.” A reused letter will not match the framing, layout or array weight on the new drawings.
Which code edition applies to the letter?
The edition the AHJ has adopted, with local amendments. Portsmouth, New Hampshire lists the 2018 IBC and IRC. The Dublin, California residential PV handout (2026 revision) lists the 2025 California codes based on the 2024 IBC and IRC. LA County cites its 2026 building code. State the edition in the letter.