Permit & Inspection Tracker
the builder or GC juggling permits and inspections across several active jobs, instead of scrolling a spreadsheet and hoping to notice the one that lapsed.
Point it at one CSV of every job’s permits and inspections and it sorts each one against a 14-day alert window into expired, due soon, or clear, and flags every inspection that hasn’t passed as gating the next phase of that job.
$39 a month for the shop. You get the classifier, the gate check, the short alert list, and all four output files. Cancel any day, and the status reports you’ve already run stay on your disk, because they were only ever files in your folder.
Eight jobs, and one permit quietly expired
You’ve got eight jobs open, each with its own stack of permits and inspections at different stages. The framing inspection on one has to pass before the drywall crew shows up Monday. A permit on another lapsed two weeks ago and nobody caught it, because catching it meant scrolling to row 40 of a spreadsheet that nobody’s opened since the job started.
That’s how it costs you. A red-tag when the inspector notices the expired permit before you do. A crew standing around at $60 an hour because the inspection that gates the next phase never got scheduled. A permit you have to re-pull and pay for twice. Every one of those is a thing that already happened by the time the spreadsheet would have told you, if anyone had looked.
One file, one command
- Export one CSV of every permit and inspection across your active jobs: the
job, whether it’s a permit or an inspection, the type, the status, and the due date. - Run it. Each row gets classified against your alert window and today’s date into done, expired, due soon, or open, and every inspection that hasn’t passed or been approved gets flagged as gating the next phase.
- It writes the full status table to
PERMIT_STATUS.mdand the short list you actually act on toALERTS.md.
What it does
- Flags anything explicitly expired or past its due date, so the lapsed permit shows up in the report before it shows up as a red-tag.
- Flags open items due inside
ALERT_DAYS, default 14, so you’re scheduling the inspection with two weeks of runway, not finding out the morning the crew rolls up. - Marks every unpassed inspection as gating the next phase, so you know which jobs can’t legally move forward before you promise anyone a start date.
- Runs against an
AS_OFdate you can set, so you can re-run last month’s snapshot and see exactly what was due back then. ALERTS.mdcarries only the items that need action, so the list you walk into Monday’s meeting with isn’t the whole book of every job.- Writes
permits.csv, one row per item, so you can sort every job’s status without opening the full report. - A
validatecommand checks the config without writing anything, so a bad file path surfaces before the run instead of during it.
Who runs this, and who doesn’t
Built for the builder or GC, 1 to 20 on the crew, running permits and inspections across several active jobs at once.
Not for you if you pull one permit a quarter on one job at a time. You’ll remember that one without help. This is for the shop where the count of open permits crossed the number you can hold in your head, and the tracking spreadsheet stopped getting scrolled sometime around job number four.
What it replaces
A spreadsheet or a whiteboard is what most shops run now, and the whiteboard’s genuinely better at one thing: it’s on the wall where the whole crew sees it every morning. Buildertrend and ServiceTitan hold this data too, and they’re better at the jobs around it, the schedule and the client portal and the invoicing.
What none of them hand you is a single short list of what needs action this week and which inspections are blocking the next phase, without you building the view yourself. The whiteboard doesn’t sort itself into what’s due. This does, every time you run it.
Where your job data stays
The one CSV is read off your disk and never leaves it. The reports are the only thing written, and only under OUTPUT_FOLDER, with every path checked by assertWithinRoot and output at 0600. permits.json holds the machine-readable summary if you track status over time. There’s no login and no upload, because the tool has no network code in it. Cancel and the reports stay, because they were files in your folder the whole time.
$39 a month, and the first alert list
$39 a month for the shop. Copy .env.example to .env, point it at your permits-and-inspections CSV, set an output folder, and run. The first alert list comes out in a couple of minutes, and it’s the short list worth a Monday phone call, not the whole book. Cancel any day and the reports stay put.
Security and privacy
Handles job-site compliance data (permit numbers, inspection status, due dates tied to client jobs). Security is designed in.
Principles
– Local-first. ITEMS_CSV is read from disk and never transmitted anywhere; nothing in this tool touches the network. Nothing is uploaded, no telemetry, no cloud dependency.
– Non-destructive. The source CSV is only read, never modified or deleted.
– Least privilege. Reads ITEMS_CSV, writes only under OUTPUT_FOLDER.
Protections implemented (v0.1.0)
– Path-traversal defense — every output filename is sanitized (safeSegment) and every write is checked with assertWithinRoot(), so the report can’t be written outside OUTPUT_FOLDER.
– Fail-fast config validation — clear errors for missing/invalid ITEMS_CSV/OUTPUT_FOLDER/ALERT_DAYS/AS_OF before any file is touched.
– Restrictive permissions — the generated report (PERMIT_STATUS.md, ALERTS.md, permits.csv, permits.json) is written 0600.
– Defensive parsing — the CSV parser never throws on malformed input (missing fields default to empty string); a row with a missing or unparseable due_date degrades to a non-imminent classification rather than crashing the run or showing as a false expired.
– Secrets discipline — .env and generated Reports/ output are git-ignored; no secrets or client data in the repo.
Distribution / AV trust
Known limitations / roadmap
– Classification uses a single flat ALERT_DAYS window for every item — a jurisdiction that needs a longer notice period for, say, fire inspections than for building permits will need to run separate passes with different ALERT_DAYS values until per-type overrides ship.
– AS_OF lets you re-run a historical snapshot, but there’s no persisted history between runs — comparing today’s ALERTS.md to last week’s is a manual diff for now.
– Gating is a boolean per inspection (open/failed vs. passed/approved) — it does not model multi-step inspection sequences (e.g. rough-in must pass before final can be scheduled); reviewers should treat gating: yes rows as “needs a look,” not a full dependency graph.
Reporting
Report suspected vulnerabilities privately to the maintainer before public disclosure.
Frequently asked questions about Permit & Inspection Tracker
What does the Permit & Inspection Tracker do for a contractor?
The Permit & Inspection Tracker logs every permit and required inspection tied to a specific job, then keeps the status and key dates in one place instead of scattered across a wall calendar and a spreadsheet. For each job you record the permit type, its current status, and the date it was issued or is due. You do the same for inspections, so a framing, electrical, or final inspection each has its own line with a status you can read at a glance. When you point the tool at your active jobs, it produces a per-job compliance view that tells you what is approved, what is pending, and what still gates the next phase of the build.
The core idea is that paperwork should never be the reason a crew stands around. A missed inspection or an expired permit can stall a schedule for days, and the cost of that delay usually dwarfs the price of the software. The tracker flags expiring permits before they lapse and lists the next inspection each job needs, so the office and the field are looking at the same facts. That shared status is the point. It replaces the guesswork of whether anyone has called for the inspection yet with a plain answer that the whole team can read the same way.
There is also a recordkeeping side that contractors sometimes forget until an audit or a dispute forces the question. Permits, inspection sign-offs, and the dates attached to them are business records, and the IRS expects you to hold onto the documents behind your work. The IRS guidance on how long you should keep records explains that retention periods run for years, not months, and vary by the kind of record. A permit & inspection tracker that stores the type, status, and date of every approval gives you a durable trail you can produce later, rather than digging through old emails and text threads.
Setup is deliberately plain. You log permits and inspections with the four fields that matter, which are job, type, status, and date. You set the alert windows that fit how far ahead you want warning. Then you pull the status and alerts report whenever you need it, whether that is a Monday planning meeting or a call from a building official. Because the tool is built for people running several jobs at once, it assumes you are tracking many permits in parallel and keeps them separated by job rather than lumped together.
Contractors, home services businesses, and trades in the field service and trades world are the intended users, not enterprise construction managers with a full permitting department. The Permit & Inspection Tracker is priced and scoped for a small shop that simply needs to stop losing days to a lapsed approval. If you want the fuller feature list and pricing, the product page lays it out. The honest summary is short. It watches your permits and inspections so a piece of paper does not quietly halt a job you already have crews and materials committed to.
How does the permit & inspection tracker help meet jobsite recordkeeping requirements?
Trades work sits inside a web of recordkeeping rules, and inspection paperwork is only one strand of it. A permit & inspection tracker handles the permit and inspection side directly, but it also fits into the wider habit of keeping clean, dated records that regulators expect from a working contractor. The tool logs each inspection with its type, status, and date, which is exactly the kind of contemporaneous record that stands up later when someone asks what happened and when.
Take safety records as the clearest example. Employers in construction and the trades often have to record work-related injuries and illnesses, and the government is specific about how. The OSHA recordkeeping requirements call for covered employers to log recordable incidents on the OSHA 300, 300A, and 301 forms. The Permit & Inspection Tracker does not file those forms for you, and it would be wrong to claim otherwise. What it does is build the discipline of dated, per-job logging so that when an inspector or a safety review shows up, your permit and inspection history is already in order rather than reconstructed from memory. A jobsite that can produce its inspection timeline quickly tends to be a jobsite that can produce its other records too.
The same logic covers the permits themselves. A building official may ask when a permit was pulled, when an inspection was requested, and what the result was. If that information lives in one worker’s phone and another’s inbox, answering takes an afternoon. If it lives in the tracker, answering takes a minute. Each job carries its own permit and inspection line items, and each line has a status you set as work moves from applied to approved to closed.
Retention is the other half of recordkeeping. It is not enough to have a record today. You often have to keep it for years. The tracker keeps the type, status, and date of every permit and inspection so the trail does not evaporate when a laptop is replaced or a season ends. That durable history is what turns a pile of approvals into something you can actually rely on during a dispute, a warranty claim, or a tax review.
None of this asks you to change how you build. You log permits and inspections as they happen, set the alert windows that suit your lead times, and pull the status report when you need proof or a plan. The point is that good recordkeeping and a moving schedule are not in tension. A permit & inspection tracker gives you both at once, because the same log that warns you about an expiring permit is also the record you hand over when someone official asks.
Contractors in the field service and trades sector rarely have a dedicated compliance clerk, so the recordkeeping has to be light enough to actually get done. That is the design goal here. For the full feature breakdown, the product page has it. The blunt version is that the tool will not make you compliant on its own, but it removes the excuse that your inspection records were too scattered to keep straight.
Where does my permit and inspection data live, and is it safe?
Fair question, and the answer starts with where the data sits. The Permit & Inspection Tracker holds the records you enter, which are job names, permit types, inspection statuses, and dates. That is job data, and some of it can be sensitive because it maps your active projects, their addresses, and their timelines. Treating it carelessly is a real risk, and the government has published plain guidance on how any business should handle information it collects.
The FTC’s guide on protecting personal information lays out five simple principles, which are take stock, scale down, lock it, pitch it, and plan ahead. In plain terms, know what you hold, keep only what you need, protect it, dispose of it when it is done, and have a plan if something goes wrong. A permit & inspection tracker fits that model because it is scoped to a narrow set of fields. It does not ask for personal financial details or client Social Security numbers. It tracks permits and inspections, and that focus keeps the amount of sensitive data small by design.
Scaling down is worth sitting with, because it is where a lot of trades businesses go wrong. When permit and inspection details are spread across texts, emails, shared drives, and three different spreadsheets, you have made many copies of the same information and lost track of who can see each one. Consolidating that into one tracker means fewer stray copies floating around. You know what you hold and where it is, which is the first FTC principle in action.
The tool keeps an orderly record of what it tracked and when, so you have an audit trail of your own permit and inspection history. That record is useful not only for building officials but for your own peace of mind, because you can see exactly what status a permit was in on a given date. Keeping that history tidy is part of planning ahead, since a clear record is what lets you answer questions quickly if a project or a payment is ever disputed.
None of this replaces basic security habits on your own devices and accounts, and the tool does not pretend to. What it offers is a focused place for permit and inspection data rather than a sprawl of documents nobody fully controls. The less your compliance information is scattered, the easier it is to lock down and, when a job is long closed, to dispose of responsibly. Fewer copies in fewer places is not just tidier, it is genuinely lower risk.
For contractors in the field service and trades world, the practical takeaway is that keeping permit and inspection data in one purpose-built log is safer than the spreadsheet-and-inbox sprawl it replaces, precisely because there is less of it in fewer places. If you want to see how the tool is structured and priced, the product page covers it. The honest line is that no software makes data risk disappear, but a tracker that collects only what it needs, in one place you control, follows the same take-stock-and-scale-down thinking the FTC recommends to every small business.
How is a permit & inspection tracker different from a spreadsheet and a calendar?
Most contractors start with a spreadsheet for permits and a calendar for inspection dates, and for one or two jobs that works. The trouble starts when you are running six jobs and each has multiple permits and several inspections at different stages. A spreadsheet does not warn you that a permit expires Friday, and a calendar reminder tells you a date without telling you the status behind it. A permit & inspection tracker is built for the moment those two tools stop keeping up.
The first difference is that status and dates live together. In the tracker, every permit and inspection carries a job, a type, a status, and a date in one line, so you are never cross-referencing a calendar entry against a spreadsheet cell to figure out where things stand. The second difference is active alerting. The tool flags expiring permits and lists the next inspection each job needs, rather than sitting quietly until you happen to scroll to the right row. A calendar can ping you, but it cannot tell you that the inspection it is reminding you about is the one gating your next phase.
The third difference, and the one people underrate, is recordkeeping that holds up over time. A spreadsheet gets overwritten, renamed, and lost between laptops. Contractors are already expected to retain business records for years, and that expectation is not limited to permits. The Department of Labor’s recordkeeping requirements under the FLSA require employers to preserve payroll records for at least three years, which is a reminder that keeping the paperwork for years is a baseline in this industry, not an edge case. A tool that stores the type, status, and date of every permit and inspection gives you a durable trail, where an ad hoc spreadsheet gives you a file that is one accidental overwrite away from gone.
There is also the matter of parallel jobs. Spreadsheets flatten everything into rows that blur together once you have dozens of permits in flight. The Permit & Inspection Tracker keeps items separated by job, so the electrical inspection on one build is never confused with the electrical inspection on another. That separation is the difference between a status report you trust and one you double-check by hand.
None of this means spreadsheets are useless. It means they were never designed to alert, to enforce a status workflow, or to serve as a lasting record across many jobs at once. The tracker is. You log permits and inspections, set alert windows that match your lead times, and pull a status and alerts report that reflects reality instead of the last time someone remembered to update a cell.
For a small shop in the field service and trades sector, the move from spreadsheets and calendars to a dedicated tracker is less about fancy features and more about not losing days to a lapsed approval. The product page shows how the tool is set up and priced. The plain summary is that a spreadsheet records the past and a calendar marks the future, while a permit & inspection tracker does both and warns you before a deadline turns into a stalled crew.
How do the expiring-permit alerts and next-inspection gate list work?
These two features are the working heart of the tool, so they are worth walking through. The expiring-permit alerts watch the dates you enter and warn you before a permit lapses, inside an alert window you set yourself. If you want two weeks of lead time on renewals, you set two weeks. The Permit & Inspection Tracker then surfaces anything falling inside that window rather than making you scan every job by hand. The point is to catch the lapse while there is still time to act, not to discover it when a crew shows up to a job an inspector has flagged.
The next-inspection gate list answers a different question, which is what has to happen before each job can move forward. For every active job, the tool lists the inspection that gates the next phase of work. A rough-in inspection that has not passed can hold up drywall, and a final that has not been scheduled can hold up a certificate of occupancy. By putting the gating inspection in front of you per job, the list turns a vague worry into a concrete task with a name and a status.
Both features run off the same simple log. You record permits and inspections with their job, type, status, and date, you set your alert windows, and the status and alerts report does the rest. Because the tool assumes you are juggling several jobs at once, the alerts and the gate list are organized by job, so nothing bleeds together. A permit & inspection tracker that could not separate jobs would just be a louder spreadsheet.
There is a practical side benefit worth naming. Chasing permits and inspections means driving, often to a permit office, a supply house, or back to a site for a re-inspection. Those business miles are deductible, and the IRS publishes an annual standard mileage rate that sets what each business mile is worth, which was 70 cents for the 2025 tax year. The tracker does not log your mileage, and it would be wrong to say it does. But the same dated per-job records that tell you when an inspection happened also help you reconstruct the trips around it, which makes a mileage log easier to defend at tax time. Clean permit and inspection records and clean expense records tend to go together.
The design goal across both features is the same. Keep the field and the office looking at one honest status, and warn them early enough to act. An alert that fires too late is just a record of a problem, and a gate list nobody sees is just a spreadsheet tab. By tying alerts to windows you control and gates to the specific inspection that blocks each job, the tool aims to prevent the stall rather than document it.
Contractors in the field service and trades sector who run several jobs at once are the people this is for. The product page has the full feature list and pricing. The short version is that the alerts tell you what is about to expire and the gate list tells you what is blocking the next phase, so a permit & inspection tracker keeps a schedule moving instead of quietly letting a deadline stop it.
| Attributes | Value |
|---|---|
| Deployment |
Cloud |
| Platform |
Web |
| License Type |
Subscription |
| Billing Period |
Monthly |
| Target Customer |
Contractors & Trades |
| Free Trial |
Yes |
Frequently bought together
-
Contract Renewal & Obligation Tracker
$39.00 -
Contractor Compliance Cockpit
$39.00 -
License / Cert / Permit Expiry Radar
$75.00 -
Policy & Control Gap Checker
$49.00 -
Safety & Incident Logger / Field Inspection Report
$24.00 -
User Access Recertification Packager
$79.00 -
Vendor & Spend Intelligence / Subscription-Data-Risk Map
$65.00 -
Vendor Risk & DPA Tracker
$49.00





