Every small team has a line on the books it cannot explain. $4,830 a month of "software subscriptions," nobody able to itemize it, a departed designer still owning the design team's Canva account from her personal email, and a security questionnaire asking for "all vendors that touch customer data" — a question the team answers in three weeks of asking around and their competitor answers in twenty minutes.
The fix is not procurement software. It is one sheet with one row per product and eleven columns, built in one afternoon from card statements and the SSO console's last-login export — never from memory.
The full template with the worked example lives on the ops-notes software license register page. Here's the shape of it.
The build: one afternoon, from statements
- Pull ground truth, not opinions. Three sources: the company card's last 90 days (every recurring charge is a row), the SSO admin console's per-app last-login export (your seat-usage data, free), and expense reimbursements (where the personal-card tools hide). "What do we use?" is always ~60% of the real list and always wrong about cost.
- Eleven columns per row. Product · what it's for (one sentence) · owner (a person, never "marketing") · admin account + where its credentials live · paid seats vs active logins · cost and cadence · renewal date + auto-renew flag · data classification (customer data / PII / internal / nothing) · criticality (what stops if it dies) · offboarding path · last-reviewed date.
- Classify: keep, shrink, kill, watch. Shrink = used, but paying for seats nobody logs into. Kill = no logins in 60+ days; cancel before renewal. Watch = one person uses it, so its real owner is one resignation letter away from being nobody.
- Every renewal on a calendar with a 30-day gate. Auto-renew is a decision, not a default: renew, renegotiate, or kill — chosen 30 days out, not discovered 30 days after the charge.
- Wire it into offboarding the same day. The admin and seats columns are exactly what your offboarding checklist walks. Every app where a departed employee is still owner gets fixed the week you find it.
- Two rules keep it alive. New purchase = new row the same week (reimbursement requires it — two minutes of typing). Quarterly = a 30-minute pass: statements against rows, seat counts, last-reviewed dates. A register without a review date is a snapshot, not an asset.
The five traps
- The register born perfect and never touched again. The tell is a missing last-reviewed column — staleness becomes invisible, then trust dies. The quarterly pass is the heartbeat.
- The seat zoo. Paying for 40 seats, 22 logins. The gap between paid seats and active logins is the fastest money line on the sheet, and the SSO console gives it to you free. Check it before renewal, not after.
- The mystery admin. The person who set it up left; the account runs on their personal email; you can't change the card, the domain, or export the data. That's how a $29/month tool becomes an outage. Admin transfer is a mandatory offboarding step, not a favor.
- Tracking cost but not data. A register that knows what everything costs but not what everything holds misses the point. "List all systems that touch customer data" is on every security questionnaire and customer vendor review — the data-classification column is that list, kept current for free.
- Buying outside the register. Someone expenses a $29 tool, no row, eight months later three workflows depend on it. The rule isn't "no tools" — it's "no unregistered tools."
Worked example: the unexplainable $4,830
A ten-person marketing agency. Software bought organically for six years. The bookkeeper's line: $4,830/month, unitemized. A designer's departure stopped weekly client flyer production for two days (her personal-email Canva team). A security questionnaire took three weeks.
The rerun: one afternoon, 63 products on the register. 41 keep, 14 shrink (31 dead seats, $610/month back), 8 kill ($385/month, cancelled before renewal). Canva moved to a company account with two admins. Renewals on a calendar with 30-day gates. Next security questionnaire: answered from the data-classification column in twenty minutes. Just under $1,000/month found inside a line item nobody could explain.
The numbers that tell you it's working
- % of software spend with a named owner and a renewal date — under 100% means surprise renewals are still in your future.
- Seat utilization (active logins ÷ paid seats) — sustained ~70% is money waiting at the next renewal conversation.
- Offboarding orphans (departed employees still admin somewhere) — target zero; every finding is a hole in the offboarding checklist.
- Median days since last-reviewed — under ~100 the register is alive; over a quarter it's a museum.
This register pairs with the vendor renewal calendar (where the dates go), the shadow-it audit (how unknown apps get found), and the employee offboarding checklist (where admin transfers execute).
Free template: the full register with the worked example is on the ops-notes page — no signup. More small-team ops kits at HIVE80lab: the Ops Starter Kit ($14), Vol. 2 ($27), and the Ops Mega Bundle ($49).
Top comments (0)