Tips / Tip

Build a contract renewal calendar from a folder of PDFs

By Michael Shreeves · 24 July 2026 · Admin & Operations · 2 min read

Nobody reads a contract twice, so the auto-renewal date sits there until an invoice lands for another year of something you stopped using in March.

Pulling the dates out is dull work, which makes it a good one to hand over. Do one contract at a time with the same prompt, so the answers line up in a table.

Get the text out of the PDF first. Copy and paste if it's a normal one. If it's a scan, run text recognition over it, because a model reading a bad scan will confidently fill in what it can't see.

Read the contract text below and fill in this table. Use exactly these
fields:
Supplier | What it covers | Start date | End or renewal date |
Auto-renews? (Yes/No) | Notice period to cancel | Cost per year |
Who signed it for us
If a field isn't in the text, write NOT STATED. If a date has to be
worked out (for example "36 months from the start date"), show the
working and mark it DERIVED.
Under the table, quote the exact sentences that give the renewal date
and the notice period, with their clause numbers.

Contract: [PASTE TEXT]

The quoted sentences let you check each date in ten seconds instead of trusting it. Notice periods are where this goes wrong. Check whether notice has to be received or just sent by the date, whether the days are working days or calendar days, and whether it has to be in writing to a named address.

Paste the rows into a spreadsheet and add your own column for the decide-by date, which is the end date minus the notice period. Work that out with a formula, not the AI.

It won't be right every time. Anything with amendments, side letters or linked documents needs a person to read the lot, and for the contracts that cost real money I'd check the originals regardless.

Then put the decide-by dates in a shared calendar with a reminder 30 days ahead. That's the bit that saves the money. If you'd rather find the clauses that deserve a lawyer's attention, there's a tip for that.

← All tips