SpaceStack
Menu
Workflow

How to run a quarterly SaaS audit in 90 minutes

A no-frills workflow to spot zombie subscriptions, renegotiate the contracts that matter and stop paying for tools nobody opens — in one focused session, every three months.

Published May 24, 2026 • Updated May 24, 2026

Stylized cyberpunk illustration used as the editorial avatar for Daniel P.
Tech Lead Senior Software Engineer · Oslo, Norway
Outcome
A written list of what to cancel, keep, renegotiate or replace — plus a calendar slot for the next review.
For
Solo founders, operators and small-team leads owning the software budget.
Read time
~11 min

The point of a quarterly audit

SaaS spend rarely explodes in a single bad month. It creeps. A trial here, an annual upgrade there, a tool a teammate added for “just one project” two quarters ago — and suddenly the monthly statement looks unfamiliar.

A quarterly audit is the cheapest control you have. Done well, it takes 90 minutes and usually clears a few hundred dollars a month off the bill, plus a few headaches that were going to surface anyway.

The 90-minute flow

From statement to clean list in five moves
  1. 1
    Pull statements
    Bank, credit card and any payment processor charges for the last 90 days.
  2. 2
    Tag every charge
    Category, owner, active usage and renewal type.
  3. 3
    Score
    Cost, usage and switching cost on a 1–3 scale.
  4. 4
    Decide
    Cancel, keep, renegotiate or replace — one row at a time.
  5. 5
    Execute and schedule
    Cancel today, log renewal dates, book the next audit.

Step 1: Pull a clean charge list

Open three sources for the last 90 days:

  • Business bank statement.
  • Business credit card statement.
  • Any payment processor or pay-per-use vendor (cloud, AI APIs, ad platforms).

Paste them into one sheet. You only need three columns to start: date, vendor, amount. Currency conversions and tax can stay messy at this stage.

If you operate across multiple cards or personal cards used for business, do this twice. Hidden charges almost always live on the card someone “only used once for a trial.”

Step 2: Tag every charge

For each row, add four tags. This is where the audit earns its keep.

The four tags every SaaS charge needs
Category
CRM, accounting, security, AI, hosting, design, marketing, other.
Owner
A person, not a team. If no one owns it, that is already a flag.
Usage
Daily, weekly, monthly, dormant. Be honest about dormant.
Renewal
Monthly, annual, usage-based, free trial converting soon.
Tags exist to make the next column — the decision — obvious within seconds, not minutes.

Two patterns will jump out immediately:

  • Multiple tools in the same category. Three project tools, two AI assistants, two scheduling apps.
  • Charges with no owner. Usually trials that converted, or tools a former teammate signed up for.

Both are easy wins on the decision pass.

Step 3: Score on three axes

Skip elaborate scoring matrices. Three columns on a 1–3 scale are enough.

  • Cost. 1 = small, 2 = noticeable, 3 = expensive relative to the budget.
  • Usage. 1 = dormant, 2 = occasional, 3 = real and recurring.
  • Switching cost. 1 = trivial, 2 = annoying, 3 = painful (data, integrations, training).

That gives you a quick heat map without inventing weighted formulas.

Audit heat map
Score patternLikely decision
Dormant + any cost + low switchingCancel today.
Real usage + high cost + low switchingRenegotiate or replace.
Real usage + high cost + painful switchingRenegotiate at renewal.
Occasional + low cost + any switchingKeep, set usage reminder.
Duplicate categoryPick one, sunset the other.
Dormant + expensive sits in the top-left. Real usage + painful switching sits in the bottom-right. The interesting decisions live in the middle.

Step 4: Decide — one row at a time

Add a Decision column with exactly four options: cancel, keep, renegotiate, replace. Force a choice.

  • Cancel. Dormant tools, duplicates and “we’ll get back to it” trials. Do it before you move to the next row.
  • Keep. Real usage, fair price, no obvious alternative. Move on.
  • Renegotiate. Expensive tools you still use. Add a sub-task with the renewal date and a target ask.
  • Replace. You use it, but a better-fit or cheaper option exists. Add to the next software decision checklist cycle.

Step 5: Execute, log renewals, book the next audit

Three closing actions, in this order.

  • Cancel the cancellations. Confirm the next charge will not hit. Save the confirmation email in the password manager note for that vendor.
  • Log renewal dates. Every annual contract goes on a shared calendar with a 60-day reminder. That is when renegotiation works, not the day before renewal.
  • Book the next audit. Calendar invite for 90 days from now, 90 minutes, named owner.

The renewal calendar is what turns the next audit into a 30-minute job instead of 90.

Notion product screenshot
Notion logo
Notion
Best for: Audit log + renewal calendar

A single audit page per quarter with tables, decisions and renewal links beats a forgotten spreadsheet.

Open Notion
Google Sheets product screenshot
Google Sheets logo
Google Sheets
Best for: Lowest-friction worksheet

A flat spreadsheet with category, owner, score and decision is enough for most small teams to run this in 90 minutes.

Open Sheets
Wave product screenshot
Wave logo
Wave
Best for: Solo founders without accounting software

Free accounting that exports clean charge lists by vendor — useful when you do not have a finance tool yet.

Open Wave

Most teams already have what they need. The audit is a habit, not a tool purchase.

Common mistakes

  • Auditing only the obvious tools. The waste usually lives in the small charges, not the big ones.
  • Letting one person own every tool. If the owner column is the same name on every row, you have a bus-factor problem, not a software problem.
  • Renegotiating the day of renewal. Vendors discount more freely when there is still time to compare alternatives.
  • No follow-up. A canceled subscription that re-bills next quarter means it was never actually canceled.

Next steps

Keep reading