Practical guide
The 90/60/30-Day Renewal Reminder Schedule (and Why One Reminder Isn't Enough)
A single reminder is a siren. Use a 90 / 60 / 30 sequence — counted from the cancel-by date, with 14 / 7 where risk warrants it — so each ping has a job people can actually complete.
October 2, 2026 · 8 minute read
Why one reminder is not enough
A single calendar ping three days before renewal feels responsible until it fails. Someone is out. The email lands in an alias nobody reads. The ping fires on the renewal date, after the notice window already closed.
Renewals need a sequence, not a siren. The widely used 90 / 60 / 30 pattern (often extended with 14 / 7) works because each reminder has a different job: find the facts, review usage, decide, then execute. Miss that structure and you get either noise or silence — both of which end in surprise charges or weekend fire drills.
This guide is for IT and ops teams (with finance in the loop) who want a renewal reminder schedule that people can actually follow. It is practice advice, not a product feature list.
Anchor reminders to the cancel-by date
Most teams set reminders against the renewal date. For anything with a notice period, that is the wrong clock.
You need three dates on the record:
- Renewal date
- when the term rolls and the charge usually lands
- Cancel-by date
- renewal date minus the notice period — the last day notice still counts
- Decision date
- your internal deadline, earlier than cancel-by, so there is time to review and get approvals
Count the reminder ladder back from the cancel-by date, not the renewal date. A 60-day notice on a June 30 renewal makes May 1 the real deadline. A reminder on June 28 is theater.
For how cancel-by dates show up in auto-renew language, see how to avoid surprise SaaS auto-renewals. For labeling date meaning in a tracker, see how to track expiration and renewal dates without missing one.
The baseline 90 / 60 / 30 ladder
Use this as the default for material annual (or multi-year) renewals. Each step should name an owner and an outcome.
90 days before cancel-by: confirm the facts
- Confirm renewal date, notice period, and cancel-by date from the current order form or agreement
- Confirm a named decision owner and a backup (a person, not “IT”)
- Confirm where renewal and notice emails go, and that those inboxes are monitored
- Link the source document next to the dates
- Flag gaps: missing contract, unknown owner, personal card on file, former-employee contact
Job of this reminder: make the record trustworthy while there is still slack.
60 days before cancel-by: review need and leverage
- Pull usage, seat counts, and who still depends on the tool
- Note commercial terms that matter: uplift language, minimums, true-ups, data export
- Decide whether this cycle is renew-as-is, right-size, renegotiate, replace, or cancel
- Bring finance in if spend or budget timing is material
- If you may cancel or change terms, start the internal conversation now
Job of this reminder: turn a date into a decision path with data.
30 days before cancel-by: make the decision
- Record the decision: renew, change, renegotiate, or cancel
- Start any approvals that stand between you and notice or signature
- Draft notice language if cancelling or non-renewing
- Confirm the notice method the agreement requires (email address, portal, account rep, written letter)
- Update finance on the expected outcome and timing
Job of this reminder: close the decision before the window gets tight.
Add 14 and 7 for high-risk items
For expensive, hard-to-replace, customer-facing, or heavily negotiated tools, extend the ladder:
14 days before cancel-by: prepare the action
- Final check that approvals are done
- Finalize the notice or the renewal confirmation
- Confirm who will send it and who will save the vendor confirmation
- If renewing with changes (seats, tier, term), get the new terms in writing before the renewal date
Job of this reminder: move from decision to executable packet.
7 days before cancel-by: execute and prove it
- Send notice through the required method, or confirm the intentional renewal
- Ask for written confirmation and file it with the record
- If there is a billing portal auto-renew toggle, align it with the decision (portal and contract notice are not always the same action)
- Update the tracker the same day: status, confirmation link, next cancel-by date
Job of this reminder: finish the action while there is still a buffer for bounce-backs and missing confirmations.
Risk-tier the schedule so it stays usable
Not every row deserves a five-step ladder. Over-alerting trains people to ignore the queue.
High risk (use 90 / 60 / 30 / 14 / 7)
- High annual spend
- Production or customer-facing dependency
- Long notice periods (60–90+ days)
- Negotiated or custom terms
- Single owner with no backup
Medium risk (use 90 / 60 / 30)
- Standard annual SaaS with clear owners
- Moderate spend, replaceable with some lead time
Low risk (use 30 / 7, or 14 / 3 for monthly tools)
- Small card-billed tools
- Easy to cancel in-product
- Low blast radius if they renew once by mistake
Write the tier on the row. When everything is "urgent," nothing is.
Checklist: make reminders land on humans
- Send to a named owner plus one monitored backup inbox — not a dusty distribution list
- Put the cancel-by date and the required action in the reminder subject or first line
- Give each reminder a job (confirm / review / decide / prepare / execute)
- Include a link to the agreement and the tracker row
- Escalate if the owner does not respond by the next rung
- After the cycle, note what failed (wrong date, wrong person, ignored ping) and fix that part
Reminders are a delivery system for ownership. If ownership is vague, no cadence will save you. For the fields that make ownership and dates actionable on every license row, see software license inventory: what to record for every license. For the quarterly decision meeting once reminders are working, use the software renewal review checklist.
How this fits next to other date types
The same ladder idea applies beyond SaaS, with different anchors:
- Software / vendor renewals: cancel-by date (this post)
- SSL / certificates: certificate not-after date, with extra time for validation and cutover — see the SSL and certificate expiration checklist
- Domains / DNS: registrar renewal date and payment-on-file truth — see the domain and DNS expiration checklist
Do not smash every date type into one undifferentiated "remind me" column. Same discipline, different clocks.
Spreadsheet version (good enough until it isn't)
A workable reminder sheet needs at least: item, vendor, renewal date, notice days, cancel-by date (formula or computed), owner, backup, risk tier, reminder rung status, link to agreement.
Review the next 90 days every week in fifteen minutes. When the sheet starts drifting — stale owners, missing cancel-by dates, reminders nobody acknowledges — see how to move renewal tracking out of spreadsheets.
FAQ
Is 90 / 60 / 30 mandatory?
No. It is a baseline. Lengthen the ladder for high-risk or long notice periods. Shorten it for low-risk monthly tools. The rule that matters is sequenced attention before the cancel-by date.
Should reminders count from renewal or cancel-by?
From cancel-by whenever a notice period exists. Counting from renewal is how teams "remind" themselves after they are already locked in.
What if we cannot find the notice period?
Ask the vendor for the current order form and terms. Until you know, plan earlier rather than later, and treat the item as higher risk.
Do calendar invites count?
They can, if they go to the right people and each invite states the action. A lonely invite on the renewal morning does not.
How does this relate to auto-renewal surprises?
Auto-renewal surprises are usually cancel-by failures. Pair this schedule with the SaaS auto-renewal checklist.