Why Your First FinOps Spreadsheet Stops Working

GuidesAugust 2, 2026Updated August 2, 2026By Andrew Day4 min read

The short answer

A cost spreadsheet fails for four structural reasons rather than one: exchange rates make month-on-month comparisons meaningless, provider service names have to be re-categorised by hand every month, attribution to teams cannot be maintained as the org changes, and the data is always weeks old because someone has to assemble it. The tell is when maintaining it takes longer than reading it, which usually arrives between six and twelve months in.

Almost every company tracks cloud cost in a spreadsheet first, and that is the correct decision. It is free, it is flexible, and building it teaches you what you actually need to know.

It also has a predictable lifespan. Recognising which of the four failure modes you have hit is more useful than a general sense that it has become annoying.

Failure one: currency

If you budget in one currency and are billed in another, every month-on-month comparison contains an exchange-rate movement you did not cause.

A 6% rise that is entirely a rate change looks identical to a 6% rise in usage. You cannot tell which without doing the conversion twice at two different rates, and nobody does that consistently.

Providers also apply their own rates on their own dates, which will not match your accounting rate. So the figure in your spreadsheet and the figure in your accounts diverge, and reconciling them becomes its own monthly task.

This one is subtle enough that many teams never diagnose it — they simply notice the numbers stopped being trustworthy.

Failure two: categorisation

Providers report service names. Finance needs categories.

EC2, Lambda, Fargate and ECS are all compute. S3, EBS and Glacier are all storage. Nobody outside engineering knows that, so someone maps it manually every month.

Then the mapping decays. Providers add services continuously — a new SKU appears, nobody has a rule for it, and it lands in "other". Within a year "other" is your third-largest category and it means nothing.

Failure three: attribution

This is the one that ends most spreadsheets.

Assigning cost to teams by hand works when there are four teams and one provider. It stops working when a team owns services across three providers, when two teams share infrastructure, when a team reorganises, or when someone leaves and their allocations are unowned.

The mapping needs maintaining every time the org changes, and orgs change more often than anyone updates a spreadsheet. So the attribution silently becomes wrong, and — worse — nobody knows which parts are wrong.

The failure is not that the data is unavailable. It is that keeping the mapping current is a permanent job nobody was assigned.

Failure four: staleness

A spreadsheet is a snapshot. Someone assembles it, usually after month close, from several consoles.

That means the numbers are always retrospective, and the gap between an event and its appearance in the spreadsheet is whatever the assembly cadence is — typically two to six weeks. Every cost problem is found after it has finished happening.

It also means the spreadsheet cannot answer "are we on track right now", which is the question people actually ask.

The honest tell

The spreadsheet has stopped working when maintaining it takes longer than reading it.

If someone spends three hours a month assembling a document that gets five minutes of attention, that is the signal — and three hours a month is roughly four working days a year, which is not free.

A second tell: when a question about cost is answered with "let me pull that together" rather than by opening something.

What to do about it

Keep the spreadsheet for planning. Budgets, scenarios and board figures are genuinely well suited to it. The failure is in operational tracking, not in modelling.

Automate the four failures specifically. Currency conversion at consistent rates, categorisation maintained as providers change, attribution by tag rather than by hand, and data that updates without someone assembling it.

Do not wait for a FinOps hire. A common and expensive sequence is to keep the spreadsheet until spend justifies a headcount, then have that person spend their first quarter rebuilding it manually. Give them working data on day one and they start on negotiation and optimisation instead.

StackSpend does the four things above: multi-currency at consistent rates, automatic categorisation that keeps up with new provider SKUs, tag-based attribution that survives reorganisation, and a daily figure rather than a monthly assembly. The spreadsheet stays for planning, which is what it was always good at.

FAQ

When should I stop tracking cloud costs in a spreadsheet?

When maintaining it takes longer than reading it — typically six to twelve months in. Another reliable signal is when cost questions get answered with "let me pull that together" rather than by opening something.

What breaks first in a cost spreadsheet?

Usually attribution. Assigning spend to teams by hand cannot survive reorganisations, shared infrastructure or people leaving, and the mapping goes wrong silently.

Can I keep using a spreadsheet for budgets?

Yes. Spreadsheets are good at planning, scenarios and board modelling. It is operational tracking — current spend, attribution, detection — where they fail.

Why do currency conversions cause problems in cost tracking?

Providers apply their own rates on their own dates, which will not match your accounting rate. Month-on-month comparisons then include rate movement you did not cause, and a rise from usage looks identical to a rise from the exchange rate.

Know where your cloud and AI spend stands — every day.

Connect providers in minutes. Get 90 days of visibility and start receiving daily cost updates before the invoice lands.

14-day free trial. No credit card required. Plans from $29/month.
Why Your FinOps Spreadsheet Fails — StackSpend Blog