How to track contractor insurance expiry dates (without a spreadsheet)
Lapsed contractor insurance is a real and avoidable exposure. Here is how to track public and employers' liability expiry dates reliably, why spreadsheets fail, and what good looks like.
An expired public liability certificate looks exactly like a valid one sitting in an inbox. Nobody notices the difference until there is an incident, a client audit, or a principal contractor's pre-start check โ and by then the work has already been done with cover that lapsed weeks ago. Tracking contractor insurance expiry is one of the simplest things to get right and one of the most common things businesses get wrong. This guide explains why it matters more than it seems, why the usual methods fail, what good practice looks like, and how to make it run on its own.
Why it matters more than it looks
If a contractor causes damage or injury while their insurance has lapsed, the exposure does not politely disappear because the certificate was valid when you first took them on. It can land on you as the business that engaged them, and it can land hard. Increasingly, clients and principal contractors do not just want to see that a contractor was insured at onboarding โ they want evidence that everyone in your supply chain is currently insured, on the day they ask. Expiry tracking is the difference between answering that instantly and scrambling through folders while a job waits. It is a small administrative discipline that guards against a genuinely large risk.
It is also not only public liability. Employers' liability lapses matter just as much where a contractor employs people, and specialist covers โ for plant, for professional indemnity, for specific high-risk activities โ have their own renewal dates. A contractor can be perfectly insured for one thing and lapsed on another, so tracking has to cover every policy that matters to the work, not just the headline one.
Why spreadsheets fail at this
The usual method is a spreadsheet with a column of renewal dates, and it fails for reasons that are entirely predictable. Nobody updates it reliably, because updating it is a separate task that depends on someone remembering. The reminder that was supposed to fire never does, because a spreadsheet cannot chase โ it can only sit there. And when a certificate is renewed, the new one is emailed to one person, saved to a folder, and never makes it back to the sheet, so the recorded date and the real date quietly diverge. A spreadsheet records dates; it does not act on them, and it cannot tell you whether the certificate behind a date is genuine, at the right level, or covers the actual work. It gives you the comforting appearance of control without the substance.
A worked example of the gap
Consider a maintenance firm with twenty regular subcontractors, insurance dates in a spreadsheet. One subcontractor's public liability lapses in May; the renewal is late, and nobody notices because the sheet is not checked that month. In June that subcontractor causes water damage on a client site. The client asks for proof of current cover at the date of the incident. The firm discovers the lapse only now, has no valid certificate for the relevant period, and is exposed for the damage its own process should have caught. Nothing about the spreadsheet was technically wrong โ the last known date was in it. It simply never spoke up when that date passed, because speaking up is precisely what a spreadsheet cannot do.
What good practice looks like
Reliable insurance-expiry tracking has a few clear characteristics:
- Every relevant policy has a watched renewal date. Public liability, employers' liability and any specialist cover, each tracked per contractor, with due-soon and expired items surfaced automatically rather than waiting to be found.
- Reminders fire early. Not on the day of expiry โ early enough to request the renewal and receive it before there is any gap at all. A warning that arrives on the expiry date is not much of a warning.
- The renewed document is verified, not just filed. When the new certificate arrives, it is checked for level, scope and dates, so a renewal at a lower cover level, or one that quietly introduces an exclusion, does not slip through unnoticed.
- It is one view across the whole supply chain. You can see at a glance which contractors are current and which are approaching a lapse, rather than opening files one at a time and hoping.
- The record is kept. You can show what cover was in place for any contractor on any past date, which is what defends you after an incident or in a dispute.
Make it automatic
The reliable way to do this is to stop tracking dates by hand at all. Contractor compliance software watches every insurance, accreditation and qualification date for every contractor, warns you in good time before anything lapses, and lets the contractor upload the renewal from a single link with no account โ so the record stays current without anyone remembering to update a spreadsheet. That is the whole point of automating it: expiry tracking should run quietly in the background and only get loud when something genuinely needs your attention, rather than depending on a person to notice a date passing on a sheet they may not open for weeks.
Where to start
If you are on a spreadsheet today, the move is not dramatic. Bring your active contractors and their current policies into one place, set the renewal dates once, and let the system take over the watching from there. You do not need to reconstruct history โ you need an accurate picture of who is covered now and reliable warnings before anyone stops being covered. From that point, the thing that used to fail silently starts protecting you loudly.
Complys watches every contractor's insurance, accreditation and qualification dates and warns you before they lapse. 90-day free trial, no card.