Guides · 9 min read

How to build a contract tracker in Excel or Google Sheets

A contract tracking spreadsheet can be a perfectly good register. This guide gives the columns, the formulas and the caveats, and says honestly when a contract tracker in a spreadsheet stops being enough.

Published
23 September 2026
Updated
23 September 2026
By
Agreedio

A contract tracker does not need to start as software. For a small book of agreements with one careful owner, a contract tracker in Excel or Google Sheets is quick to build, free to run and easy to hand over. The risk is not the spreadsheet itself. It is a sheet whose columns mean different things to different people, whose dates nobody has checked against the signed document, and whose owner left last year.

This guide builds a contract tracking spreadsheet that avoids those problems: one row per agreement, columns that keep the term end and notice date apart, a formula for the latest notice date with its limits spelled out, and a routine that keeps it current. The worked example uses the fictional Northline Studio sample, not a real contract.

1. One row per agreement, not per document

Give each agreement one row, and record amendments against it rather than adding a new row for every PDF. If a statement of work is amended twice, it is still one agreement with one current set of terms. A new row per document is how a tracker ends up with three different fees for the same retainer.

Freeze the header row, turn the range into a table (Insert → Table in Excel; Format → Convert to table in Google Sheets) and keep one sheet for live agreements. Ended agreements can move to a second sheet so they stay searchable without cluttering the view.

2. The columns to include

These columns match our free template. The letters are the ones used in the formulas below; rearrange them if you like, but keep the meanings separate.

ColumnWhat goes in it
A: AgreementA short title you would say out loud
B: CounterpartyThe other organisation, spelled their way
C: RelationshipCustomer, vendor or other
D: OwnerOne named person who is responsible for it
E: Source linkWhere the signed original and amendments live
F: StartEffective date, as written
G: Notice wordingThe clause quoted word for word
H: Term endWhen the current term ends
I: ConventionCalendar days, business days, months, or needs review
J: Notice daysThe number of days in the notice rule, if it is in days
K: Latest notice dateCalculated from H and J
L: Internal reminderWhen the owner wants to be told
M: Review stateConfirmed, needs review or missing source
N: AmendmentsEach amendment, its date and what it changed

3. A formula for the latest notice date

Dates in Excel and Google Sheets are stored as numbers of days, so calendar-day subtraction is simple. In K2, enter =IF(OR(H2="",J2=""),"",H2-J2) and format the cell as a date. In L2, for a reminder 60 days before the latest notice date, enter =IF(K2="","",K2-60). For a countdown, =IF(K2="","",K2-TODAY()) returns the days remaining. The same formulas work in both applications.

Worked on the fictional Alder Works retainer: the term ends on 30 September 2027 and the amended notice rule is 90 calendar days. 30 September 2027 minus 90 is 2 July 2027, and a reminder 60 days earlier falls on 3 May 2027. Under the original 60-day rule the result was 1 August 2027, which is a Sunday. The formula does not move it, and it should not.

  • Calendar days only. The formula does not adjust for weekends, public holidays or business-day wording.
  • Months are not days. If the clause says two months, that is a different rule; do not convert it to 60 days to fit the column.
  • Sent is not received. Many clauses turn on when notice arrives, which can be earlier than the day you send it.
  • WORKDAY exists in both applications, but choosing it is a reading of the contract. If you use it, write that in the Convention column rather than letting the formula decide silently.
  • If the wording is ambiguous, leave the latest notice date blank and mark the row as needs review.

4. Owner and source are the columns that fail first

The Owner column only works if it holds a person who can still receive a reminder. Initials nobody recognises, a team name or a former employee all look filled in and are not. Review the column whenever someone joins, leaves or changes role.

The Source link column is what makes a cell trustworthy. If a date was copied from an email summary rather than the signed document, say so in Review state. A confident date with no source is worse than an honest blank, because people will act on it.

5. Make the sheet tell you what is coming

Add conditional formatting to column K: one colour when the latest notice date is within 90 days, another within 30. Add a data-validation dropdown to Review state so the values stay consistent. Then filter by owner and sort by latest notice date for a monthly review.

A spreadsheet will not send reminders by itself. Most teams pair it with calendar entries, which works until the calendar belongs to someone who has left. Whatever you use, remember that a reminder is a message to your own team. It is not notice to the counterparty.

6. When a contract tracker in a spreadsheet stops being enough

None of these is a failure of discipline. They are the points where a spreadsheet's structure runs out.

  • People open the PDF before trusting a cell, because nobody knows who entered it or from which version.
  • Amendments change fees or notice periods and the row is not updated, or is updated without a record of what changed.
  • Reminders live in personal calendars and nobody notices when one goes nowhere.
  • Several people edit the sheet and there is no record of who confirmed which date.
  • The book has grown past what one person can review in an afternoon.

Where Agreedio fits

If your contract tracker works, keep it; a spreadsheet may be all a small, stable book needs. When it stops working, Agreedio keeps the same column meanings but attaches each value to its source excerpt, records who confirmed it, separates term end from latest notice date, and sends internal reminders to a named owner with delivery failures shown. Imported spreadsheet dates arrive as suggestions to review, not as confirmed rules, and batch migration on the Team plan preserves your column meanings.

What this guide does not cover

This guide does not interpret notice clauses, give legal advice or cover business-day, holiday or time-zone rules. The formulas are arithmetic on the values you enter; the reading of the contract is yours.

Examples on this page use a fictional sample workspace. Nothing here is legal advice; obtain qualified advice for your own agreements.

See it on the sample agreement.

The example in this article is the same fictional workspace you can press and play on this site.