Landlord Compliance Checklist: Track Gas Safety and EICRs With AI

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Landlord Compliance Checklist: Track Gas Safety and EICRs With AI.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Landlord Compliance Checklist: Track Gas Safety and EICRs With AI.

Use AI to read each gas safety record, EICR and deposit receipt into one table of property, document, date done and date due, then sort by due date and review only exceptions. Gas safety is due every 12 months, an electrical report at least every five years, and a deposit must be protected within 30 days. A person checks every certificate.

The AI does the typing, not the judging. It turns a folder of PDFs and phone photos into rows you can sort, and a tracker you can sort is what stops a missed date. The due dates themselves come from spreadsheet formulas, never from the model, and no extracted row counts until a person has checked it against the certificate.

Follow me on Instagram@sagnikteaches

Which dates a letting agent has to track

The three that cause the most trouble are the ones in the title. Here is what the official guidance I checked says about each, so your tracker's rules start from the source and not from memory. Rules differ between jurisdictions, and the points below follow the official guidance for the Gas Safety (Installation and Use) Regulations 1998 and the Electrical Safety Standards in the Private Rented Sector (England) Regulations 2020, so check the equivalent for wherever your properties sit.

Connect on LinkedInSagnik Bhattacharya
ItemThe rule in shortWhat the tracker stores
Gas safety recordEach landlord-owned appliance and flue checked by a Gas Safe registered engineer within 12 months of installation and annually after. The check may be done up to two months early without moving the original deadline. Copy to existing tenants within 28 days; to new tenants before they move in; record kept until two further checks have been done (at least two years).Date of check, engineer, Gas Safe number, outcome, date copy given to tenant, next due date
Electrical report (EICR)The installation is inspected and tested at least every five years by a qualified person, who sets the next inspection date in the report. Copy to existing tenants within 28 days of the inspection, to new tenants before they move in, and to the local authority within 7 days if it asks. Work flagged C1, C2 or FI is done within 28 days or any shorter period the report sets, and written confirmation goes to the tenant and the local authority within 28 days of completion.Inspection date, inspector, overall outcome, observation codes, next inspection date, date copy given, remedial work status
Tenancy depositProtected in an approved scheme within 30 days of receipt, and within the same 30 days the tenant is told the scheme details and the other information the official guidance lists. A holding deposit does not need protecting until it becomes a tenancy deposit.Date received, amount, scheme, certificate reference, date protected, date information sent, days taken

I have deliberately not listed fines. Penalty amounts are quoted differently across sources and change, so look them up in the legislation if you need to quote one. What belongs in your tracker is the date and the evidence.

Subscribe on YouTube@sagnikteaches

An important detail on gas: the early-check rule means the due date is calculated from the original anniversary, not from the date the engineer attended. If a record was done six weeks early, the tracker's next-due date does not move six weeks forward. This is the single most common formula error in a hand-built tracker, and it is worth a test row, covered below.

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

Step 1: get every certificate into one place

Before any AI is involved, gather the documents against each property. For a letting agent this is usually four sources: the property software, shared mailboxes where contractors send certificates, a shared drive and WhatsApp photos. Pick one folder structure and move everything into it. A folder per property, named with the address and a unique reference, with subfolders for gas, electrical and deposits, is enough.

Name files as you add them: reference, document type, date of check, for example P0412_gas_2026-03-14.pdf. A person can do this from the PDF in thirty seconds, and it gives the AI a second source of truth: if the file name says March and the extracted date says October, you have found a problem without reading anything.

If you are still choosing lettings software, check what it tracks before building anything. Our checklist for choosing letting agent software lists the questions to ask about certificate tracking, and your system may already hold expiry fields you could populate instead of keeping a separate sheet.

Step 2: extract the fields with a fixed prompt

Use one prompt for all gas records and another for all electrical reports. A fixed prompt returns the same columns every time, which is what makes the results sortable. A prompt that works for gas:

You are reading a landlord gas safety record. Return one row in this exact format,
using only what is printed on the document. If a field is missing or unclear,
write NOT SHOWN. Do not guess or infer.

property_address | inspection_date (YYYY-MM-DD) | engineer_name | gas_safe_registration_number |
appliances_checked (count) | appliances_failed (count) | defects_noted (yes/no, one line) |
next_inspection_date_printed (YYYY-MM-DD or NOT SHOWN) | signature_present (yes/no) |
tenant_or_occupier_signature (yes/no)

Then add one line: "Anything on this page that looks inconsistent:" and list it,
or write "none".

Two choices in that prompt matter. "NOT SHOWN" gives the model a safe thing to write when it is unsure, which cuts invented values. And the final line asks it to flag its own doubts: a date that appears twice with different values, an address that differs between pages, a registration number with the wrong number of digits.

Here is an illustrative sample output for a record where the date was printed in a hard-to-read format:

12 Example Road, Flat 3 | 2026-03-14 | [engineer name] | NOT SHOWN |
2 | 0 | no | 2027-03-14 | yes | no
Anything on this page that looks inconsistent: Registration number is not visible on this scan.
The "next inspection" date is printed as 14/03/27 and I have read it as 14 March 2027.

What you would do with that: pull the document, find the registration number on page two, and check it on the Gas Safe Register by hand. The "NOT SHOWN" saved you from a made-up number, and the date note is the cue to look at the original. For electrical reports, change the fields to inspection date, inspector name and registration body, overall outcome (satisfactory or unsatisfactory), the number of observations by code, next inspection recommended, and whether the report names any items needing urgent action. Our EICR cover-note tutorial shows how to explain those codes to a landlord once they are extracted.

Step 3: build the tracker with formulas, not AI

Put the extracted rows into a spreadsheet or your property system. Calculate every due date with a formula, never by asking the AI: dates are the one thing a spreadsheet does perfectly and a language model does not. Suggested columns for gas:

  • Property reference and address
  • Landlord and tenancy start date
  • Last inspection date
  • Previous anniversary date (the date the original 12-month clock runs from)
  • Next due date (previous anniversary plus 12 months, if the last check was within the two-month early window; otherwise last inspection plus 12 months)
  • Days until due (due date minus today)
  • Copy given to tenant (date)
  • Status (formula: Overdue, Due in 30 days, Due in 60 days, Due in 90 days, OK)

The early-check test row: set the previous anniversary to 1 May 2026 and the last inspection to 10 March 2026. That is within two months before, so the next due date is 1 May 2027, not 10 March 2027. A tracker that says March has drifted a month and a half early and will cost you extra engineer visits. The opposite case needs its own test row. If last year's deadline was 1 May 2026 and the engineer only attended on 10 June 2026, HSE's guidance says a record is valid for 12 months from the date of the check, so the next due date really is 10 June 2027. The formula is right; what it hides is six weeks with no valid record, so add a column that flags any check done after its deadline and send that row to the exceptions tab. Keep both test rows at the bottom of the sheet. One more consequence of booking early: HSE's landlord leaflet says the record must then be kept until two further checks have been done, so do not let a clean-up delete last year's PDF.

The electrical sheet is similar, with next due date taken from the inspector's recommended date and capped at five years. If the report says the next inspection should be in three years, track three. The deposit sheet is the simplest: date received plus 30 days gives the protection deadline, and the sheet should show days taken beside it so a slow month is visible.

Step 4: reminders that name an owner

A reminder nobody owns is noise. For each status band, decide who acts and what they do:

BandWhoAction
90 days outProperty managerEmail the landlord with the due date and ask for access instructions
60 days outProperty managerContractor booked, appointment date entered in the tracker
30 days outLettings managerAny property with no appointment goes on the exceptions list
OverdueDirectorDaily line on the exceptions list until the record is in the folder

The weekly digest is the useful bit of AI here. Paste the filtered rows (anything due within 60 days or overdue) into an assistant and ask it to draft one message per landlord in your normal tone, using your standard wording. Here is an illustrative prompt and output:

Draft a short email to a landlord. Facts: property 12 Example Road, Flat 3;
gas safety record due 14 March 2027; no appointment booked yet; we need access
details and confirmation they are happy for us to book the usual engineer.
Plain, friendly, under 90 words. Sign off as [your name]. Do not mention fines.
Subject: Gas safety check due 14 March for 12 Example Road, Flat 3

Hi [first name],

The annual gas safety check for Flat 3 is due on 14 March. We'd like to book the
usual engineer in the next few weeks so there is time to fix anything that comes up.
Could you confirm you're happy for us to go ahead, and let us know if the tenant
needs any particular access arrangement?

Thanks,
[your name]

The sentence that matters in the prompt is "do not mention fines". Left alone, models tend to add a warning paragraph that reads as a threat to a landlord you want to keep. Read the draft, check the property and date match the row, and send it. The same weekly list also feeds the owner updates covered in our landlord software comparison.

When the tenant will not give access

A gas check that slips because nobody could get in is the most common real-world overdue item, and the tracker should record the chase, not just the date. HSE's landlord leaflet says you must take all reasonable steps, which may mean written notice explaining why access is needed, and that you should keep a record of what you did in case you later have to show it. Add an access log tab with one row per attempt: property, date, method (letter, email, call, visit), what was said, next step. Illustratively, a property in the 30-day band might read: 3 Feb letter sent; 10 Feb no reply, email sent; 14 Feb call, tenant away until 2 March; 3 March visit booked for 5 March. An assistant can turn those rows into the next polite written notice, but a person decides when the chase has gone on long enough to need advice.

Step 5: the exception list is the product

A tracker with 300 rows is a database. A list of eight properties needing action today is a management tool. Build an exceptions tab that pulls automatically from the main sheet and shows only:

  1. Anything overdue, oldest first.
  2. Anything due in 30 days with no booking date.
  3. Any certificate where the outcome was unsatisfactory, with remedial status.
  4. Any row where the AI flagged an inconsistency and a person has not yet cleared it.
  5. Any gas record with no date recorded for the copy given to the tenant.
  6. Any deposit received more than 20 days ago with no protection reference.

That last rule gives you a ten-day warning before the 30-day limit, which is the kind of lead time a manager can act on. Review the list at a fixed time each week, and record in the sheet who cleared each item and when.

The human check on every certificate

This is the step that stops AI tracking from becoming a liability. The extraction saves typing, but it does not verify authenticity. For each certificate, a person does the following, and ticks a column in the tracker when finished:

  • The address on the certificate matches the property reference. Flats are the usual trap: Flat 3 and Flat 5 on one document.
  • The date is plausible and not in the future, and agrees with the date in the file name.
  • The engineer or inspector is named and the registration number is shown. For gas, look up the engineer on the Gas Safe Register. For electrical work, check the inspector's membership of the body they claim.
  • The outcome field says what the AI says it does, particularly "unsatisfactory" or any urgent codes.
  • Signatures are present, and for gas the record has been issued even if defects were found.
  • The certificate is not a duplicate of last year's with the date altered. Compare the layout and appliance details against the previous one.

Expect about two minutes per certificate. For a portfolio with 250 properties, that is gas (250), electrical (about 50 a year as five-yearly cycles roll over) and new deposits, so around 400 documents a year, or roughly 13 hours of checking in total. That is a sensible price for knowing every row is right.

A worked example: a 180-property agency before and after

Illustratively, a lettings agency manages 180 properties for 120 landlords, with four staff. Certificates arrive in a shared mailbox, WhatsApp and the property system. Nobody owns the dates; the office manager keeps a spreadsheet updated when she remembers.

Week 1, the audit. The team spends two days collecting every gas record and EICR into property folders. They find 11 properties with no current gas record in the folder, 19 with no EICR on file at all and 6 where the gas record is there but the copy given to the tenant is not recorded. Chasing contractors and landlords shows that 5 of the 11 gas gaps and 8 of the 19 EICR gaps were filing errors, so the agency starts with 17 genuinely overdue items (6 gas, 11 electrical). That list is the first exceptions tab.

Week 2, extraction. The office manager runs the gas prompt on 169 records and the electrical prompt on 161 reports, 15 at a time, and pastes the rows into the sheet. About 330 documents at roughly 40 seconds each is under four hours. The AI flags 23 for inconsistencies (mostly scans with missing registration numbers). A second person checks every certificate against the checklist above, which takes about eleven hours across two days.

Week 3, formulas and reminders. Formulas calculate due dates; the 90, 60 and 30 day bands go live; the weekly landlord drafts start. In the first month, 14 gas checks come into the 90-day band, 13 are booked by day 60, and one is flagged to the lettings manager at 30 days.

After a quarter. Overdue items fall from 17 to 2, and the two remaining are in dispute over access. The agency has not removed the human check; it has moved it from "who has time to look" to "this is the list, today". These figures are illustrative and the principle is what to copy: audit first, extract second, calculate by formula and review exceptions weekly.

Proving the copy reached the tenant

Having the certificate is half the duty; the other half is showing it was handed over, and that is the column most trackers leave empty. Add two fields: the date the copy went to the tenant and how (email, portal, paper), and store the sent email or portal log beside the certificate. HSE's gas record guidance accepts electronic copies if they can be reproduced on paper, are secure from loss and interference and identify the engineer. It also says tenants should get electronic copies only if they are happy to and can open them, and that a paper copy must be given if a tenant asks, so record the tenant's preference in the tracker too.

A filled-in electrical row shows how this looks in practice. Illustratively: property P0188; inspection 2026-06-02; inspector named, registration body shown; overall outcome unsatisfactory; observations C2 x1, C3 x2; next inspection recommended 2031-06-02; remedial work needed (consumer unit fault, C2); copy emailed to tenant 2026-06-09 (7 days after the inspection, inside the 28-day limit); remedial work done 2026-06-16; electrician's written confirmation received 2026-06-20; report and confirmation sent to the tenant and the local authority 2026-06-21. The remedial deadline column reads 2026-06-30 (28 days from the inspection), unless the report set a shorter one. Each date is a cell, so a gap is visible on the exceptions tab. If the confirmation is still blank when that deadline is a week away, the row moves to the top of the list. The two C3 items stay in the notes: the guidance treats C3 as an improvement recommended, not required.

Realistic ways this goes wrong

  • Misread digits. A phone-photo scan turns 2025 into 2026. Defence: compare the extracted date with the file name and with the date the document was received.
  • Two properties, one certificate. A contractor combines a block's flats in one PDF. Defence: extract one row per flat and require the address check.
  • Quiet fails. The certificate shows a failed appliance but a satisfactory summary. Defence: the prompt counts failed appliances separately from the overall outcome.
  • Tracker drift. Someone overtypes a formula. Defence: lock the formula columns and keep the test rows.
  • Data leaving the building. Certificates carry tenant names and addresses. Defence: check the privacy and data settings on your AI plan before uploading, and remove tenant names where you can; the extraction does not need them.

Where deposits fit and what else to add later

Deposits sit in the same tracker because a missed deadline is just as visible and just as expensive. The extraction here is lighter: from the scheme's confirmation email or certificate, pull the reference, amount, date protected and scheme name. The calculation is received date plus 30 days. Make sure the scheme certificate is filed against the property and the tenancy start, because it will be needed at the end of the tenancy. The official deposit guidance also lists what the tenant must be told within 30 days of the deposit being received, including the scheme's name and contact details and how to get the deposit back, so the tracker needs a date-information-sent column beside the date-protected one. Use your scheme's own template for the wording rather than an AI draft.

Once the three core items run cleanly, the same pattern extends to energy performance certificates, smoke and carbon monoxide alarm test records, legionella risk assessments and right-to-rent follow-up dates. Add them one at a time, each with its own prompt, formula and owner. For the follow-up checks, see where a human must sign off right-to-rent checks, and for letters that go out when something is missed, the guide to tenant letters under the Renters' Rights Act.

If you would rather have someone set this up with you, an AI implementation consultation covers mapping where your documents live and building a tracker around them; you can get in touch here.

Questions letting agents ask about AI compliance tracking

Can AI decide whether a certificate is valid?

No. AI can read the engineer's name, the date, the property and the outcome from a certificate and put them in a table. A person must check that the document is genuine, covers the right property, shows a qualified engineer and says what you think it says. The tracker is only as good as that check.

Which AI tool should I use to read certificates?

Any assistant that accepts a PDF or photo and returns a table will do for a small portfolio: ChatGPT, Claude or Gemini. Check the plan's data settings first, because certificates carry names and addresses. Larger agencies usually get better results from property software that already holds the documents.

How far ahead should reminders go out?

A workable pattern is 90, 60 and 30 days before expiry, then a daily exception line once the date has passed. The numbers matter less than the rule that every reminder has a named owner and the date a contractor was booked is written beside it.

Do I need to keep old certificates?

Official gas guidance says to keep each gas safety record until two further checks have been done, which can be more than two years if you book checks early. An electrical report is kept until the next inspection is due or done, and a copy goes to the next inspector. Keeping all of them costs little and they are your evidence. File them against the property.

Further reads

Sources: HSE gas safety pages for landlords and the HSE leaflet A guide to landlords' duties (INDG285), the official electrical safety standards guidance for private and social landlords (November 2025), and the official tenancy deposit protection guide, checked November 2026.

Want your certificate tracker built around your portfolio?

On a 1:1 call we'll look at where your certificates live today, decide which fields to extract, and set up a tracker and reminder routine your team can run without you.

Book a 1:1 call with me