Free · Excel & Google Sheets
Free Licence & Permit Expiry Tracker Template (Excel & Google Sheets)
A free spreadsheet that lists every business licence, permit and registration with its expiry date, works out a renew-by date from your lead time, and colours each row as expired, due within 30 or 90 days, or OK. Download the Excel file, or open it in Google Sheets.
In the file
5 sheets · 152 KB · opens in Excel, Google Sheets and LibreOffice
- Start here
- Licences
- Dashboard
- Import to ExpiryEdge
- Lists
Prefer a plain list? The CSV (1 KB) has the same columns and example rows, without formulas or colours.
Preview
The tracker sheet, with example rows
This is the colour logic the spreadsheet uses. Move the date to see which rows turn amber or red next.
licence-permit-expiry-tracker.xlsx
| Licence / permit | Type | Expiry date | Renew-by date | Days left | Status |
|---|---|---|---|---|---|
| Example – Street trading consent, Market Square pitch | Licence | 30 Sep 2026 | 16 Aug 2026 | 2 | Due ≤30 days |
| Example – Waste carrier registration | Registration | 14 Nov 2026 | 15 Sep 2026 | 47 | Due ≤90 days |
| Example – Pavement licence, 12 Sample Street | Licence | 31 Dec 2026 | 16 Nov 2026 | 94 | OK |
| Example – Skip permit, Sample Road | Permit | 15 Oct 2026 | 8 Oct 2026 | 17 | Due ≤30 days |
| Example – Scrap metal dealer licence | Licence | 30 Jun 2027 | 1 Apr 2027 | 275 | OK |
| Example – Lift thorough examination report | Inspection | 20 Aug 2026 | 21 Jun 2026 | -39 | Expired |
1 expired, 2 due ≤30 days, 1 due ≤90 days, 2 OK. The example dates are fixed, so as real time passes more of them turn amber and red: that is the formula working.
How to use it in 3 steps
Clear the examples
Delete the rows that start with "Example –", or type over them.
Add each licence once
Copy the expiry date from the licence itself, pick a type and set a lead time: how many days you need to renew (application forms, inspections, fees).
Check the Dashboard weekly
It counts what has expired or is due soon and lists the next 10 renew-by dates.
What’s inside
- Start here
- How to use it in three steps, the colour key and what every column means.
- Licences
- Licence & permit tracker. Filters, dropdowns, frozen header and status colours, with formulas filled down 500 rows.
- Dashboard
- Counts by status and the next 10 dates, as of today.
- Import to ExpiryEdge
- The same rows in the ExpiryEdge bulk-import columns, filled by formula.
- Lists
- The options behind every dropdown. Add your own.
Open it in Google Sheets
There is no shared Google copy to request access to. You import the same file, so you own your copy from the start.
Download the .xlsx
Use the button above. It saves straight to your computer.
Import it into a blank Google Sheet
Open Google Sheets, create a blank spreadsheet, then choose File › Import › Upload and pick the file. Select "Replace spreadsheet".
Check the dates
Formulas, dropdowns and status colours carry over. If your Google account uses a different locale, dates show in that format, which is fine: they are real dates underneath.
Columns explained
Type in the input columns. Calculated columns fill themselves. Columns marked required are the ones the import sheet needs.
| Column | What to enter | Type |
|---|---|---|
| Licence / permit | What it is and where it applies, e.g. "Street trading licence, Market Square pitch". | Input · required |
| Type | Licence, Permit, Registration, Certificate, Inspection or Other. Becomes the ExpiryEdge type. | Input |
| Issuing body | Who issues and renews it (council, state agency, regulator). | Input |
| Reference no. | Licence or permit number as printed. | Input |
| Site / location | Which site, vehicle or premises it covers. | Input |
| Owner | The person responsible for renewing it. | Input |
| Owner email | Who should be reminded. Becomes notification_email on import. | Input |
| Priority | Low, Medium or High. Matches the ExpiryEdge priority field. | Input |
| Issue date | Date it was issued or last renewed. | Input |
| Expiry date | The expiry date printed on the licence. Everything else is calculated from this. | Input · required |
| Lead time (days) | How many days before the date you want to start acting. Leave blank for 30. | Input |
| Renew-by date | Calculated. Expiry date minus the lead time. | Calculated |
| Days left | Calculated. Days until the date; negative once it has passed. | Calculated |
| Status | Calculated. Expired, Due ≤30 days, Due ≤90 days or OK. | Calculated |
| Renewal fee | What renewal costs, if you know it. | Input |
| Currency | ISO code, e.g. GBP or USD. | Input |
| Document link | Link to the certificate or document in your shared drive. | Input |
| Notes | Anything the next person needs to know. | Input |
When a spreadsheet stops being enough
For a handful of dates and one careful owner, this template is all you need. These are the signs it has become the wrong tool.
Sign 1
More than one person owns the dates
When several people add rows, dates get typed as text, copies drift apart and nobody is sure which file is current.
Sign 2
Reminders depend on someone opening the file
The status turns red whether or not anyone is looking. If the person who checks it is on leave, the date passes quietly.
Sign 3
You need to prove what happened
An audit, insurer or inspector may ask who was told, when, and where the certificate is. A spreadsheet does not keep that history.
When you would rather not remember
What this looks like when it runs itself
The same row, tracked for you: an owner, reminders at 90, 60, 30 and 7 days by email, SMS, WhatsApp, Slack or Teams, the document on file and a log of who did what. The "Import to ExpiryEdge" sheet in this template is already laid out for Bulk Import, so moving across is one upload.
Try it with your own dates, free for 14 days, no cardExpiryEdge · Tracked item
Street trading consent · Market Square
ValidOwner
Operations manager
Expires
30 Sep 2027
Reminders before expiry
90d
60d
30d
7d
Due
Licence & permit expiry tracker: questions, answered
The number of days you need before the expiry date to renew without a gap: time to gather documents, book any inspection, and for the issuing body to process the application. If you leave it blank the sheet uses 30 days. Some councils and regulators state a processing time on their renewal page, so check it there.
Any that expire: premises-related licences and consents, registrations, permits, inspection certificates. Licences that never expire do not need a row, though you can add one with a review date if you want a reminder to check the details are still correct.
Yes. Open a blank Google Sheet, choose File › Import › Upload, pick the .xlsx and select "Replace spreadsheet". The formulas use only functions that Google Sheets, Excel and LibreOffice all support (no FILTER, SORT or XLOOKUP), so the status colours, dropdowns and dashboard carry over. The Excel table styling becomes a plain range with filters.
No. A spreadsheet only changes when someone opens it, so the colours are only as good as your habit of checking. Put a weekly calendar slot on it, or move the licences into a tool that sends the reminders for you.
It is the same rows laid out in the ExpiryEdge bulk-import columns (name, expiry_date, type and so on), filled in by formula. You can ignore it. If you ever move the list into ExpiryEdge, upload the file in Bulk Import and pick that sheet, or save the sheet as CSV. Nothing is sent anywhere by the file itself.
It is free to download, use, change and share inside your organisation. There is no sign-up and no email needed: the download starts when you click.
A free template, not legal advice. It tracks the dates you enter; it does not decide which rules apply to you. Check requirements against the official source for your situation.
