Contract Tracker Template
Most contract trackers store the end date and miss the deadline. This one calculates the notice date, which on an auto-renewing contract is the day the decision is actually made.
Opens in Excel, Google Sheets, or Numbers. Includes three example rows and the formulas below.
The columns
Eighteen columns. The three marked matter most and are the ones missing from every tracker we have seen in the wild.
| Column | Type | Why |
|---|---|---|
| Counterparty | Text | The other party's legal entity name |
| Contract Type | Text | MSA, order form, lease, NDA, SOW |
| Direction | Customer / Supplier | Which side of the table you are on |
| Annual Value | Number | Used to rank what deserves attention |
| Currency | Text | Skip if you only ever use one |
| Start Date | Date | |
| End Date | Date | The date printed on the contract |
| Notice Period Days | Number | A NUMBER. Not '60 days written notice' |
| Notice Date | Formula | = End Date - Notice Period Days |
| Days To Notice | Formula | = Notice Date - TODAY() |
| Auto Renews | Yes / No | |
| Renewal Type | Fixed term / Rolling | Rolling evergreen exits any time; fixed locks another full term |
| Uplift Terms | Text | The escalation clause, or 'none' |
| Owner | Text | One named person, never a team |
| Decision Status | Dropdown | Not reviewed / Continuing / Renegotiating / Exiting |
| Service Levels | Text | What you are owed, so you can check it was delivered |
| Document Link | URL | Where the signed PDF lives |
| Notes | Text |
The formulas
Assuming End Date in column G and Notice Period Days in column H, with data starting on row 2. Identical syntax in Excel and Google Sheets.
Notice Date =IF(OR(G2="",H2=""), "", G2-H2)
Days To Notice =IF(I2="", "", I2-TODAY())
Status flag =IF(I2="", "",
IF(I2<TODAY(), "CLOSED",
IF(I2-TODAY()<=30, "URGENT",
IF(I2-TODAY()<=90, "ACT NOW", "OK")))) Conditional formatting
Apply to the Days To Notice column. This is what makes the sheet usable at a glance.
| Rule | Colour | Means |
|---|---|---|
| Less than 0 | Grey | Window closed. Already renewed, decided or not |
| 0 to 30 | Red | Decide this week |
| 31 to 90 | Amber | Start the review now |
| Over 90 | None | Leave it alone |
Sort by Notice Date, not End Date.
This is the single change that makes a tracker useful. Sorted by end date, the sheet shows you the wrong quarter and hides the contracts whose decision window has already closed.
When a spreadsheet stops being enough
Honestly: under about 40 active contracts with one person maintaining it, this sheet is genuinely the right answer. It costs nothing and it fails in ways you can see. Five signals it is time to move on:
- More than about 40 active contracts, so the monthly review no longer fits in one sitting.
- More than one person needs to update it, so you get version conflicts and overwritten cells.
- You missed a date in the last twelve months. The system already failed once.
- Nobody can say who owns a given renewal.
- Somebody asked who changed a value and when, and there is no answer.
Any two of those and it is worth looking at tooling. What to buy, and what to ignore, is in contract management software for small business.
A spreadsheet remembers. It does not chase anybody.
SWOTBee builds this into HubSpot directly: notice period as a real property, notice date as a calculation, and alerts that create tasks with owners and escalate when nothing happens.
Book a free 30-minute discovery call →