Year-end isn’t when subscription spend starts getting out of control. It’s when the invoices finally force the conversation.
Every CFO I know has the same experience around June/July: you pull the SaaS renewal schedule, compare it against headcount, and realise you’ve been paying for ghosts. Seats nobody uses. Tools that overlap. Plans that got upgraded in a panic and never came back down.
The frustration isn’t the money (though it adds up). It’s that the waste was entirely preventable. Someone just needed to be looking at the right number, at the right time.
Here’s where subscription surprises usually come from.
1. “Set and forget” renewals
Auto-renew is great for continuity and terrible for scrutiny. If renewals aren’t tied to a simple owner plus review date, tools stay live long after the original business case disappears.
I’ve seen businesses pay $18,000/year for a project management tool that three people log into. The original team of fifteen moved on. Nobody told finance because nobody owned the renewal.
2. Seat creep
Teams add seats during busy periods, then never scale back. The hidden cost isn’t only the unused licences. It’s the fact you lose a clean baseline for what “normal” spend looks like.
When everything is growing slowly, nothing looks wrong. Until you compare actual users against paid seats and discover 40% of your CRM licences are allocated to people who left six months ago.
3. Duplicate tools solving the same job
One team uses Tool A, another uses Tool B, and finance ends up funding two overlapping stacks. It’s rarely intentional. It’s just decentralised purchasing without shared visibility.
The classic: Marketing uses one analytics platform, Product uses another, and both are measuring the same thing from different angles at a combined $36,000/year.
4. Tier upgrades that never get downgraded
A single urgent request (“we need this feature today”) triggers an upgrade that quietly becomes the default plan. Twelve months later, you’re paying premium pricing for features no one can name.
5. Subscriptions hidden in cards and reimbursements
The most painful surprises are the ones that never hit procurement: personal cards, shared cards, and reimbursements for “quick” purchases. By year-end, they’re scattered across statements with minimal context.
These are the subscriptions that don’t appear on any renewal schedule. They exist only as recurring line items buried in transaction data nobody reviews until close.
The practical check
If you’re doing this in the next few weeks (and you should be), here’s the sequence:
| Step | Action | Why it matters |
|---|---|---|
| 1 | List every recurring charge | You can’t cut what you can’t see |
| 2 | Assign a clear owner to each | Unowned subscriptions survive forever |
| 3 | Confirm active users vs paid seats | The gap is usually 20-40% |
| 4 | Remove duplicates | Two tools for one job is one tool too many |
| 5 | Reset plans to the right tier | Downgrade what doesn’t need premium |
| 6 | Put guardrails around new subscriptions | Prevent next year’s version of this exercise |
The goal isn’t to cut tools for the sake of it. It’s to eliminate waste you can’t see, so every dollar maps to an outcome finance can defend.
The recurring theme across all of these: the problem isn’t that someone made a bad decision. It’s that nobody has ongoing visibility into the decision’s cost. Real-time spend tracking, owner-level accountability, and renewal alerts before auto-charge dates solve most of this without adding a single meeting to anyone’s calendar.








