Somewhere in your card statement is a line item you can't identify. Maybe it's a tool one person needed for one project, on a plan that has auto-renewed twice since. Maybe it's five seats on a platform where three people left. Maybe it's a free trial that quietly became a paid annual plan because nobody diarised the date. None of it is dramatic enough to notice on its own, which is exactly why it survives. A software audit isn't a cost-cutting exercise for when money is tight — it's a routine you run on a schedule, because subscriptions renew silently and a stack keeps accreting until something deliberately prunes it.
The method below takes a focused afternoon for most small teams: find every charge, put them in one register, map each tool to a job, name the waste, decide, and close the door behind you.
Why subscriptions vanish from view
The mechanisms tell you where to look, so start here rather than with the list of tools you think you have.
Renewals are the default, not a decision. Every SaaS plan bills until you stop it, so the absence of a decision is a decision to keep paying. A charge you'd never approve fresh survives simply because nobody actively cancelled it.
Buying is decentralised. SaaS sells to whoever needs it, not to whoever owns the budget. A marketer signs up with a company card, a contractor expenses a tool, a designer starts a plan on a personal card and rebills it. No single person ever sees the whole list, so the whole list never gets reviewed.
Prices drift with usage, not with attention. Per-seat plans grow when you hire and never shrink when someone leaves, because removing seats is a manual act. Per-contact and usage-based tiers step up automatically as your list or volume grows, and annual commitments hide the drift for twelve months before presenting it all at once.
The charge and the tool are hard to connect. Statement descriptors are frequently the parent company, a payment processor, or an abbreviation nobody recognises — so the one review you did attempt stalled at "what even is this?" and got abandoned.
Step 1: Find every charge
You cannot audit a list you don't have, and the list you keep in your head is incomplete. Pull from several sources, because each one misses something the others catch:
- Card and bank statements for a full twelve months. Twelve, not three — annual plans appear once a year, and those are usually the biggest line items.
- Your accounting system. Export the software expense category for the year, and check what's been filed under generic "office" or "marketing" codes too.
- Expense reports and reimbursements. This is where personal-card subscriptions hide.
- Email search. Search every shared inbox for receipt, invoice, renewal, your subscription, and payment successful. Billing emails are the most complete record most small teams have.
- Your identity provider's connected-apps list. If your team signs in through Google Workspace, Microsoft 365, or another SSO provider, its admin console lists the third-party apps people authorised — including tools that never touched your card.
- App-store and platform receipts. Mobile subscriptions, marketplace add-ons, and plugin licences bought inside another platform bill outside your normal card flow.
- The team. Ask each person which tools they log into weekly. You'll surface forgotten subscriptions and, occasionally, a critical tool only one person knew existed.
For descriptors you can't place, search the exact string, or match the charge date and amount against a billing email.
Step 2: Build one register
Put everything in a single sheet. The register is the deliverable; the savings are a by-product. One row per subscription:
| Column | Why it matters |
|---|---|
| Tool | The product name, not the billing descriptor |
| Owner | The one person accountable for it |
| Cost and cycle | Monthly or annual, and the amount you actually pay |
| Annualised cost | Monthly figures × 12, so everything compares on one scale |
| Renewal date | The date a decision becomes urgent |
| Plan and seats | Tier name, seat count, usage tier |
| Job it does | Filled in at step 3 |
| Verdict | Filled in at step 5 |
Two columns do most of the work. Annualised cost turns "it's only a small monthly amount" into a number you can rank, and ranking focuses the effort — a handful of subscriptions usually account for most of the spend. Renewal date turns the audit into a calendar you can act on, especially for annual plans with a notice period.
Step 3: Map each tool to a real job
For every row, write the job the tool does in plain language — reach an audience, track deals, answer customers, get found in search, take payment, run the work — then mark that job core, supporting, or occasional. Core jobs directly make or keep revenue; occasional jobs often don't deserve a subscription at all.
This is the same job-mapping that underpins a deliberately built stack — if you've never done it, start with the full stack-building method and treat this audit as its maintenance routine. The mapping matters because it converts a vague question — "is this tool worth it?" — into two answerable ones: does this job still exist for us? and is this tool the one doing it? A tool that maps to no current job is a cancellation candidate before you've looked at a single feature.
Step 4: Name the four kinds of waste
With jobs mapped, waste becomes visible in patterns rather than one-offs. Look for all four:
Overlap
Two or more tools doing the same job — the most common and most expensive form of waste. It usually appears when a suite you already pay for grows into a job you'd bought a specialist for: the CRM that now sends email, the project tool that now stores files, the help desk that now includes chat. Check the feature list of the suites you're keeping before you renew any point tool.
Dead seats
Per-seat plans still billing for people who left, changed roles, or never logged in. Check every per-seat tool's seat count against your actual roster; most admin panels expose a last-active date per user. Seats are the fastest saving in any audit because reducing them requires no migration.
Tier drift
Usage-based and per-contact plans that stepped up as you grew and stayed up after the spike passed. An email platform bills on total contacts including unengaged ones; a support tool bills on ticket volume; a storage plan bills on capacity you cleared months ago. Compare current usage against your tier and against the boundary just below it — cleaning a list or archiving old data sometimes moves you down a tier by itself.
Zombies
Tools mapped to no current job, or to a job nobody does anymore: the campaign that ended, the client that left, the process you replaced. Their giveaway is adoption, not price. If nobody has logged in for months, it isn't part of the stack — it's a recurring donation.
Step 5: Decide — keep, downgrade, consolidate, cancel
Every row gets exactly one verdict, and each verdict has its own test.
Keep when the job is core and the tool does it well. Note the renewal date and move on; a good tool doesn't need re-litigating every audit.
Downgrade when the tool is right but the plan is too big — surplus seats, a tier above your usage, premium features you can't name a use for. It's the highest-return, lowest-risk move available, so do it first. Switch to annual billing only if you're confident the tool survives the year; a discount on a subscription you'll abandon isn't a saving.
Consolidate when two tools do one job and the survivor's version is genuinely adequate. Be honest about "adequate" — folding a core job into a suite module your team then works around is a false economy. Consolidate supporting jobs freely, core jobs carefully.
Cancel when no current job maps to it, or the job is occasional and a free tier or a spreadsheet covers it.
For anything other than a straight cancel, price the switching cost first: exporting and cleaning data, rebuilding the integrations the old tool had, retraining, and the slower weeks while people learn the replacement. A tool has to be failing by more than the cost of moving before replacing it pays off — which is why "downgrade" beats "replace" more often than people expect.
Step 6: Cancel without losing anything
Cancellation is where audits go wrong, so treat it as a small process:
- Export first. Pull your data — contacts, history, documents, reports — in a usable format before you cancel. Access frequently ends at the cancellation date rather than at the end of the paid term.
- Check the integrations. Find what else reads from this tool. Cancelling one that quietly feeds another breaks a workflow days later, when nobody connects the two events.
- Mind the term and the notice. Annual contracts commonly renew unless you cancel before a notice window, so act early in the term rather than waiting for the reminder.
- Get confirmation in writing and remove the payment method where the vendor allows it.
- Tell the person who used it, with the alternative, before the login stops working.
Close the door behind you
An audit is worthless if the stack refills the same way. Three habits keep it clean, and none of them require software:
- One owner per tool, recorded in the register. Unowned tools are the ones that become zombies.
- Renewal dates in a shared calendar, with a reminder a couple of weeks ahead of any notice window. Annual renewals are decisions; a reminder is what makes them one.
- A standing audit slot — once or twice a year, or before any budget planning. Put it in the calendar now, while the register is fresh and the next round is mostly an update rather than a rebuild.
Done regularly, the audit stops being a rescue operation and becomes a fifteen-minute review of things that changed. That's the goal: not a leaner bill once, but a stack that stays the size of the jobs it does.
FAQ
How do I audit software subscriptions if I don't know what we're paying for? Work from billing records rather than memory. Pull twelve months of card and bank statements, export the software category from your accounting system, search inboxes for renewal and receipt emails, check your SSO provider's connected-apps list, and ask each team member which tools they use weekly. Between those sources you'll capture nearly everything, including personal-card and app-store charges that never hit the company card.
How often should a small business audit its software subscriptions? Once or twice a year, provided you also handle renewal dates as they arrive. Tie the audit to something already in the calendar — budget planning, a quarter end, or a big annual renewal — so it doesn't depend on someone remembering. After the first pass, later audits are mostly updates.
What are the signs of a wasted SaaS subscription? Four patterns cover most of it: overlap (two tools doing one job, often because a suite you keep grew into a specialist's territory), dead seats on per-seat plans, tier drift on usage or per-contact plans that stepped up and never came back down, and zombie tools mapped to no job anyone still does. Low login activity is the quickest tell for the last one.
Should I cancel a subscription or just downgrade the plan? Downgrade when the tool still does a real job but the plan is oversized. Cancel when no current job maps to the tool at all, or when a free tier covers an occasional job. Downgrading is reversible and requires no migration, which makes it the first move in almost every audit.
What should I do before cancelling a SaaS tool? Export your data while you still have access, since access often ends at cancellation rather than at the end of the paid term. Then check which other tools read data from it so you don't break a workflow silently, confirm the notice period on any annual contract, and tell whoever used it what replaces it before the login stops working.
Then decide what's worth keeping
The audit tells you what you're paying for and which jobs still need doing. The next question — which tool should own each of those jobs for a team like yours — is the one Nexuswoot's comparison engine answers category by category, with sourced pricing and per-criterion scores instead of a ranking with no method behind it. When your register shows a job that needs a better tool or a cheaper one, compare the options for that category side by side on Nexuswoot before you commit to another renewal. (Disclosure: Nexuswoot may earn a commission from some of the tools it compares; rankings follow the published criteria, not payouts.)