Most software audits fail for the same reason most diets fail: the process is too elaborate to finish. Someone builds a forty-column spreadsheet, populates six rows, and abandons it. Three quarters later the spend is higher and nobody knows why.
This is a deliberately small audit. Six steps, ninety minutes, one page of output. It will not give you a procurement-grade inventory. It will give you a defensible number, a ranked list of what to cut, and enough evidence to make one or two decisions this week. That is worth more than a perfect audit you never complete.
Set a timer. Here is the process.
Before you start: what you need open
- Card statements or expense-tool exports for the last three months (not one — monthly and annual charges land unevenly)
- Admin access to your two or three largest vendors, for seat counts and last-login data
- One blank spreadsheet with these columns: Vendor · Plan · Monthly cost · Seats paid · Seats active · Owner · Verdict
Three months is the minimum useful window. One month misses every annual renewal and every quarterly plan, which are exactly the charges people forget.
Step 1 — Pull every charge (20 minutes)
Export the raw transaction list and filter for recurring charges. Do not curate yet. You want the ugly, complete version, including:
- Personal cards, if your reimbursement policy permits software purchases. This is where the largest surprises live.
- App Store and Google Play charges. Mobile-billed subscriptions are consistently the most-missed category, and they often cost more than the same plan bought on the web because of platform commission.
- Annual charges from the previous nine months. A licence renewed last November is still costing you; it just does not appear in a three-month window.
Do not tidy the list. Just get it complete.
Step 2 — Split the list into four buckets (10 minutes)
Sorting by cost is the obvious move and the wrong one. Sort by type, because different types fail in different ways:
| Bucket | Description | Typical failure |
|---|---|---|
| Infrastructure | Hosting, storage, databases | Over-provisioned, rarely cancelled |
| Per-seat SaaS | CRM, project tools, design | Paying for departed employees |
| AI and assistants | Chatbots, code assistants, generators | Redundant overlapping subscriptions |
| Long tail | Anything under $30/mo | Forgotten entirely |
The AI bucket deserves its own row rather than being folded into per-seat SaaS. It behaves differently: it grew fastest, it was bought individually rather than centrally, and it has the highest redundancy rate of the four. In most teams it is now the second- or third-largest software category and the only one with no assigned owner.
Step 3 — Find the dead seats (15 minutes)
For your five largest per-seat vendors, open the admin panel and compare seats paid against seats active in the last 30 days.
Two numbers matter and people usually only check one:
- Departed employees still holding licences. Common, embarrassing, instantly fixable.
- Current employees who never log in. More common, less embarrassing, equally expensive.
Anything untouched for thirty days is a cancellation candidate. This step alone typically recovers 5–15% of a mid-sized software bill and requires no negotiation, no migration, and no meeting.
Step 4 — Audit the AI bucket properly (20 minutes)
This is the step worth doing slowly, because it is the newest spend and the least examined.
4a. List every AI subscription with its plan tier. The tiers matter enormously — the gap between a standard plan and a premium one is often 5× or 10×, and people upgrade during a busy week and never downgrade.
4b. Ask what each one is uniquely for. Write one sentence per tool. If two tools produce the same sentence, one of them is a fallback rather than a requirement. Fallbacks are not worthless, but they should be priced as insurance, not as primary tooling.
4c. Get a consolidated comparison figure. The useful question is not “is this tool worth $20?” but “what would this whole bucket cost if bought as one subscription?” An AI subscription calculator answers that quickly — you tick off the plans your team is actually on, and it returns your current monthly and annual totals next to a unified-plan figure. Whatever you conclude, having the comparison number turns the discussion from preference into arithmetic.
4d. Check the entry price of the alternative. Consolidated multi-model platforms generally start well below the cost of two standalone assistant seats; published plan and pricing details for this category typically run from around $15/month for an individual allowance up to team tiers with pooled credits. Note the number so your comparison in step 6 is against a real price rather than a guess.
Step 5 — Score every line for utilisation and switching cost (15 minutes)
Two scores, 1 to 3, no more precision than that:
Utilisation: 3 = used daily by most licence holders. 2 = used weekly by some. 1 = occasional or unknown.
Switching cost: 3 = deeply embedded, data migration required, weeks of disruption. 2 = moderate, some rebuilding. 1 = trivial, cancel today.
Now read the grid:
- Low utilisation, low switching cost → cancel this week. No approval needed.
- Low utilisation, high switching cost → downgrade the tier or cut seats, do not migrate.
- High utilisation, low switching cost → your best consolidation target. This is usually where the AI bucket lands.
- High utilisation, high switching cost → leave alone. Renegotiate at renewal, do not touch now.
The instinct is to attack the biggest number. The better move is to attack the biggest number with a low switching cost, because that is the saving you can actually realise this month rather than next year.
Step 6 — Write the one-page summary (10 minutes)
Six lines. That is the whole deliverable:
- Total monthly software spend
- Spend per employee
- The AI bucket total, called out separately
- Dead seats identified, in dollars
- Consolidation opportunity, in dollars
- Three actions with named owners and dates
Anything longer will not get read. Anything shorter will not get funded.
The two mistakes that ruin most audits
Chasing the long tail first. Twelve $15 tools feel offensively wasteful and add up to $180. One over-provisioned enterprise contract is $4,000. Cut the long tail last, when it is cheap to do and you have already banked the real savings.
Confusing a discount with a saving. A vendor offering 20% off to keep a licence nobody uses has not saved you anything; they have sold you the same waste at a markdown. The only real saving is spend that stops.
Frequently asked questions
How often should you run a SaaS spend audit? Quarterly for the AI bucket, which changes pricing and capability fast. Twice a year for everything else. Annual audits consistently miss the tools that were bought and abandoned inside the same year.
What is a reasonable software spend per employee? It varies enormously by function, so external benchmarks are close to useless. Your own trend line is the number that matters: if per-head spend is rising while headcount is flat, you have sprawl regardless of what the benchmark says.
Should AI subscriptions be centrally purchased? Central purchasing controls cost but slows adoption, and slow adoption has a real price too. A workable middle path is a central multi-model subscription that covers the common cases, with a small documented budget for specialist tools that genuinely fall outside it.
How do you find subscriptions billed to personal cards? Search expense reports for vendor names rather than categories — most AI charges are miscoded as “office” or “other”. Asking the team directly, with an explicit no-blame framing, surfaces more than any automated scan.
Do it now, badly
The audit that gets run in ninety minutes with imperfect data beats the one scheduled for next quarter with perfect data. Pull the statements, sort into four buckets, kill the dead seats, price the AI bucket against a consolidated alternative, and write six lines.
Then put a ninety-minute block in the calendar for three months from now, and do it again.
