Free Contract Renewal
Tracking Template
A ready-to-use spreadsheet for Google Sheets and Excel. Track every vendor contract renewal date, notice deadline, value, and owner in one place — so nothing auto-renews by surprise. Free, and there is no email box between you and the file.
Get the template
Free, no email address, no account. Copy it or download it and it is yours.
What the template looks like
Here's a sample of the spreadsheet with realistic data so you know exactly what you're getting.
| Counterparty | Type | Owner | Renewal date | Notice deadline | Annual value | Auto-renews | Status |
|---|---|---|---|---|---|---|---|
| Salesforce | SaaS | Sarah K. | 2026-09-01 | 2026-06-03 | €12,400 | Yes | Active |
| AWS | Infrastructure | Tom B. | 2026-12-31 | 2026-10-02 | €8,200 | No | Active |
| Office lease – HQ | Lease | Maria L. | 2027-03-31 | 2026-09-30 | €36,000 | Yes | Active |
| HubSpot | SaaS | Sarah K. | 2026-07-15 | 2026-06-15 | €4,800 | Yes | Expiring soon |
| Design agency MSA | Services | Tom B. | 2026-08-01 | — | €24,000 | No | Active |
Every column, explained
12 columns, designed around the things that actually cause auto-renewal surprises. One of them is calculated for you.
Vendor
Who you signed with. Use the legal entity name, not the product.
Contract name
What the agreement is: MSA, subscription, lease, NDA.
Owner
One named person accountable for the renewal decision. Not a team.
Start date
When the agreement became effective.
End / renewal date
The day it rolls over or expires. A real date value, not text.
Notice period (days)
How many days of notice the contract requires. A number: 30, 60, 90.
Notice deadline
The last day you can act. Calculated from the two columns before it — never typed, because a typed date stops being true the moment a renewal date is corrected.
= renewal_date - notice_period_daysAuto-renew? (Y/N)
Whether doing nothing renews it. Decides how hard the deadline is.
Annual value
What it costs per year, so you can sort by what actually matters.
Department
Who uses it. Useful when the owner leaves and it needs reassigning.
Where the signed copy lives
A link to the executed PDF. A tracker without the document sends you hunting.
Status
Active, Expiring, Renewed, Cancelled. Updated as decisions get made.
The two conditional formatting rules to add
In Google Sheets: Format → Conditional formatting, apply to the notice deadline column, and choose “Custom formula is”. Without these the sheet looks identical on the day a deadline passes, which is when you most need it not to.
Notice deadline inside 30 days — fill amber
=AND($G2<>"", $G2-TODAY()>=0, $G2-TODAY()<=30)Notice deadline has passed — fill red
=AND($G2<>"", $G2-TODAY()<0)Who this is for
Operations managers
Centralise vendor contracts that live across email, drives, and people's heads.
Finance teams
Know what you're committed to before budget planning. No more surprise invoices.
Startup founders
You signed 30 SaaS contracts in the last 2 years. Most auto-renew. Do you know which ones?
Legal and procurement
A lightweight way to keep track before you invest in a full CLM system.
The column that makes this different: the notice deadline
Most contract trackers have a renewal date column and stop there. That is the date the contract rolls over — the outcome, not the decision point. The date that constrains you is the notice deadline: the last day you can tell a vendor you are leaving or renegotiating before the renewal happens on its current terms.
A contract renewing on 15 March with a 60-day notice period has a notice deadline of 14 January. If your reminder is set for the renewal date, it arrives two months after your leverage expired. You are not negotiating at that point; you are asking for a concession.
So this sheet calculates that date rather than asking you to work it out. Enter the renewal date and the notice period in days, and the notice deadline column derives itself. It stays correct when a renewal date is corrected, which a typed date does not.
How to fill it in from contracts you already have
Start from payment records, not memory. Pull twelve months of recurring charges from your bank and card statements, then add anything invoiced annually from accounts payable. Payment data is the only source that reliably surfaces subscriptions nobody remembers signing up for, which are exactly the rows worth having.
For each vendor, open the contract and find three things: the renewal or end date, the notice period, and whether it auto-renews. Those three fields do most of the work. If you can only get two, take the renewal date and the notice period — they are what produce the deadline.
Fill in an owner for every row while you are there, and use a person's name rather than a department. Shared responsibility reliably becomes nobody's, and the gap only shows up when a renewal is three weeks out and the person who used to handle it has left.
Do not try to complete the whole portfolio in one sitting. Enter the contracts renewing in the next six months first, because those are the only rows that can hurt you this quarter, then fill in the rest as they surface.
The monthly review that keeps it honest
A tracker decays. Contracts get renegotiated, dates move, and the sheet quietly stops describing reality — the failure is invisible, because a stale sheet looks exactly like a current one. Thirty minutes a month is enough to prevent it if the thirty minutes actually happen.
Sort by notice deadline, ascending, and look at everything inside 90 days. For each of those rows, ask whether a decision is needed, whether the owner knows, and whether anything about the contract has changed since it was entered. Update the status column as you go.
Then scan for gaps: rows with no owner, no notice period, or a status nobody has touched in six months. Those are the contracts most likely to slip, precisely because nothing about them is being maintained.
When a spreadsheet stops being the right answer
A spreadsheet has one structural weakness, and it is not capacity: it cannot tell you anything. It sits there being correct until somebody opens it. Every reminder in this system depends on a human remembering to look, on a schedule, forever.
That works while one diligent person owns it and the portfolio is small. It starts failing when contracts arrive from several directions at once, when more than a couple of people need answers from it, or when the person maintaining it goes on holiday during a notice window. The honest test is not a count at all. It is whether anything has already been missed, whether next quarter's deadlines would still reach someone if the maintainer left tomorrow, and — the question worth asking first — what your largest single commitment is and what missing its notice window would cost.
None of that is an argument for buying software today. It is an argument for knowing which failure you are exposed to, so that when a deadline does slip you treat it as a signal rather than bad luck.
Get the template
Free, no email address, no account. Copy it or download it and it is yours.
If you would rather have the alerts happen without the monthly review, that is what Lumipact does — but the sheet is yours either way, with nothing to sign up for.
Frequently asked questions
How do I use the contract renewal tracking template?
Download the CSV, open it in Excel or Google Sheets, and enter one row per contract. The two columns that do the real work are the renewal date and the notice deadline — fill both for every agreement, then sort by notice deadline, not renewal date, and put the next three deadlines in your calendar today.
What is a notice deadline?
The last day you can tell a vendor you are cancelling or changing a contract before it renews on its current terms. A contract renewing on 15 March with a 60-day notice period has a real deadline of 14 January — act after that and you are committed for another term, whatever the renewal date says.
Is the template really free?
Yes — free with no account, no trial, and no credit card. The file is a plain CSV with no macros and no lock-in, so it opens in Excel, Google Sheets, Apple Numbers, or LibreOffice and is yours to edit and share. We ask for an email address only so we can send you the download link.
When does a spreadsheet stop being enough?
When keeping it current becomes somebody's recurring job, or when a deadline passes that the sheet knew about but nobody looked. A spreadsheet holds dates; it cannot escalate them. The honest test: if the person who maintains yours left tomorrow, would next quarter's notice deadlines still reach the people who need to act?
Does the template send renewal reminders?
No. A spreadsheet cannot send alerts — the template gives you the structure, and the discipline of checking it stays with you. Pair it with recurring calendar events on each notice deadline. If you want the reminders to happen without the discipline, that is the job Lumipact does: alerts at 90, 60, 30, 14, 7, 3, and 1 days before each deadline.
Related resources
Contract Management vs Google Drive
What a shared drive can and cannot do for contract tracking — and how to keep using Drive for everything else.
How to Track and Manage NDAs
Why NDAs have two end dates, and how to keep them in the same register as every other agreement.
How to Cancel a SaaS Contract
Notice periods, the right cancellation channel, and what to do when the window has already closed.
Contract Tracking in Notion & Airtable
Where a hand-maintained contract base works, where it drifts, and what breaks as the portfolio grows.
When the spreadsheet isn't enough
Ready to go beyond a spreadsheet?
Lumipact uploads your contracts, extracts the key dates automatically, and sends you email alerts before a notice deadline passes — no manual updates required.
- ✓AI extracts renewal dates, notice periods, and values from your PDFs
- ✓Automated email alerts at 90, 30, 14, and 7 days before notice deadlines
- ✓Vendor spend dashboard — see your total committed spend at a glance
- ✓Free trial — no credit card required
