Electrical Permit Application: Track Permits and Inspection Dates With AI

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Electrical Permit Application: Track Permits and Inspection Dates With AI.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Electrical Permit Application: Track Permits and Inspection Dates With AI.

Keep one job record that feeds every application, let AI turn it into the scope and load summary, and track each permit in a sheet with a date for every stage. AI drafts the wording and the weekly chase list. The spreadsheet does the date maths, and the electrician owns the load calculation and the code questions.

Permit rules differ from one authority to the next: what needs a permit, which forms, how many inspections, which fees, and how long a permit stays alive. Nothing below assumes yours. Copy the rules from the authority's own page into a Rules tab once, with the date you checked, and make every formula point at that tab.

Follow me on Instagram@sagnikteaches

One job record that fills every application

Most of the time an application takes goes on retyping the same facts in a slightly different order for each authority, and then again for the inspection request. A job record fixes that. Create it when the quote is accepted: one row or one page per job, with the fields below. The application wording, the inspection request and the customer update are all generated from it, and so is the tracker row.

Connect on LinkedInSagnik Bhattacharya
FieldExample (illustrative)Reused for
Job ID26-131Everything; the only identifier you paste into an AI chat
Site address and owner[site address], [owner]Application, inspection request
Licence number and expiry[licence no.], expires [date]Application, calendar reminder
Insurance certificate expiry[date]Application, contractor checks
Work type and occupancyAlteration; single-family dwellingApplication
Scope in one lineReplace panel, add EV charger circuit and hob circuitApplication, inspection request
Circuits added or altered2 new, 9 reconnectedApplication, load summary
Loads added or movedEV charger 32 A, hob 6.5 kW; immersion heater 3 kW movedLoad summary
Contract value$4,850Valuation box, if the form asks for it
AttachmentsSingle-line diagram rev A, load calculation, charger data sheetPre-submission check
Authority and permit numberAuthority A; [permit no.]Tracker
Stage datesApplied, issued, each inspection requested, booked and passedTracker

The Job ID row matters most for AI. Everything you paste into a chat can say "26-131" instead of a person's name and address, and you merge the real details into the form afterwards. The licence and insurance expiry rows earn their place for a different reason. An application is a moment when you may be asked to show both are current, and a compliance calendar with reminders for each costs almost nothing to keep.

Subscribe on YouTube@sagnikteaches

A scope and load summary from your job notes

Many forms have a box for a description of the work, and some ask what load is being added. The assistant's job is to turn your site notes into the first and tabulate the second. It has no other part in the application.

Job 26-131. Swap main panel (old fuse type) for 10 way. New circuit for EV charger,
32A, garage wall. New circuit for induction hob 6.5kW in kitchen, replacing gas
hob. Reconnect existing 9 circuits. Immersion heater 3kW already on, moves to new
panel. No change to service or meter. Single-line diagram done, load calc done by me.

The first version of this prompt asked only for a loads table and a total, and the reply counted the immersion heater as new: 7.36 + 6.5 + 3.0 = 16.86 kW "added". The heater is already on the system and only moves to the new panel, so the added load is 13.86 kW and the moved load is 3 kW. The prompt below has the fix built in.

Using ONLY the notes below, write (1) a description of the work in two or three
sentences for an application form, and (2) a table of loads with columns: item,
rating as given, kW, new or moved. If a rating is in amps, convert with
volts x amps / 1000 and state the voltage used. Give the total of NEW loads and
the total of MOVED loads separately. Do not add loads, do not comment on code
compliance, and write [CHECK] for anything the notes do not say.
Supply voltage: [230 V, or your own]. Notes: [paste]

Description: Replace the existing main panel with a new 10-way panel. Install a new 32 A circuit for an EV charger on the garage wall and a new circuit for a 6.5 kW induction hob in the kitchen. Reconnect nine existing circuits to the new panel. No change to the service or meter.

Loads: EV charger circuit, 32 A, 7.36 kW at 230 V, new. Induction hob circuit, 6.5 kW, new. Immersion heater, 3 kW, moved. New total 13.86 kW. Moved total 3.00 kW.

Four checks before that text goes into a form. First, 7.36 kW assumes 230 V. At 240 V the same 32 A is 7.68 kW, and the new total becomes 14.18 kW, so the voltage must be your supply's. Second, connected load is not demand. If the form asks for a calculated or demand load, that figure comes from your own calculation using the method in the code your authority has adopted, and the assistant should never produce it. Third, borrow the form's vocabulary. If it says "service equipment" or "distribution board" where your notes say "panel", the description should too. Fourth, put the same numbers in a spreadsheet with a SUMIF on the new-or-moved column, so the totals on the form come from a formula you can see.

The Complete Excel Course with AI Integration thumbnail

The Complete Excel Course with AI Integration

From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.

By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner

Buy now

A pre-submission read against the authority's own checklist

A rejection for a missing item is the dullest delay in the whole process. Paste the authority's checklist from its own page (not from memory, and not from a search result about another area) next to the contents of your packet, and ask for a status on each line.

Below is the authority's application checklist, copied from its page on [date],
and the contents of my application packet. For each checklist item answer
Present, Missing or Unclear, and quote the packet line that supports it. Do not
judge whether anything meets the code.
Checklist: [paste]
Packet: [paste the attachment list and the filled-in form text]

1. Signed application: Present.
2. Licence number and expiry: Present ("[licence no.], expires [date]").
3. Proof of insurance: Missing. No certificate in the attachment list.
4. Single-line diagram: Present (rev A).
5. Load calculation: Present.
6. Manufacturer data sheet for the EV charger: Missing.
7. Estimated cost of electrical work only: Unclear. The packet gives a contract value of $4,850, and the checklist asks for the cost of the electrical work alone.

The first two catches are ten-minute fixes before you submit and a week's delay after. The third is the sort of query a reviewer sends back, and only you know whether the $4,850 includes anything that isn't electrical. The assistant can't tell you what the authority will accept. It can tell you what the packet hasn't shown.

The tracker: one row per permit, a date for every stage

Two tabs do the work. The Rules tab records what each authority says, and the Permits tab records what has happened on each job. Formulas connect them, so a change of rule is one edit rather than forty.

AuthorityApplies viaLapse after (days)Counted fromExtensionInspections requestedSource and date checked
AOnline portal180Later of issue or last passed inspectionWritten request before the lapse dateThrough the portalFees and permits page, 2 Nov 2026
BEmail to the permit office180Later of issue or last passed inspectionWritten request before the lapse datePhone, then confirmation emailPermit office handout, 2 Nov 2026

Both rows are illustrative, and the lapse figure is the one to look up for yourself. A model building code in wide use lets a permit lapse if work hasn't begun within 180 days of issue, or stops for 180 days. Local versions differ. Some treat 180 days without an approved inspection as abandonment, some count from the last required inspection, some allow twelve months, extensions are normally a written request to the building official, and renewal fees range from a fraction of the original to the full amount. Whether an electrical permit runs on the same clock as the building permit is another thing to ask rather than assume. Those differences are exactly why the number lives on the Rules tab with a date beside it.

On the Permits tab, the first eleven columns are typed by hand: job, site nickname, authority, applied, issued, last passed inspection, next stage, requested, booked, result and corrections due. The last three are formulas, with the Rules tab laid out as authority in column A, how to apply in B and lapse days in C.

L2  =IF(E2="","",MAX(E2,F2)+VLOOKUP(C2,Rules!A:C,3,FALSE))
M2  =IF(L2="","",L2-TODAY())
N2  =IF(E2="","Waiting for issue: "&TODAY()-D2&" days",
     IF(J2="Not approved","Corrections due "&TEXT(K2,"d mmm"),
     IF(AND(H2<>"",I2=""),"Chase booking",
     IF(AND(I2<>"",I2>=TODAY()),"Inspection booked: confirm access",
     IF(M2<=30,"LAPSE SOON: request inspection or extension",
     IF(H2="","Request "&G2&" inspection","Waiting"))))))

Here is the sheet on 9 November 2026 (illustrative dates, with the lapse rule above).

JobSiteAuth.IssuedLast passedNext stageInspectionLapse dateDays to lapseNext action
26-098Rewire, 3-bed houseA28 Jul2 SepFinalbooked 12 Nov1 Mar112Inspection booked: confirm access
26-107Panel swapA24 SepnoneFinalnone23 Mar134Request Final inspection
26-111EV chargerBnot issuedRough-inWaiting for issue: 38 days
26-115Shop fit-outB8 JunnoneRough-innone5 Dec26LAPSE SOON: request inspection or extension
26-119Garage supplyA19 OctnoneRough-inasked 6 Nov17 Apr159Chase booking
26-122Loft conversionA14 SepnoneRough-in28 Oct, not approved13 Mar124Corrections due 18 Nov
26-126Pool pump circuitBnot issuedRough-inWaiting for issue: 12 days
26-130Office floor 2B23 Mar15 SepFinalbooked 17 Nov14 Mar125Inspection booked: confirm access

The row that matters is the shop fit-out. Its permit was issued in June, nothing has been inspected since, and 180 days from issue lands on 5 December, 26 days away. Nobody on the team may think of that job as stalled, but the sheet does. The remedy is either to book the rough-in inspection or to ask the building official in writing for an extension before the date, not after. Add conditional formatting that turns a row amber when days to lapse falls to 30 or below, and the sheet will say so without anyone reading column M.

Keep every date calculation as an ordinary formula. Gemini's AI function in Sheets fills 350 cells at a time, can't be nested and doesn't refresh on its own, so a status built with it stops being right as soon as the date moves, and Excel's COPILOT function was retired on 14 September 2026. The assistants are for words, not dates. Google Sheets AI prompts covers what the function is genuinely good for, and setting up permit and inspection tracking goes through the reminder side of a tracker like this in more detail.

Monday digest: paste the tracker, get a chase list

Export the Permits tab as CSV on Monday morning and paste it in with today's date. The prompt tells the assistant to copy the computed columns rather than redo them, because the sheet is the source of truth for dates.

Today is 9 November 2026. Below is my permit tracker as CSV. Copy the
"Days to lapse" and "Next action" columns exactly; do not recalculate any date.
Produce (1) a chase list in priority order with the job ID, the action, and who I
need to contact (the authority, the customer or my own team), (2) a separate list
of inspections booked in the next 14 days, and (3) any row where the columns
contradict each other. Do not comment on code compliance.
[paste CSV]

Chase list
1. 26-115 Shop fit-out, Authority B: lapses in 29 days. Request the rough-in inspection or ask for an extension in writing.
2. 26-122 Loft conversion, Authority A: corrections due 18 Nov. Your team to fix, then re-inspection request.
3. 26-111 EV charger, Authority B: 38 days waiting for issue. Call the permit office.
4. 26-119 Garage supply, Authority A: inspection asked for on 6 Nov, not booked.
5. 26-107 Panel swap, Authority A: request the final inspection.
Booked in the next 14 days: 26-098 on 12 Nov, 26-130 on 17 Nov. Confirm access.
Check: 26-107 shows Final as the next stage with no earlier inspection; confirm on the Rules tab that a panel swap needs only a final.

That reply has one slip and one useful catch. The slip is "29 days" for the shop fit-out when the sheet says 26: the assistant recalculated despite the instruction. When the sheet and the chat disagree, the sheet wins, and the cure is to paste the date in the prompt and keep the "copy exactly" rule. The catch is the panel swap, which the assistant couldn't judge but rightly asked about. Whether a panel swap needs a rough-in is a Rules tab question for the authority's page, not for the assistant. Pool pump circuit 26-126 correctly stayed off the list: it has been waiting 12 days with nothing to chase yet.

Correction notices: from the authority's message to a task list

A failed inspection arrives as an email or a portal message, and the risk is a half-read list and a re-inspection requested before the third item is done. Take the loft conversion from the tracker. Suppose the notice reads as follows.

Inspection result, permit [permit no.], rough-in, 28 Oct: Not approved. 1. Cables through the joists not protected (see photo 2). 2. Junction box in the loft not accessible. 3. Cable at the new panel position not supported. Corrections must be completed and re-inspection requested within 21 days. A re-inspection fee may apply (see fee schedule).

Paste it with the instruction "turn this into a task table with owner, due date and the photo evidence to capture, then draft a re-inspection request and a two-sentence customer update, using only what the notice says". The task table comes back sensibly: three fixes for the electrician on site, each with a photo to take before boards or insulation go back, and a fourth task for the office to request re-inspection by 18 November, which is 21 days after 28 October.

The drafts need editing. The customer update says "at no extra cost to you", which is a decision about who pays, not a fact in the notice, so it stays out until you've made it. The re-inspection request says "a fee of $75 applies", but the notice names no amount and says only that a fee may apply. Look up the real figure or drop the sentence. If the fix does turn out to be outside your original scope, electrical change orders covers how to ask for the money.

Booking an inspection without a wasted visit

An inspector who finds a covered wall or a locked house costs you the visit and sometimes a fee. A short readiness list before each request, and a request message that carries everything the office needs, prevent most of it.

  • The permit number is to hand, and the stage you are requesting matches what the permit says is next.
  • Everything the inspector must see at this stage is uncovered and reachable: ladder, loft hatch, panel cover off where it should be.
  • For a final, the panel directory and labels are complete and cover plates are on.
  • Someone with access is reachable on the day, with a phone number, not just a name.
  • The approved drawings and your load calculation are on site.
  • Photos of anything already covered are saved against the job.

The request itself should read as a form, not a favour. Compare these (the second is illustrative and drafted from the job record).

Before: Hi, can someone come out to the garage job this week?

After: Inspection request: permit [permit no.], rough-in. Site: [site address]. Scope: new 32 A EV charger circuit and cable run to the garage wall box. Ready from [date]. Preferred window: afternoons. On-site contact: [name], [phone]. Access: side gate left open, loft hatch clear. Please confirm the booked slot by reply.

Ask the assistant to draft the request from one job record row, using only the fields given and writing [CHECK] for the rest. The first few times, the [CHECK] markers show which fields your job record lacks, and those are the ones to add to the record.

Running it alone, with an office, or across two authorities

  • Alone. The sheet lives on the phone and takes ten minutes on a Monday. The assistant writes the scope text and turns correction notices into task lists. The chase list is simply a filter on the next-action column, so the digest prompt may not be needed until the job count passes a dozen.
  • With an office administrator. The administrator owns the Permits tab. Electricians message dates from the van the same day, and the Monday digest goes to the team channel. One rule keeps it honest: every open row has a named person against its next action, and a row without one is treated as a bug. AI for electrical code is worth sharing with the whole team for the same reason, since it explains why code questions never go through the chat.
  • Across two authorities. The Rules tab does the heavy lifting. Each authority gets a row, each job names its authority, and the lookup formula picks up the right lapse figure. If one authority moves from 180 days to twelve months, you change one cell. What the sheet can't do is notice that the rule has changed, which is the job of the quarterly check.

A quarterly check that the rules haven't moved

Once a quarter, re-copy each authority's permit and inspection page into a document and ask the assistant to compare it with the copy you saved last time.

Compare version 1 (copied on [date]) with version 2 (copied today). List every
difference in lapse periods, fees, how inspections are requested, forms and
contact details. Quote both wordings. Say "no change" for any category with
no difference. Do not summarise anything you cannot quote.

A reply such as "Inspection requests: version 1 says phone or portal, version 2 says portal only" is worth the two minutes, because a firm that still phones in a request may find it ignored. Update the Rules tab, change the "checked on" date, and save the new copy for next quarter.

What stays with you on every permit

  • Whether the work needs a permit at all, and which kind.
  • Which code edition and local amendments apply to the job.
  • The load calculation and any demand figure the form asks for.
  • The declarations on the application, which carry your name and licence number.
  • Fee amounts, which come from the authority's current schedule.
  • What an inspector's comment means for the work, and what you say back.

A simple test sorts the borderline cases. If a sentence would be wrong in another authority's jurisdiction, it belongs on the Rules tab with a source and a date, and never in a prompt. Solar installers face the same split, and solar permit applications shows it on a different kind of narrative.

Permit and inspection questions, answered

Can AI tell me whether a job needs an electrical permit?

No. The authority that issues permits decides what needs one, and an assistant may answer for the wrong place or an older code edition. Use AI to draft the question you send the authority, then record the reply, with its date, on your Rules tab so the answer lives in your own records.

Can AI do the load calculation for the application?

It can lay out a connected-load list and convert amps to kilowatts, but the demand calculation follows the method in the code your authority has adopted, and the electrician performs it and stands behind it. Check any total an assistant gives against a spreadsheet sum before it goes on a form.

What should the Rules tab hold?

One row per authority: how to apply, the lapse rule and what event it counts from, how extensions are requested, how inspections are requested and the lead time, the fee schedule, the page you copied it from and the date you checked it. Formulas in the tracker then look the numbers up instead of hard-coding them.

How often should I review the tracker?

Weekly is enough for most firms, ideally at a fixed time such as Monday morning, with an extra look at any permit within 30 days of its lapse date. The review takes ten minutes when the sheet's flag column is doing its job, and most of that is making the phone calls the chase list produces.

Is it safe to put customer addresses into an AI chat?

Avoid it. Paste job IDs and site nicknames instead of names and addresses, and keep the full details in the sheet. Consumer ChatGPT and Claude plans have a switch for model training in privacy settings, and business plans don't train on content by default, but a job ID reveals nothing if the chat is ever shared.

Further reads

Sources: model-code expiration wording and local variations as shown in the permit pages of several building authorities (checked 1 November 2026); vendor documentation on Gemini in Sheets and Excel Copilot (checked September 2026); privacy defaults as published by OpenAI and Anthropic for their plans (checked September 2026).

Want permits and inspections tracked without stalled jobs?

On a 1:1 call we'll map how permits, inspection bookings and corrections are handled now, set up the tracker that fits your team, and decide which steps AI can safely take over.

Book a 1:1 call with me