I almost cost my company $87,000 once because I missed a renewal by four days.
It was a facilities management contract. Three-year term, auto-renewal clause with a 60-day notice window. I knew the contract existed. I’d even flagged it when I first organized the repository. But I hadn’t set an alert, because at the time I was still using a spreadsheet with conditional formatting and the logic was “I’ll remember to check this in Q3.”
I did not remember to check it in Q3.
The vendor’s account rep called me the week after the renewal triggered, very cheerful, to let me know we were locked in for another three years at a 12% rate increase. I spent the next two weeks trying to negotiate our way out of a commitment I could have avoided with a calendar reminder and five minutes of attention.
That was the last time I managed renewals by memory. I built a system after that, and I’ve been refining it for about six years now. It’s not complicated. It doesn’t require enterprise software or a dedicated team. But it works, and it works because it assumes something important about human nature: nobody is going to remember to check the spreadsheet in Q3.
Why Renewals Break People
Renewal management is one of those problems that feels simple until you’re actually doing it. Track the dates, send the reminders, review before the deadline. What’s hard about that?
What’s hard is scale. At any given time, I’m managing somewhere between 150 and 200 active contracts. Maybe 40 of those have renewals coming up in the next 12 months. Of those 40, about a dozen have auto-renewal clauses that will trigger if I don’t actively do something before a deadline. And the deadlines are different for each one: 30 days, 60 days, 90 days, sometimes 120.
Now multiply that by the fact that I’m not just tracking dates. I’m also supposed to be evaluating whether we still need the service, whether the pricing is competitive, whether the vendor has been performing, and whether anyone in the business wants to change the scope. That’s not a reminder. That’s a project, and it needs to start months before the renewal date.
Most people don’t have a system for this. They have a spreadsheet, or they have Outlook reminders, or they have a vague understanding that “a bunch of stuff renews in Q4.” And then Q4 arrives, and half the renewals happen without anyone making a conscious decision, because the auto-renewal clause did exactly what it was designed to do.
The numbers back this up. Zylo’s 2024 SaaS Management Index found that companies are only using about half (49%) of the software licenses they’ve purchased. The average organization sits on $18 million in wasted SaaS spend from unused licenses alone, a figure that went up 7% from the previous year. And the average company carries 15 duplicate online training apps and 11 duplicate project management tools, all quietly renewing because nobody’s looking.
That’s not a technology problem. That’s a “nobody owns the renewal decision” problem.
The System
Here’s what I actually do. It has three layers, and each one exists because the one below it will eventually fail on its own.
Layer 1: The Repository Does the Remembering
Every contract goes into ContractSafe with four dates populated: effective date, expiration date, renewal date, and the notice deadline (which is the date by which I need to act if I want to avoid auto-renewal). That last one is the one people forget to track, and it’s the one that matters most.
I set automated alerts at three intervals: 120 days before the notice deadline, 90 days, and 60 days. Not before the expiration date. Before the notice deadline. This is a distinction that has saved me more money than any negotiation tactic I’ve ever learned. If your auto-renewal requires 90 days’ written notice and your alert fires 90 days before expiration, you’re already too late.
The alerts go to me and to the business owner for each contract. That’s the person who actually uses the service, signs the invoices, or manages the vendor relationship. They need to know too, because I’m going to need their input before I can make a renewal decision.
Layer 2: The Quarterly Review
Alerts are great, but they’re reactive. They fire when a deadline approaches. They don’t help me see the full picture of what’s coming.
So every quarter, I pull a report of all contracts expiring or renewing in the next six months. It takes about 20 minutes. I sort by value (highest first) and by renewal type (auto-renewals get flagged). Then I do a quick triage:
Renew as-is: The service is working, the price is fair, the business is happy. I make a note and move on.
Renew with renegotiation: The service is fine but the price is high, or the scope needs updating, or we’re not using all the features we’re paying for. I flag this for a conversation with the vendor, starting at least 90 days out.
Do not renew: We don’t need this anymore, or the vendor has been underperforming, or a better option exists. I send the termination notice immediately, well inside the required window.
Needs investigation: I’m not sure. Maybe the business owner has changed, or the use case has shifted, or I genuinely don’t know what this contract is for anymore. (This happens more than you’d think, especially with contracts I inherited.) I reach out to the business owner and get clarity before the next alert fires.
Most contracts fall into the first bucket. But the ones that fall into the second and third buckets are where all the money is. I’ve saved my current company somewhere around $120,000 in the last two years just from catching renewals that should have been renegotiated or terminated, things that would have auto-renewed at inflated rates if nobody had looked.
Layer 3: The Annual Audit
Once a year, usually in January, I do a full contract audit. Not just the ones coming up for renewal. Everything. I pull the entire active contract list, sort it by category (SaaS, professional services, facilities, etc.), and look for patterns:
Do we have duplicate services? (Yes, almost always.) Is anyone still using the thing we signed up for three years ago? Are there contracts with no business owner assigned? (Red flag.) Are any contracts month-to-month when they should be termed, or vice versa?
This is where you find the quiet waste. The marketing tool nobody uses since the team lead left. The secondary analytics platform that overlaps with the one finance already pays for. The training subscription that 200 people have access to and 11 people logged into last year.
Zylo’s research found that the average company has 15 duplicate training applications and 11 duplicate project management tools in its portfolio. I’ve seen similar patterns at a smaller scale in every organization I’ve worked at. Not 15 duplicate tools, but two or three, each quietly billing on a different credit card with a different renewal date that nobody’s watching.
The annual audit is where you catch those.
What I’ve Learned the Hard Way
The notice deadline is the only date that matters. I keep saying this because I keep meeting people who track expiration dates and think they’re covered. If your contract auto-renews and the notice window has passed, the expiration date is meaningless. You’re already committed. Track the date by which you need to act, not the date the contract technically ends.
Auto-renewal clauses are a feature for the vendor, not for you. I’m not anti-auto-renewal. Sometimes it’s fine. If you’ve got a well-priced agreement with a vendor you’re happy with, auto-renewal saves everybody paperwork. But most auto-renewal clauses are designed to ensure the vendor keeps getting paid even if you’ve stopped paying attention. That’s why 89% of SaaS contracts include them. The default is to keep billing you. The system I’ve described exists to make sure auto-renewal is a choice, not an accident.
The business owner should feel the renewal coming. When I send that 120-day alert to the project manager or department head who actually uses a service, something useful happens: they start thinking about whether they still need it. They have three months to form an opinion, gather feedback from their team, and tell me whether to renew, renegotiate, or walk. If I waited until 30 days out, there’s no time for any of that. The decision becomes “renew by default because we can’t evaluate this fast enough,” which is exactly how waste accumulates.
Your Q4 is everyone else’s Q4 too. A huge number of contracts renew at the end of the fiscal year. If you wait until November to start reviewing December renewals, you’re competing with every other company that also waited until November. Vendors are busiest. Your internal stakeholders are busiest. Nobody has time for a thoughtful conversation about pricing. Do your Q4 renewal work in September.
Documentation beats memory every time. When I renegotiate a contract, I write down what we got: the old price, the new price, the concessions, the reasons. When I choose not to renew, I write down why. A year later, when a similar decision comes up, I don’t have to start from scratch. I have a record. This sounds basic, and it is. It’s also the thing I see other contracts people skip most often.
The Whole Point
My system isn’t fancy. It’s a CLM with good date alerts, a quarterly report I pull manually, and an annual audit where I question everything. It works because it assumes I’ll forget, assumes the business owner won’t check, and assumes the vendor is perfectly happy to keep billing us whether we need the service or not.
If you’re managing more than about 30 active contracts and you don’t have something like this, you’re losing money. Maybe not $87,000 at a time like I almost did. Maybe it’s $5,000 here, a redundant $12,000 subscription there, an auto-renewal that nobody chose but nobody stopped. It adds up. It always adds up.
Start with the notice deadlines. That’s the single highest-value thing you can do this week: go through your active contracts, find every auto-renewal clause, calculate the notice window, and set an alert. Everything else can wait. That can’t.
I’m Dave, and I write about contract management the way it actually works. No jargon, no sales pitch, just what I’ve learned from 15+ years of doing this job. New posts every Tuesday and Thursday.


Leave a Reply