// Posted 2026-06-26

Your SaaS Stack Is 47 Subscriptions Nobody Audits

VP Ops opens the AmEx on the 5th, 47 SaaS lines, six tools nobody recognizes, three duplicates per category. Procurement is a function you never staffed.

Stacked translucent invoice cards floating in dark space with one amber card pulled forward

It is the 5th of the month, 8:42 AM. Your VP Ops opens the AmEx statement in a new tab. Forty-seven SaaS line items. The top six she recognizes: Slack, Notion, Linear, HubSpot, Datadog, Vercel. Lines seven through twelve are tools she cannot identify by name. Two are billed to former employees. One is a $1,940 charge from a vendor the head of product cancelled in March.

She scrolls. The data warehouse line reads $4,200, up from $1,800 in April. The transcription tool the marketing team trialed in February is still billing $290 a seat across nine seats. There are three project management tools active across four teams. Two analytics products doing the same job for different VPs. A logo nobody on the call can place charging $812 a month since November.

The monthly run rate on the statement reads $61,400. The board pack lists software spend at $44,000. Nobody on the finance side has the receipts to close the gap. The VP Ops books a thirty-minute slot with the controller to audit the stack and the slot gets pushed three Tuesdays in a row.

Procurement is a function. Most Series A and B teams have not staffed it because every line item was approved by somebody at the time. The function lives in the gap between the engineer who expensed a $99 tool for a one-week test, the marketer who upgraded a trial seat to a team plan, the CFO who signed the annual contract two years ago, and the AmEx that auto-renewed on the 30th. On the org chart it sits inside Finance or Ops. In the budget it eats $18K to $30K a month at Series B scale that nobody can defend line by line.

The 47-line statement nobody reads

Pull every active SaaS subscription. Credit card statements, the AP ledger, the SSO directory, the Brex or Ramp feed, and the bank wires for the annual contracts. Most teams find 40 to 80 active vendors at Series A and 80 to 160 at Series B. Twenty to thirty percent are duplicates of a category already covered. Fifteen to twenty percent are tools where login activity in the last 60 days reads zero seats.

Walk the file. The $4,200 data warehouse line jumped because the analytics team backfilled six months of event data on a Tuesday and nobody set a query budget. The $290-a-seat transcription tool has eight inactive seats and one weekly user. The $812 logo nobody recognizes is a meeting recorder a former AE bought in November on a personal card that got migrated to the company AmEx in December.

The team that should own this knows it is broken. The VP Ops watches the statement climb $3K a quarter. The CFO marks software spend flat to growth on the board pack because the line is too noisy to defend. The IT lead watches Okta show 31 active SSO apps while the AmEx shows 47 vendors. The function sits unstaffed while the run rate keeps growing.

Hiring a procurement lead is the slow answer

The textbook fix is a procurement or vendor management lead. Loaded comp in the US runs $110K to $170K a year. Months one through three go to building the vendor inventory, mapping owners, and chasing the contract PDFs that live in three different Google Drives. Months four through six are when the first round of consolidations ships and the monthly run rate moves down 8 to 12 percent.

The fractional version is faster to start and stops at the same wall. Four to nine thousand a month buys ten hours a week of senior procurement time and a documented vendor list within sixty days. The renewal calendar lands in a shared sheet. Three big-ticket renewals get renegotiated against published pricing benchmarks. The 31 small-ticket lines that move the run rate $400 a month each stay untouched because the hours run out.

Both versions assume the work is human bottleneck work. Match every AmEx line to a vendor, a contract, an owner, a renewal date, an SSO record, and an active-seat count. Pull usage data from each vendor's admin API. Flag duplicates by category. Build the renewal calendar 120 days out, then draft the consolidation memo for every category with more than one tool. On 47 vendors that is 60 to 90 hours of senior ops work before negotiation calls start, and no procurement lead clears that pile while also running the three renewals due this quarter.

What a fractional AI procurement function does

Hand the AmEx feed, the AP ledger, the SSO directory, the contract folder, the vendor admin APIs, and the org chart to a fractional AI agent that runs on a daily cadence. The agent does the work a procurement analyst, an IT admin, and a junior FP&A would do together. The cadence is daily on new charges, weekly on usage drift, monthly on the renewal calendar, quarterly on category consolidation. The VP Ops stops running the audit slot that keeps getting pushed.

Every line matched the day it posts. New AmEx and Ramp charges get reconciled within 24 hours to a vendor record, an owner, a contract, a renewal date, and an SSO entry. The $812 logo from November gets traced to the former AE inside an hour, the auto-renewal is cancelled before the next billing cycle. The variance the CFO sees on software spend stops being a mystery, the same shape the finance ops function clears on close timing.

Usage pulled from every vendor weekly. The agent queries the admin API on every SaaS line where one exists. Seats with zero logins in 30 days get flagged with the owner and a draft email to the team lead. The transcription tool with eight inactive seats gets a recommended seat count of two by week one. The data warehouse line gets a query budget proposal and an alert on the next 40 percent month-over-month jump.

Renewals worked 90 days out, not 9. The agent builds the renewal calendar from contract metadata, surfaces the three renewals over $30K annual, pulls competitor pricing and published benchmarks, and drafts the negotiation memo with the three asks ranked by impact. Vendor rep kickoff emails get queued in the same thread. The CFO walks into the renewal call with a brief, not a contract PDF opened the morning of.

Duplicates flagged with a consolidation memo. Three project management tools across four teams get a one-page memo: who uses what, which contract expires first, the migration cost on each path, the run-rate savings on each path, and a recommended consolidation order. The VP Ops reviews and decides instead of building the comparison from scratch. The memo lands inside a week of the audit, not at the end of the quarter.

Shadow IT closed weekly. Charges that hit the AmEx without an SSO record or a vendor in the master list get flagged within a day, owner identified, and either added to SSO or queued for cancellation. The 16 line items that drifted in over the last 18 months get worked down on a 90-day timeline, not discovered during the SOC 2 audit.

Horizontal stream of glowing nodes flowing through translucent channels with one amber node branching up

The unit economics of an unaudited stack

A Series B company at $14M ARR with 47 active vendors is running $18K to $30K a month of software spend that nobody can defend line by line. A clean audit cuts 15 to 25 percent in the first 90 days from inactive seats, duplicate categories, and one or two renegotiated renewals. That is $32K to $90K a year back, before the bigger consolidations land in quarter two.

Layer in the people math. The VP Ops, the controller, and the IT lead spend a combined 6 to 12 hours a month on vendor reconciliation, license cleanup, and renewal prep. That is 72 to 144 hours a year of senior ops time on work a playbook covers, against a fully-loaded hour of $180 to $240. The procurement lead hire runs $130K to $200K loaded with a four to six month ramp before the first consolidation memo ships.

A 14-day sprint to stand up the agent runs in the low to mid five figures. Ongoing cost lands closer to one senior contractor than a procurement org. The vendor inventory lands in week one. The first renewal worked against benchmark pricing closes in week three. The $812 logo gets cancelled on day two.

What changes after the sprint

Picture the same 5th of the month, fourteen days after the sprint ships. The AmEx statement arrives with every line matched to a vendor, an owner, and a renewal date. The variance against last month reads $1,840, with three drivers named: one seat expansion in HubSpot, one usage spike in the data warehouse, one cancelled trial that fell off. The VP Ops reads the summary in four minutes and forwards it to the CFO with no questions.

By the end of the month the inactive seat sweep closes 22 seats across nine vendors and pulls $4,100 out of the run rate. The renewal calendar shows the next three negotiations queued with a memo each. The shadow IT count drops from 16 to 3. The board pack on software spend lands with a per-category breakdown and a consolidation timeline.

If your stack is currently 47 lines on an AmEx statement that nobody audits and a procurement function that lives in a Tuesday slot the VP Ops keeps pushing, the version where every charge is reconciled the day it posts and renewals are worked 90 days out is fourteen days away. Procurement is a function. You can hire against it, you can outsource a vendor manager for it, or you can scope a sprint and have it running this month. The work is the same. The math is not.

// Related notes