← Back to blog

The Contract Renewal System That Prevents Surprise Expirations

MSAs and SOWs expiring unnoticed is the #3 finding in our audits. A 30-minute setup gives you 90-day visibility on every contract — no missed renewals, no emergency scrambles.

The email arrives Friday at 4:47pm.

"Hey — our MSA with Client X expired Tuesday. They're asking for a new SOW by Monday. Can you pull the old terms?"

You spend the weekend reconstructing a relationship from PDFs in three different folders. The client is annoyed. You look disorganized. The renewal revenue is at risk.

This happens in every agency we audit. Here's the system that stops it.

The Problem Isn't Memory — It's Visibility

You don't need to remember 47 contract dates. You need a dashboard that shows you what's coming in the next 90 days, every Monday morning.

The Contract Tracker (Notion Template)

One database. These properties. No exceptions.

| Property | Type | Purpose | |----------|------|---------| | Contract Name | Title | "Client X — MSA" / "Client X — SOW Q2 2026" | | Type | Select | MSA, SOW, NDA, Addendum | | Counterparty | Relation → Companies DB | Links to client/vendor record | | Status | Select | Active, Expiring Soon (90d), Expired, Renewed, Terminated | | Effective Date | Date | When it started | | Expiration Date | Date | When it ends (or auto-renews) | | Auto-Renew | Checkbox | Yes/No | | Renewal Notice Period | Number (days) | 30, 60, 90 — what the contract requires | | Owner | Person | Who manages this relationship | | Value (Annualized) | Number | For prioritization | | File | Files & Media | PDF of signed contract | | Notes | Text | Key terms, special clauses, negotiation history |

Two views you need:

  1. Expiring in 90 Days — Filter: Expiration Date ≤ Today + 90d, Status = Active. Sort by Expiration Date ascending.
  2. By Owner — Group by Owner. Each PM/lead sees their contracts.

The 90/30/7 Cadence

90 days out (Trigger: Expiring Soon view):

  • Owner gets Notion notification + Slack DM
  • Action: Confirm renewal intent with counterparty
  • Decision: Renew as-is, renegotiate, or let lapse

30 days out:

  • If renegotiating: Draft terms sent to counterparty
  • If auto-renew: Verify nothing changed (scope, rate, contact)
  • If letting lapse: Offboarding checklist initiated

7 days out:

  • Final signature chase
  • New contract filed in tracker
  • Old contract status → Renewed

The Auto-Renew Trap

Auto-renew sounds safe. It's not.

What goes wrong:

  • Rate increases 15% per auto-renew clause — no one noticed
  • Scope creep: SOW auto-renews but deliverables changed 6 months ago
  • Counterparty uses auto-renew as leverage ("well, it renewed, so...")
  • You're locked into a vendor you wanted to replace

The fix: Treat auto-renew as a trigger, not a decision.

  • 90 days out: Review every auto-renew contract
  • Active decision: "We want this to renew" or "We're opting out"
  • Document the decision in Notes

The Vendor vs. Client Split

Client contracts (revenue):

  • Owner = Account Lead / PM
  • Priority: High (revenue at risk)
  • Escalation: Founder at 30 days if unsigned

Vendor contracts (cost):

  • Owner = Ops Lead / Department Head
  • Priority: Medium (service disruption risk)
  • Escalation: Finance at 30 days for payment terms review

Different cadences, same tracker.

Quick Setup (30 Minutes)

  1. Create the Notion database with properties above
  2. Import existing contracts from wherever they live (Drive, DocuSign, inbox)
  3. Set expiration dates — estimate if unknown, flag in Notes
  4. Create the two views
  5. Share with team, assign owners
  6. Add to Monday 9am recurring: "Review Expiring in 90 Days view"

Quick Win This Week

Find the 3 contracts expiring soonest. For each:

  1. Confirm the expiration date (check the PDF)
  2. Identify the owner
  3. Send the 90-day email: "Hey [counterparty], our agreement expires [date]. Want to set up a quick call to discuss renewal?"

That's it. Three emails. You've just prevented three Friday 4:47pm fires.


Contract chaos is optional. Book a discovery call and we'll build your tracker together.

Want the audit, not the article?

30 minutes. No pressure, no pitch deck. Just a conversation about what's actually going on.

Book a Discovery Call