Free · Excel & Google Sheets

Free License & Permit Expiration Tracker Template (Excel & Google Sheets)

A free spreadsheet for US businesses that lists every license, permit and inspection certificate with its expiration date, calculates a renew-by date from your lead time, and color-codes each row as expired, due within 30 or 90 days, or OK. Dates use the US month-first format.

Updated 28 Sep 2026No sign-upSeptember 2026 edition

In the file

5 sheets · 152 KB · opens in Excel, Google Sheets and LibreOffice

  1. Start here
  2. Licenses
  3. Dashboard
  4. Import to ExpiryEdge
  5. Lists

Prefer a plain list? The CSV (1 KB) has the same columns and example rows, without formulas or colors.

Preview

The tracker sheet, with example rows

This is the color logic the spreadsheet uses. Move the date to see which rows turn amber or red next.

license-permit-expiration-tracker-us.xlsx

Licenses: example rows, statuses as of Sep 28, 2026
License / permitTypeExpiry dateRenew-by dateDays leftStatus
Example – Business license, 12 Sample StreetLicenseSep 30, 2026Aug 16, 20262Due ≤30 days
Example – Sales tax permitPermitNov 14, 2026Sep 15, 202647Due ≤90 days
Example – Health permit, sample kitchenPermitDec 31, 2026Nov 16, 202694OK
Example – Alarm system permitPermitFeb 28, 2027Jan 29, 2027153OK
Example – Contractor license (sample trade)LicenseJun 30, 2027Apr 1, 2027275OK
Example – Elevator inspection certificateInspectionAug 20, 2026Jun 21, 2026-39Expired

1 expired, 1 due ≤30 days, 1 due ≤90 days, 3 OK. The example dates are fixed, so as real time passes more of them turn amber and red: that is the formula working.

Start hereLicensesDashboardImport to ExpiryEdgeLists

How to use it in 3 steps

  1. Clear the examples

    Delete the rows that start with "Example –", or type over them.

  2. Add each license once

    Copy the expiration date from the license itself, pick a type, and set a lead time: how many days you need to renew (forms, inspections, fees, continuing education).

  3. 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.
Licenses
License & 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.

  1. Download the .xlsx

    Use the button above. It saves straight to your computer.

  2. 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".

  3. Check the dates

    Formulas, dropdowns and status colors 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.

Columns on the Licenses sheet
ColumnWhat to enterType
License / permitWhat it is and where it applies, e.g. "Street trading license, Market Square pitch".Input · required
TypeLicense, Permit, Registration, Certificate, Inspection or Other. Becomes the ExpiryEdge type.Input
Issuing bodyWho issues and renews it (council, state agency, regulator).Input
Reference no.License or permit number as printed.Input
Site / locationWhich site, vehicle or premises it covers.Input
OwnerThe person responsible for renewing it.Input
Owner emailWho should be reminded. Becomes notification_email on import.Input
PriorityLow, Medium or High. Matches the ExpiryEdge priority field.Input
Issue dateDate it was issued or last renewed.Input
Expiry dateThe expiry date printed on the license. 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 dateCalculated. Expiry date minus the lead time.Calculated
Days leftCalculated. Days until the date; negative once it has passed.Calculated
StatusCalculated. Expired, Due ≤30 days, Due ≤90 days or OK.Calculated
Renewal feeWhat renewal costs, if you know it.Input
CurrencyISO code, e.g. GBP or USD.Input
Document linkLink to the certificate or document in your shared drive.Input
NotesAnything 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 card
FAQ

License & permit expiration tracker: questions, answered

Add one row per license per jurisdiction and put the city, county or state in "Issuing body" and "Site / location". Filtering by either column then gives you one jurisdiction at a time.

The number of days you need before the expiration date to renew without a gap: time for paperwork, any inspection, and agency processing. If you leave it blank the sheet uses 30 days. Many agencies publish processing times on their renewal pages.

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 licenses 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 organization. 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 licenses apply to you. Check requirements against the official source for your situation.

Email me when this template is updated

Optional. The template is already yours without it. One email when a new edition is out, nothing else.

We use your email only for this. See our privacy policy.