Your LLM Bill Is Lying to You
A 10% gap between tracked spend and the invoice is treated as normal, and nobody is checking — because the tools make it easy to ignore.
Why it earned a slot
A 10% gap between your tracked LLM spend and the invoice is considered normal. That's the heuristic LiteLLM's cost-discrepancy doc gives you. "Deltas under roughly 10% are commonly explained by rounding and boundary effects." Roughly. Usually. The closest thing to a published drift number in the industry is a troubleshooting band in a README. This is from the dev.to article "Nobody audits their OpenAI invoice" that landed on the 15th. It's a short, angry piece that reads like someone finally got tired of explaining why their cost numbers don't match. The author traces the divergence to three root causes: providers report cached tokens differently (OpenAI folds cache reads into input counts; Anthropic separates them, so any tool using a single path across both will be wrong on one), the community pricing registries that most estimators depend on literally warn their prices won't be 100% accurate, and the calls you never instrumented don't show up in your numbers at all. I don't know how many teams actually audit their invoices. But I know the incentives are aligned against it. The tools that estimate spend have a vested interest in not alarming you — if they showed a consistent 15% discrepancy, you'd stop trusting them. Providers have no incentive to make their billing machine-readable because opacity lets them hide per-customer pricing, caching discounts, and rounding policies. The whole system is designed to be approximate, and approximation is the enemy of accountability. This isn't just a billing problem. It's a symptom of the same pattern that shows up in agent evaluation: we accept matched execution scores as proof of correctness, even when the commands never actually ran. QuoteBench, a paper from the same intake, demonstrates exactly that — 50% of what looks like successful command execution is actually a failure in the serialization layer. The score says "passed," but the file system disagrees. We have a culture of trusting the dashboard, whether it's a cost dashboard or an eval dashboard. I think we need to stop treating these discrepancies as noise. A 10% gap in billing is a 10% tax on every team running LLMs in production. That's real money. And the fact that industry consensus normalizes it means we're not demanding the infrastructure that would let us actually audit: machine-readable SKU pricing, transparent cache accounting, mandatory instrumentation of every API call. Until that exists, your bill is a guess, and the guess is biased toward the provider. I don't know what the exact error rate is across all providers. But I know that the only way to find out is to start checking. The tools are not going to fix themselves. The next time you get an invoice, run it against your tracking tool. If the gap is over 10%, ask why. If it's under 10%, ask why not.