A contract tracking template is a spreadsheet that logs every agreement your organisation has signed, one row per contract. It records who the contract is with, what it is worth and when it ends, so no renewal or notice date slips past.
It is a single register of your signed agreements, with each contract's ID, counterparty, status, dates, notice period, value and owners in one row. Formulas then work out when you must give notice and which contracts need action this quarter.
Procurement, legal and finance teams use it to see what the business has committed to, spot auto-renewals before they lock in and answer audit questions without digging through inboxes. People also call it a contract tracker, a contract monitoring sheet or a contract management spreadsheet.
A free contract management Excel template like this suits teams with up to a few hundred agreements. Beyond that, the same fields become the data model for contract management software, so the work you put into the register carries over.
A unique reference such as CT-0012, so every amendment, invoice and email points to one row.
A short name that says what the agreement covers, for example CRM subscription.
The legal name of the other party, matching what appears on the signature page.
The owning department (Legal, IT, Sales, HR) and where it stands: Draft, Out for signature, Active, Expiring or Terminated.
The start date, the expiry date and the notice period in days needed to cancel or renegotiate.
Total and recurring value with currency, plus the internal owner and the counterparty's contact.
Ready to use in Excel and Google Sheets. Fill it in, save it, reuse it.
When a contract is signed, give it an ID and add a row the same day. Link to the signed PDF.
Set the category, owner and status. These drive the filters and the summary tab.
Enter end date and notice period. The sheet works out the notice deadline and raises a flag.
Review the renewal calendar monthly and log obligations such as reports, audits or price reviews.
Before each notice deadline, the owner chooses to renew, renegotiate or terminate, and the row is updated.
Start with seven columns: Contract ID, Counterparty, Owner, End date, Notice period, Notice deadline, Annual value. Add status, category and obligations once every live contract is in.
This register is what every other tab reads from, so keep it clean: one row per signed agreement, amendments noted against the original ID. Enter dates as real dates, not text, or the formulas will break. Use the counterparty's legal name exactly as it appears on the contract.
| ID | Contract | Counterparty | Status | End date | Notice by | Flag | Annual value |
|---|---|---|---|---|---|---|---|
| CT-0012 | CRM subscription | Brightline Software | Active | 31 Jan 2027 | 02 Dec 2026 | Review | 48,000.00 |
| CT-0015 | Freight services | Northwind Logistics | Expiring | 30 Nov 2026 | 31 Oct 2026 | Act now | 120,000.00 |
| CT-0021 | Analytics licence | Kestrel Data | Active | 14 Mar 2028 | 15 Dec 2027 | On track | 36,000.00 |
| CT-0024 | Office cleaning | Harbour Facilities | Out for signature | 31 Oct 2027 | 01 Oct 2027 | On track | 18,500.00 |
| CT-0009 | Web analytics | Orbit Analytics | Terminated | 31 Dec 2025 | 01 Dec 2025 | 0.00 | |
| Total | 222,500.00 |
Illustrative data as at 7 Oct 2026, not real contracts.
Works in Excel and Google Sheets. Headers in row 1, data from row 2, formulas copied down.
| Col | Header | Entry or formula | What it does |
|---|---|---|---|
| A | Contract ID | Text, e.g. CT-0012 | Unique reference for the agreement |
| B | Contract title | Text | What the contract covers |
| C | Counterparty | Text | Legal name of the other party |
| D | Category | Drop-down: Legal, IT, Sales, HR, Operations, Facilities | Owning department, used for filters |
| E | Status | Drop-down: Draft, Out for signature, Active, Expiring, Terminated | Where the contract stands |
| F | Start date | Date | When obligations begin |
| G | End date | Date | Expiry date of the current term |
| H | Notice period (days) | Number, e.g. 60 | Days of notice needed to cancel or renegotiate |
| I | Auto-renews? | Drop-down: Yes, No | Whether the term rolls over if nobody acts |
| J | Notice deadline | =IF(G2='', | Last day to give notice |
| K | Days to deadline | =IF(J2='', | Negative means the deadline has passed |
| L | Renewal flag | =IF(OR(E2='Terminated', | Tells the owner what to do and when |
| M | Annual value | Currency | Recurring amount per year |
| N | Currency | Text, e.g. GBP, USD, EUR | Keep one currency per row |
| O | Total contract value | =IF(OR(F2='', | Annual value across the full term |
| P | Internal owner | Name | Who decides at renewal |
| Q | Counterparty contact | Name and email | Who to send notice to |
| R | Document link | URL | Signed PDF in Drive or SharePoint |
Format column L with conditional formatting: red for Act now and Notice passed, amber for Review.
Most missed renewals are not forgotten contracts, they are notice periods nobody counted back from. This tab turns the register's notice deadlines into a short list of decisions for each month. Read more on running a contract renewal process.
Annual value by notice window, illustrative register as at 7 Oct 2026. Percentages are shares of the 222,500.00 in live and pending contracts; terminated rows are excluded.
These read columns E, J, K and M of the register.
| View | Formula |
|---|---|
| Contracts with notice due in 0-30 days | =COUNTIFS(K:K, |
| Annual value with notice due in 0-30 days | =SUMIFS(M:M, |
| Annual value with notice due in 31-90 days | =SUMIFS(M:M, |
| Auto-renewing contracts in the next 90 days | =COUNTIFS(I:I, |
| Contracts past their notice date | =COUNTIFS(K:K, |
| Next notice deadline | =MINIFS(J:J, |
Dates in the register only tell you when a contract ends. The obligations that matter day to day, such as service reviews, price caps and certificates of insurance, sit in the clauses. Pull them into this log when the contract is signed and review it monthly.
| Contract ID | Obligation | Party | Due | Owner | Status |
|---|---|---|---|---|---|
| CT-0012 | Annual price increase capped at 5% | Brightline | 01 Feb 2027 | IT lead | Noted |
| CT-0015 | Quarterly on-time delivery report | Northwind | 15 Oct 2026 | Ops manager | Due soon |
| CT-0021 | Annual user true-up | Us | 15 Mar 2027 | IT lead | Scheduled |
| CT-0024 | Certificate of insurance on file | Harbour | 01 Nov 2026 | Office manager | Missing |
Illustrative obligations from the sample register.
| Item | Formula |
|---|---|
| Status (column F) | =IF(G2='Done', |
| Overdue obligations | =COUNTIF(F:F, |
Add column G, Completed, with Done when the obligation is met. The status formula in column F reads it.
Keep the summary small enough to paste into a monthly report. Category totals show where commitments are concentrated, and the status counts show how much is stuck in Draft or Out for signature. Both update the moment the register changes.
| Category | Live contracts | Annual value | Notice in 90 days |
|---|---|---|---|
| IT | 2 | 84,000.00 | 1 |
| Operations | 1 | 120,000.00 | 1 |
| Facilities | 1 | 18,500.00 | 0 |
| Total | 4 | 222,500.00 | 2 |
Illustrative totals from the sample register. Live means any status except Terminated.
| Cell | Formula |
|---|---|
| Live contracts, IT | =COUNTIFS(D:D, |
| Annual value, IT | =SUMIFS(M:M, |
| Notice in 90 days, IT | =COUNTIFS(D:D, |
| Contracts out for signature | =COUNTIF(E:E, |
Spendflo's Contracts Agent reads each contract and tracks renewal and notice dates for you.
See the Contracts AgentThe days or weeks of written notice the contract requires before you can cancel or change it at the end of a term.
The end date minus the notice period. Miss it and an auto-renewing contract usually rolls into a new term.
A clause that extends the contract for another term unless one party gives notice in time.
Everything payable across the full term, as opposed to the annual or monthly amount.
An agreement with no fixed end date that runs until one party terminates it with notice.
| Status | Set it when | Next status |
|---|---|---|
| Draft | Terms are being negotiated and nothing is signed | Out for signature |
| Out for signature | The final version has been sent to signatories | Active |
| Active | Both parties have signed and the start date has arrived | Expiring |
| Expiring | The notice deadline is within 90 days | Active (renewed) or Terminated |
| Terminated | Notice was given or the term ended without renewal | None, keep the row for history |
The end date alone is not enough, since the decision has to be made before the notice deadline.
A person, not a team, so someone is accountable when the renewal flag turns red.
A row without the signed PDF cannot settle a dispute about what was agreed.
Update dates and value on the original row and note the amendment, rather than adding a new row.
A fixed monthly check gives owners at least 30 days before any notice deadline.
Text dates look right but return errors in every deadline formula.
Small auto-renewing subscriptions add up and are the ones nobody remembers.
Keep them with status Terminated so you have a history for audits and future negotiations.
Reassign contracts when people change roles, or the flags go to an empty inbox.
Search shared drives, email and accounts payable for recurring vendors. Every vendor you pay regularly should have a row.
ID, title, counterparty, category, status, dates, notice period and annual value. Leave contacts for later if needed.
Sort by notice deadline and confirm every Act now row with its owner this week.
Book a recurring 30-minute slot to review flags, obligations and the summary tab.
Northwind Logistics' freight contract ends on 30 Nov 2026 with a 30-day notice period, so notice is due by 31 Oct. On 7 Oct the row shows Act now with 24 days left. The ops manager requests revised pricing the same week instead of rolling into another year at 120,000.00. Figures are illustrative.
Every part on this page, in Excel and Google Sheets, with the examples filled in.
Use the register and renewal calendar only. One owner per contract and a monthly check are enough.
Add the obligations log and summary tab, and use it as a contract lifecycle management Excel file from draft to termination.
Add columns for data protection terms, last legal review date and approver, so audits can see who signed off.
Best for most teams and for SharePoint.
Best for shared, live editing.
One tab with all 18 columns and no sample data.
Spendflo has handled 15,000+ agreements, at 30% average savings on software spend.
See your savingsThis Excel contract management template tells you which contracts need a decision and when. It works until the number of contracts outgrows a monthly review, which is when automated renewal tracking pays off.
Every contract, its counterparty, value and owner in one register.
Open the register →2Notice deadlines and flags show what needs a decision within 90 days.
Open the calendar →3The obligations log tracks reports, reviews and price caps during the term.
Open the log →Quick answers to what people ask most about the contract tracking template.
List one contract per row with ID, title, counterparty, category, status, start date, end date, notice period, value and owner. Add a notice deadline formula of end date minus notice period and a flag based on days left. You can download the free Excel template from this page to skip the setup.
At minimum, a contract ID, title, counterparty, category, status, start and end dates, notice period, value and key contacts. Add an obligations log and a renewal calendar once those are in place. The download includes all of these as separate tabs.
Track the notice deadline rather than the end date, because that is the last day you can act. Subtract the notice period from the end date and flag anything within 90 days. The template you can download here does both automatically.
You can download one free from this page in Excel or Google Sheets. It includes the register, renewal calendar, obligations log, summary tab and a blank version for SharePoint.
Usually when monthly reviews no longer catch every notice deadline, or when several teams sign contracts without telling each other. Until then, a spreadsheet works well. Download the template first, since its fields map directly onto most contract tools.
Contracts
Purchase orders
Vendor management
Sourcing and RFx
Budgets and business cases
Procurement
Accounts payable
Purchasing
Software buying
Supply chain
Spendflo's Contracts Agent stores your agreements, extracts key dates and tracks renewals, so owners get the decision in time.
Enter your work email and we'll unlock every format.
Didn't start, or need another format? Pick one below.
Google Sheets: upload the file to Google Drive, then open it with Google Sheets.