Permits are perishable. Every open permit in your portfolio is quietly aging toward an expiration date, and every failed final restarts a clock while adding fees — Houston, for one, warns plainly that repeatedly failed inspections draw a re-inspection fee plus an admin fee, and it's far from alone. None of this is exotic; it's entropy, and it wins whenever nobody owns the aging permits. The companies that never think about expired permits are the ones tracking permit age as a first-class number.
How permits die
The common lifecycle rules across Texas AHJs (each city sets its own specifics):
- Issuance-to-start windows. Permits typically expire if work doesn't commence within a defined period after issuance (180 days is a common convention).
- Activity requirements. Many cities also expire permits when work stalls — no approved inspection activity within a defined window — which is the killer for solar, because a fully installed system waiting on its final can look "inactive" to the system.
- Holds and registrations. Inspections can't even be scheduled with lapsed contractor registrations or unresolved holds (Houston requires the master and contractor registrations in good standing to schedule) — so a licensing lapse can silently age every open permit at once. Licensing hygiene is permit hygiene.
- Reinstatement costs. Expired permits mean reinstatement fees, re-review under possibly newer code editions (a real hazard in transition years), and awkward homeowner conversations.
What a failed final actually costs
The fee is the visible part. The full bill: a re-inspection fee (plus admin fees where cities charge them), a crew revisit, one-to-two weeks of calendar to correct and reschedule — and, because utilities gate on passed inspections, a matching slip in the interconnection-to-PTO chain. Since most failures are conformance and labeling rather than workmanship (the checklist), the honest framing is that failed finals are mostly self-inflicted schedule debt — and the fix is the pre-inspection self-check, not braver scheduling.
The portfolio discipline
Individual jobs don't expire; unwatched portfolios do. The operating pattern that prevents it:
- Every open permit carries its dates. Issue date, expiration date, last-activity date — visible, not buried in a city portal. The moment a permit is issued, its expiration is a known future event; treat it like one.
- Aging alarms before the cliff. A permit at 60% of its life with no scheduled inspection is a flag today, not a crisis at day 179.
- Failed-final taxonomy. Log every failure by category and AHJ; three labeling failures in one city is a crew-training memo, not three coincidences.
- Close-out is a stage, not an afterthought. "Installed" is not "done." The job isn't closed until the final passes and the permit status reads closed in the city's system — resale title issues from never-finaled permits land on the homeowner years later, with your name on them.
This is the least glamorous corner of permitting operations and one of the highest-ROI: expiration saves and avoided re-inspections are pure recovered margin. TexPTO carries every permit's issue, activity, and expiration dates with alarms ahead of each cliff, and categorizes failed finals across the portfolio — so entropy gets managed on a dashboard instead of discovered in a city portal.
FAQ
How long is a solar permit good for in Texas? Each city sets its own rules; issuance-to-start windows and activity-based expiration are the common patterns. Put the specific rule in each AHJ profile.
What happens if a permit expires mid-project? Reinstatement or re-application per the city's rules — potentially under newer code — plus fees and schedule loss. Prevention is dramatically cheaper.
Are re-inspection fees universal? Common, especially for repeat failures (Houston explicitly adds an admin fee). The bigger cost is the calendar slip into your PTO chain.
Who should own permit aging? A named role with a live queue — permits age daily, so the review has to be at least weekly.
Sources
- Houston Permitting Center, Solar Panel Permit (registrations in good standing to schedule; re-inspection plus admin fees for repeated failures): https://www.houstonpermittingcenter.org/hpwcode1119
General information. Expiration, reinstatement, and fee rules are set per city — verify each AHJ's current rules and keep them in your jurisdiction profiles.