A subscription you decided to keep is fine. One that renewed because nobody saw it coming is a decision made by default, every year, by no one. Here is the list and the calendar that fix it.
Software spend has a particular quality that makes it hard to control: it arrives as small amounts, monthly, forever, and no single line is ever worth an argument. The total is never assembled in one place, so it is never confronted.
Two automations fix most of it. A list built from what you actually pay, and a renewal calendar that gives you notice.
Why renewals matter more than the list
A subscription you decided to keep is fine. A subscription that renewed because nobody saw it coming is a decision made by default, and annual contracts frequently have cancellation windows that close weeks before the renewal date. Miss the window and you are committed for another year regardless of whether you use it.
The renewal calendar is worth more than the inventory, because the inventory tells you what you have and the calendar tells you when you can still do something about it.
How to build it
1. Build the inventory from twelve months of statements
Card and bank statements, every recurring charge identified: what it is, who uses it, what it costs annually, and when it renews. Do not ask people what they use, because you will get the tools they remember and miss everything expensed personally.
2. Record the notice period, not just the renewal date
This is the field everybody omits. A contract renewing on 1 March with a thirty-day notice period must be decided by 1 February. Store both dates and drive the alerts from the earlier one.
3. Assign an owner to every line
Not a user, an owner: the person who decides whether it continues. A subscription with no owner will renew forever, because deciding to cancel something is a task nobody has been given.
4. Automate the sixty-day and thirty-day alerts
At sixty days, ask the owner whether it is still needed and attach whatever usage data you have. At thirty days, escalate if nobody has answered. Silence should be uncomfortable rather than costless.
5. Pull seat counts where you can
Most business tools expose an admin view of active users and last login. A scheduled export comparing paid seats against people who actually opened it in ninety days is where most of the recoverable money sits.
6. Attach adding to the list to purchasing
Otherwise you will repeat this whole exercise in eighteen months, which is exactly what most businesses do.
Tools and what they cost
| Option | What it costs | Honest trade-off |
|---|---|---|
| A spreadsheet plus calendar reminders | Free. | Genuinely sufficient for most businesses under about thirty people. Depends on somebody maintaining it. |
| Apps Script over a sheet with scheduled alerts | Free with Google Workspace. | Automates the notice-period alerting and the escalation. A few hours to build and it needs no ongoing attention. |
| Spend management tools (Ramp, Brex, Pleo) | Often free with the card product, or per user. | Catches new subscriptions automatically at the point of payment, which solves the staleness problem structurally. |
| SaaS management platforms (Zylo, Productiv, BetterCloud) | Enterprise pricing, usually annual. | Automated discovery and seat reclamation. Built for organisations far larger than most agencies, and the vendors also publish most of the statistics in this field. |
What it is actually worth
The honest answer is that it depends entirely on how long you have gone without doing it, and you can find out in an afternoon.
The industry context, carefully attributed: Zylo's 2025 SaaS Management Index reported average annual waste on unused licences of around $21 million per organisation, with roughly 53 percent of licences unused. Zylo sells SaaS management software and its data comes from its own customers, who by definition already suspected they had a problem. The absolute figure is meaningless for a small business. The rate is the useful part, and it travels: roughly half of provisioned seats going unopened is consistent with what most first-time audits find.
Separately, BetterCloud's research has shown average application counts falling, from around 130 to roughly 106 across recent years, while per-employee spend rose. Also a vendor. The paradox it describes is real and worth knowing: consolidation has been happening while bills have gone up.
Your own number: total annual recurring software spend, times the share of seats not opened in ninety days. That is your recoverable amount and it takes an afternoon to produce.
How it breaks
The list goes stale within months. The single most common failure. Attach adding to the list to the act of purchasing, or accept that you are doing this annually.
Alerts fire to nobody. An unowned line generates an alert that everybody assumes is somebody else's, which is the same as no alert.
Cancelling breaks something. Check dependencies before cancelling. A tool nobody logs into may still be running an integration that matters.
How to tell whether it worked
Renewals reviewed before the notice window closed, which should be all of them. Annual recurring spend per employee, tracked quarterly. And the number of subscriptions with no named owner, which should be zero.