The Spreadsheet Changed My Numbers Without Telling Me
A sheet holding invoices and stock quietly reformatted amounts and dates, so the totals stopped being true. It also took about 30 seconds to open. That is the point a database stops being overkill.
Most advice about spreadsheets and databases argues about row counts. Mine never got that far. The sheet broke in a quieter way, and it broke the data rather than the file.
I had a sheet holding invoices, payments and product data, and it started changing the format of my numbers and dates on its own. Amounts and dates stopped being stored the way I entered them, so totals came out wrong and sorting put rows in an order that meant nothing. The file also took about 30 seconds just to open. I moved the whole thing into Firebase, and queries that used to mean waiting for the sheet now come back immediately.
Slowness is annoying, silent edits are dangerous
A slow file is a thing you can see. You wait, you complain, you carry on. A reformatted amount is invisible. The row still looks like a row. The total at the bottom is simply wrong, and there is no error anywhere to tell you so.
For invoices and stock that is the whole problem. If you cannot trust the sum, the sheet has stopped doing the one job it was there for, and no amount of tidying fixes the reason it happened.
Why a sheet does this at all
A spreadsheet guesses. Every cell can hold anything, so the program decides what you probably meant: this looks like a date, that looks like a number, this long digit string is probably scientific notation. The guess is usually right, which is why people trust it, and when it is wrong it changes your data without asking.
A database does not guess. A column is a date column or it is not, and a value that does not fit is refused at the door instead of being silently converted. That single difference is the reason to move, and it matters more than speed.
What the move actually cost
Firebase's free Spark plan allows 1 GiB of stored data, 50,000 document reads and 20,000 writes a day, as published on 2 October 2026. For a business's invoices and product list, that is a long way from the ceiling, so the running cost for a file like mine was nothing.
The real cost is that you now have an application rather than a file. Nobody opens a database and types in it over chai. Someone has to build the screen for adding an invoice, and that someone is usually a developer. A sheet gives you an interface for free, which is exactly why it spreads before anyone decides it should.
How to tell it is your turn
Row counts are the wrong signal. Move when the data has started lying to you, when two people have edited two copies, or when something other than a human needs to read the file. If none of those is true, the sheet is fine and leaving it alone is the right call.
If the numbers in the file matter to someone's accounts, check a handful of totals by hand today. Mine looked fine from across the room. The same habit applies to anything you hand a professional, which is also how I think about where a client's documents get processed.
Other options
What I moved to. The free Spark plan allows 1 GiB stored, 50K document reads and 20K writes a day, read 2026-10-02.
Postgres underneath, so SQL and proper column types. I did not use it for this job.
Still looks like a grid, with real field types behind it. Closest thing to staying put.
MySQL on your existing hosting
Already paid for on most shared hosting plans, and nothing leaves the server you control.
What I did myself
The first-hand account in this article is from my own use of the tool, checked before publishing.
Palak Patel, IT engineer, developer and researcherfacts confirmed October 2, 2026
Sources
Everything factual in this article traces back to one of these. Vendors change pricing and limits without changing the URL, so each entry records the date I last read it.
- Firebase Pricing
Googlechecked October 2, 2026
Written by
Palak Patel
IT engineer, developer and researcher
Palak is an IT engineer, developer and researcher, and runs ToolNest. He uses the software he writes about in his own development work and says so when he has not. Every claim is checked against vendor documentation, changelogs and pricing pages before it goes live.