Why a spreadsheet stops keeping up with your AI spend
A spreadsheet is a snapshot you have to remember to refresh. Miss a few days and the total goes stale. A spike only shows once you've re-added it all by hand. This guide walks through where manual AI-cost tracking breaks down, and what a forecasting dashboard does instead.
The spreadsheet starts immaculate. A column per provider, a row per week, a tidy sum at the bottom: for the first little while it's the cleanest picture of your AI spend anywhere. Then a busy week passes without an entry. Then a provider that used to bill a flat rate starts reporting per-token usage, and the conversion you did in your head last month no longer matches. The sum at the bottom keeps adding. It just adds the wrong numbers now, because nobody updated it.
That's the quiet failure of tracking spend by hand. The sheet never tells you it's out of date, and it looks just as authoritative the day it goes stale as the day you built it. You only find out at invoice time, when it's too late to do anything about the month.

Why does a spreadsheet stop being accurate?
A spreadsheet is a snapshot. It holds whatever you last typed into it and changes only when you change it. Keeping it true means doing the same chore on a loop: log into each provider’s console, find the usage figure, convert it to a cost, and paste it into the right cell. Then you repeat for the next provider, and again in a few days once those numbers have moved.
This works for a while. The maintenance never ends, though, and the sheet gives you no signal when you’ve fallen behind. Skip a few days during a busy sprint and the total quietly stops matching reality. It does so worst at the worst moment, because the weeks you’re too busy to update the sheet are usually the weeks your spend is moving the most.
What does manual AI-cost tracking actually cost you?
Even when the spreadsheet looks fine, tracking spend by hand carries four standing costs, and they get steeper the more providers you run on:
- The total goes stale. The number is only as current as your last manual entry. Between updates, what reads like a fact is really a guess.
- The roll-up is by hand. Answering “what am I spending on AI this month” means logging into every console, reading each figure, and summing them yourself, every single time you want a current answer.
- The forecast is yours to build and babysit. A sheet can project ahead, but only with forecasting formulas you write and maintain yourself, and any projection is only as good as the manually-entered numbers behind it. Let the inputs go stale and the forecast projects the wrong total with the same confidence as the rest of the sheet.
- The units don’t match. Tokens, characters, GPU-hours, and gigabytes measure different things, so before any column can be summed you have to convert each one to money at that provider’s current rates, then redo it whenever a price changes.
Picture the actual loop. Say you run on four services: Claude and OpenAI for models, RunPod for the occasional GPU job, Cloudflare in front. Keeping the sheet honest means opening four consoles, reading usage in three different units, converting each figure to money at that provider’s current rates, and typing the results into the right cells. Then you do it again in a few days, because by then they’ve all moved. Even at a few minutes per provider, the cycle never ends. Skip one and the bottom-line total is quietly wrong; skip two during a launch week and it’s wrong by the amount you most needed to see. A spreadsheet is only one of the ways people track this. The full set of approaches to tracking AI costs lines them up against each other.
Of the four, the one that bites hardest in practice is staleness. Mismatched units are annoying but you can grind through them; a number that’s silently three weeks old can hide a runaway job until the invoice arrives. None of these is fatal on its own. Together they mean the spreadsheet is most reliable during a quiet single-provider month, and least reliable in exactly the busy stretches when the number matters.
What’s the difference between a spreadsheet and a dashboard?
The difference is where the recurring effort lives: a spreadsheet makes you fetch every figure and do the math by hand, while a dashboard does the math for you and pulls the latest the moment you click Refresh. This isn’t a case of “spreadsheets are bad” — a spreadsheet is a real tool, and it works fine for a single provider and a careful owner. It just leaves the recurring work to you.
| What you need | Spreadsheet | CostCompass |
|---|---|---|
| Getting the latest figures | Re-read every console by hand | One click — hit Refresh |
| One total across providers | By hand, each time | Rolled up for you on every refresh |
| Units converted to money | You convert every line | Converted for you at each provider’s rates |
| Per-provider, per-model breakdown | More columns to maintain | Built in |
| Forecast of next month | Build and maintain it yourself | Built in, projected from your burn rate |
| Ongoing effort | Recurring manual work, forever | Connect once, then a click to refresh |
It comes down to the split between fetching and math. A spreadsheet leaves both to you, so it falls behind. A dashboard handles the conversion, the roll-up, and the forecast the instant the data lands. The one manual step left is the fetch, and that’s a click on Refresh.
How does CostCompass replace a spreadsheet?
CostCompass replaces a spreadsheet by reading each provider’s usage from its API, pricing it at published rates, and rolling every provider into one running month-to-date total plus a forecast — so the only manual step left is a one-click refresh. It’s a spend-intelligence dashboard built around exactly this job. You connect each provider once, and from then on it does what the spreadsheet asked you to do by hand:
- Everything becomes a cost. Each provider’s usage is read from its own API and priced at published per-unit rates, so different meters like tokens, characters, and GPU-time all land as one comparable number instead of columns you convert yourself.
- One running month-to-date total across every provider you’ve connected. This is the single figure the spreadsheet only ever held a stale copy of.
- A forecast that projects next month from your recent burn rate, so you can see where the month is heading.
- A per-provider and per-model breakdown, so when the total moves you can see exactly which provider and which model moved it.

Because the conversion and roll-up are done for you, a spike shows up the next time you click Refresh, days before the invoice, while there’s still time in the month to do something about it. With a sheet you find the runaway job on the first of next month, reconciling a tab you forgot to update. Here it reflects your last click of Refresh, not the last time you remembered to update a cell.
And the keys that make this possible never become a liability in the trade. Your provider API keys are encrypted in your browser with your vault password before they’re saved, so what we store is ciphertext only you can decrypt. Your vault password stays in your browser, and our App Server only ever holds that ciphertext. When CostCompass fetches your usage, the key is decrypted in your browser and forwarded to the provider through a broker built not to log it, so the plaintext stays out of our database and logs.
When is a spreadsheet still fine?
A spreadsheet does still make sense sometimes. If you run on a single provider, your spend is small and steady, and you only glance at it now and then, a sheet is fine. It’s free and entirely yours, and the upkeep is cheap because there’s so little to keep up.
What changes the calculus is two things being true at once: you’re on more than one provider, and the bill is big enough that being wrong about it costs you. Past that point the recurring upkeep of logging in, converting units, and catching up after a busy week costs more time than the tracking is worth. A one-click number that converts and rolls up for you starts to earn its keep.
Frequently asked questions
- Why does my spreadsheet stop being accurate after a week?
- It only changes when you change it. Keeping it current means logging into each provider's console, reading the usage figure, and typing it into the sheet every few days. Miss a stretch and the total silently stops reflecting reality, usually right when a spike is happening. A stale sheet looks just as authoritative as an accurate one, which is what makes it dangerous.
- Can't I just export each provider's usage into one sheet?
- You can, though reconciling is where the work actually lives. Each provider reports in its own units (tokens for Claude and OpenAI, characters for [ElevenLabs](/guides/elevenlabs-cost-tracking/), GPU-hours for RunPod, requests and bandwidth for Cloudflare) at its own published rates, so before anything adds up you have to convert every line to money by hand and redo it whenever a provider changes prices. An export is also just history. It tells you what last week cost and says nothing about where this month is heading.
- Does a dashboard forecast, or just show what I've spent?
- Both. A spreadsheet can forecast too, but only if you build and maintain the formulas yourself, and any projection is only as current as the numbers you've hand-entered. CostCompass keeps a running month-to-date total and projects next month from your recent burn rate. The formulas are built and maintained for you. Pull the latest usage with one click and the total and forecast roll up from it for you.
- Isn't a spreadsheet more flexible and fully under my control?
- For a single provider and occasional checks, yes. A spreadsheet is genuinely fine in that situation. The flexibility stops paying off once you run on [several providers](/guides/) and the bill matters, because the recurring cost becomes your time. Logging in to each console, converting the units, then catching up after a busy week — that overhead compounds. A dashboard handles the conversion and roll-up, so after a one-click refresh the number is current as of that refresh rather than your last manual entry.
- Where do my provider API keys live?
- Stored on our servers, but as ciphertext only. Your keys are encrypted in your browser with your vault password before they're saved, so what we hold is ciphertext and you're the only one who knows the password that decrypts it (it stays in your browser). When CostCompass fetches your usage, the key is decrypted in your browser and forwarded to the provider through a broker built not to log it, so the plaintext stays out of our database and logs. The [security page](/security/) documents exactly how.
- Why might the dashboard's total differ from a provider's invoice?
- CostCompass computes cost from each provider's published rates at the moment usage is recorded, so the figure is reproducible and doesn't shift when a provider later changes prices. Discounts that don't appear in the raw usage (batch-API rates, automatic prompt caching, promotional credits, committed-use deals) can make the actual invoice a little lower. Treat the CostCompass number as a slightly conservative running estimate. The same caveat applies to any figure you'd keep in a spreadsheet.
- Why use CostCompass instead of a spreadsheet I already have?
- A spreadsheet shows a snapshot you maintain by hand, one provider at a time, counted in mismatched units, and it only looks ahead as far as the forecasting formulas you build and keep feeding. CostCompass turns that into one number you keep current with a click. You get a running month-to-date total in money, a forecast of next month, and a per-provider, per-model breakdown across everything you connect. It refreshes in one click and rolls up for you, with nothing to convert or maintain by hand.
About the author
Joubert Berger builds CostCompass, a spend-intelligence dashboard that pulls usage from AI and compute providers into one month-to-date total, a forecast, and a per-provider breakdown. This guide reflects how CostCompass reads each provider's own usage API — see the security model for how your keys are handled.
Stop re-typing your AI bill into a spreadsheet
Connect each provider once and pull a single month-to-date total and forecast with one click — the roll-up and the math done for you, no stale rows.