When spreadsheets stop working: five signals, and a test for each
A spreadsheet fails on the day it stops triggering decisions, not at a SKU count. Five failure signals with a five-minute test each, plus a scored checklist.
InventoryX is in development and not available today. ClearStock is the live Shopify app.
A spreadsheet stops working on a specific day, and it is almost never the day you cross a SKU threshold. It stops on the day it changes from a tool that tells you what to do into a record of what you already decided. After that, the sheet still calculates correctly, still holds every SKU, and still opens in two seconds — and you have quietly gone back to reordering from memory.
That distinction is the whole diagnostic. Size is a proxy for it, and a rough one: we have seen 900-SKU catalogs run cleanly on one sheet and 120-SKU catalogs collapse under a sheet nobody trusted. Below are five signals that the switch has already happened, a five-minute test for each, and a checklist that turns the answer into a decision rather than a feeling.
The variable that actually matters
Not SKU count. Decisions per week against maintenance hours.
A sheet stays healthy while the hours it takes to keep current are smaller than the value of the decisions it triggers. It fails when the ratio inverts — when refreshing the sheet eats the time you would have spent acting on it. That inversion usually arrives with one of three changes: an increase in order frequency, a second person touching inventory, or a catalog that has grown a long slow tail. None of them announce themselves.
So test the symptoms, not the count.
Signal 1: You open the sheet after ordering, not before
The test: for your last five purchase orders, can you say which sheet row triggered each one? Not "roughly" — the row.
What it means: the sheet is an archive. Decisions are being made from memory, a supplier's minimum, or a hunch, and the sheet is being updated afterwards to keep the two stories consistent. This is the primary signal, and the others mostly follow from it.
What to do: before buying anything, rebuild the trigger. A sheet that flags reorder rows by date is genuinely sufficient under a few hundred SKUs — the version that survives a real catalog walks through the structure. If you build the trigger and still do not act on it, the problem is time, not tooling.
Signal 2: Your velocity is corrupted by stockouts
The test: pick your three worst-performing bestsellers. For each, subtract the days it was out of stock from the denominator and recompute velocity. If the number moves by more than 15%, your sheet has been lying.
What it means: a plain average counts days when you sold zero because you had nothing to sell. The SKU looks slow, so you order less of it, so it goes out of stock again. This loop runs silently for quarters and it is the single most expensive spreadsheet error in retail.
What to do: correct the math in the sheet if you can — it is one formula and a column of out-of-stock days. Past a few hundred SKUs the correction is mechanical but the upkeep is not, which makes this a legitimate graduation trigger.
Signal 3: The tail is unmanaged, and you have stopped pretending otherwise
The test: how many of your SKUs have you looked at, in any way, in the last 30 days? Divide by total SKUs.
What it means: most sheets analyze the top 50 and reorder the rest on vibes. That is a rational response to time pressure, but the unexamined tail is where cash goes to sleep — and unlike a stockout, it never sends you a signal. Nobody emails to say they did not buy something.
What to do: either make the neglect explicit — un-analyzed SKUs default to no reorder — or get a tool that ranks the whole catalog by days of cover and puts the worst at the top. The second is the job our clearance app exists for, and it will not tell you what to buy next; it will only tell you what is not selling.
Signal 4: Incoming stock lives somewhere else
The test: name everything currently in transit and its expected arrival date. Can you do it without opening three systems?
What it means: the sheet knows what you have and not what is coming, so you double-order or miss a gap. One or two POs in flight is manageable in your head; five is a spreadsheet column; fifteen is a system.
What to do: add an incoming column reconciled against native Shopify purchase orders on receiving day. This is a cheap sheet fix — until the number of in-flight POs passes the point where reconciliation itself becomes the error source.
Signal 5: Two people, one file, and nobody trusts the number
The test: ask both people who touch inventory for today's on-hand quantity of the same SKU, separately. If the answers differ, or if either says "let me check which version," you have your answer.
What it means: a shared sheet with no audit trail converts a data problem into a trust problem, and an untrusted number reverts everyone to memory. It also removes accountability: no one can tell who changed what, so nothing gets corrected.
What to do: separate input tabs from calculation tabs and lock the formulas. That buys months, not years. Once a second person is permanent, per-user audit trails are the feature that actually matters — and it is not a spreadsheet feature.
The scored checklist
Twelve questions. Score one point per "yes."
- Did a stockout on a top-20 SKU cost you sales in the last 90 days?
- Is on-hand wrong for more than three SKUs right now?
- Can you not say which sheet row triggered your last PO?
- Does your velocity change by more than 15% when you exclude out-of-stock days?
- Have you analyzed fewer than half your SKUs in the last 30 days?
- Can you not list in-transit stock and arrival dates in one place?
- Has a formula been overwritten by accident in the last quarter?
- Do two people edit the same file weekly?
- Does a section count take more than a day because bins are not recorded?
- Is there a manual step in your week that exists only to keep the sheet current?
- Have you skipped a weekly review in three of the last six weeks?
- Have you considered buying an ERP to make the spreadsheet pain stop?
0–2: the sheet is fine. Fix the cheapest item on the list and revisit in a quarter. 3–5: the sheet is strained. Fix signals 1 and 2 before spending anything; if those two fixes hold for a month, you have bought yourself a year. 6 or more: the sheet is a bottleneck. Shortlist two tools and run a structured trial on your own data — not a feature tour.
Question 12 deserves its own warning. Reaching for an ERP to end spreadsheet pain is almost always the wrong rung of the ladder: ERPs solve manufacturing, multichannel, and accounting complexity, and spreadsheet pain at this stage is a reorder-discipline problem wearing a systems costume.
What a spreadsheet is genuinely better at
An honest page has to say this: a sheet is more transparent than any app, costs nothing, needs no vendor relationship, and can answer a question no product has anticipated. It is also the right home for one-off analysis forever — what-if margin math, a seasonal post-mortem, a scenario you will run once.
That is why the recommendation is rarely "replace the sheet." It is "move the authority." Let a tool own velocity, cover, and the reorder trigger; let the sheet own the thinking you do twice a year.
Two things do not migrate well and should be fixed before you switch: SKU hygiene and uncounted stock. A tool pointed at bad data is a faster mess, and no vendor will fix a catalog with three names for the same product.
Where we sit
ClearStock, our live app, is on the far side of signal 3: it ranks the catalog by velocity and days of cover, classifies each variant from moving to dead, produces an aging report, and applies rule-based discounts with a cap you set, restoring prices when something starts selling again. Free to 100 products, then $9.99 to 500. It does not forecast, does not create purchase orders, and does not count — so it answers "what is not selling," not "what should I buy."
InventoryX, the planning layer we are building, is in development and not for sale. If your score is 6 or more because your reorder decisions have broken down, that is the problem InventoryX is aimed at, and it is not a product you can install this quarter. Do not delay a fix waiting for it.
Common questions
How many SKUs can a spreadsheet handle? For holding data, thousands. For making decisions, roughly 100–500 with disciplined structure. The limit is not the file; it is the hours of upkeep against the value of the decisions the file triggers.
What is the first sign that I have outgrown it? That you open it after ordering rather than before. Everything else — corrupted velocity, unmanaged tail, incoming stock in email — tends to follow from decisions no longer firing from the sheet.
Should I switch to an app or hire someone to maintain the sheet? Compare the yearly cost: an app at $10–$60 a month (as listed at the time of writing) is $120–$720, while even four hours a month of help is more than that at most rates, and it does not fix the audit-trail problem. Hiring makes sense when the work is judgment, not maintenance.
Can I keep the spreadsheet after moving to an app? Yes, and you should — as a sandbox for what-if math and seasonal analysis. What changes is authority: the app owns quantities and triggers, the sheet stops being a second ledger.
What should I fix before switching? SKU hygiene and one honest count of your highest-velocity items. Bad names and stale quantities migrate with you and make any tool look broken.
Next step
Score the twelve questions tonight, in writing. If you land at 3–5, open the sheet tomorrow and rebuild the trigger — the sheet structure that survives a real catalog is the place to start. If you land at 6 or more, read the under-500-SKU guide before you shortlist anything, and if signal 3 is your loudest, ClearStock's free plan will rank your whole catalog by what is not moving in about ten minutes.