Skip to main content

The FinOps Gap: Why Nobody Approved Your $40K AI Bill

· 9 min read
Tian Pan
Software Engineer

Every other line item on your infrastructure bill went through a gate. Someone filed a purchase order for the database cluster. Someone counted seats before buying the observability SaaS. Someone ran a capacity review before the team doubled its Kubernetes footprint. Then a model API showed up, and none of that happened.

An engineer added their API key to a config file. They wrote a create() call that looks exactly like every other function call in the codebase. It shipped. And the first time anyone in finance learned that this feature existed as a cost center was a variance line on the monthly invoice — a number nobody forecasted, nobody approved, and nobody can immediately explain.

This is the FinOps gap for AI, and it is not a monitoring problem. It is a governance problem wearing a monitoring costume. You can have perfect dashboards and still get surprised, because the spend was invisible to your approval process long before it was visible on a chart.

The numbers make the gap concrete. Roughly 37% of enterprises now spend over $250,000 a year on LLM APIs, and 72% expect that to climb. The famous cautionary tale is an agent system that quietly burned $47,000 over eleven days: four coordinating agents where two locked into a clarification loop, exchanging verification requests around the clock. The system did not crash. It succeeded perfectly at doing something nobody wanted, at roughly $4,700 a day, until the invoice made it real. Gartner reported in March 2026 that only 44% of organizations have any financial guardrails on this spend at all.

Why Token Spend Is Uniquely Invisible

Cloud FinOps works because it attaches cost to things that persist. A server has a lifetime, a tag, an owner. You can walk the resource inventory, find the untagged EC2 instance, and ask whose it is. The whole discipline — tagging, rightsizing, reserved-instance planning — assumes cost is tied to a durable asset you can point at.

An LLM API call has no asset to point at. It is a transaction, not a resource. It exists for two seconds and disappears, leaving behind only a token count. There is nothing to tag after the fact, no instance to rightsize, no reservation to buy that meaningfully discounts it. The primitive that makes cloud cost governance possible simply isn't there.

Three properties make AI spend slip past the controls that catch everything else:

  • It has no seat count. SaaS scales with headcount; you provision users, and cost tracks a plan you can reason about. Token spend scales with a for loop. One engineer shipping one retry-happy code path can multiply the bill without adding a single user, and no seat-based mental model will predict it.
  • It arrives through a key, not a purchase order. A model API is authorized by a secret in an environment variable. There is no procurement step, no budget-owner sign-off, no capacity review — the same call that costs a fraction of a cent in the demo costs five figures a day at launch, and the authorization mechanism looks identical in both cases.
  • Its cost curve is non-linear and decoupled from infrastructure. A prompt-design change, a larger context window, or a model swap can multiply cost without touching a single server. Finance is used to cost that moves when infrastructure moves. Here, cost moves when a prompt moves, and prompts don't show up in a capacity plan.

There is also a layer of spend most teams never see at all. They track the visible chat completions and miss the embedding-generation calls, the vector-database operations, the reranking passes, the occasional fine-tuning run. The headline number on the model dashboard is a fraction of the true cost of the feature.

Attribution Is the Whole Ballgame

Here is the uncomfortable part: most teams cannot answer the first question finance will ask. Which feature cost us the money? Which customer? Which team? The invoice is one giant undifferentiated number, and without attribution there is no accountability, no unit economics, and no way to defend the spend in a budget meeting.

Attribution for AI can't be bolted on afterward, because there's no persistent resource to reconcile against later. You have to capture the context at the moment of the call — the user ID, the customer ID, the feature name, the environment — and carry that metadata through to the billing data. If you don't stamp the transaction as it happens, that information is gone. There is no equivalent of walking the resource inventory next quarter to sort it out.

Once you're capturing that metadata, two things become possible that were impossible before.

Loading…
References:Let's stay in touch and Follow me for more thoughts and updates