Signs a spreadsheet is no longer enough
A spreadsheet earns its place. It costs nothing to start, it bends to any shape you give it, and one person can hold the whole thing in their head. Most businesses keep their first list of customers, their first stock count and their first schedule of jobs in a spreadsheet, and that is the right call. The problem is that a spreadsheet never announces the day it stops being enough. It keeps opening. The failures arrive quietly, as small frustrations that look like your own carelessness, and by the time they are obvious the file is already load-bearing.
This article is about the specific failures that tell you a shared system is overdue. Not a vague feeling that you have outgrown it, but observable events you can point to and name. If you can match two or three of these to something that happened last month, the decision has already been made for you.
What a spreadsheet was built to do
A spreadsheet is a grid for one person to calculate and arrange values. That is its genius and its limit. It assumes a single author who understands the whole layout, a modest amount of data, and no strong need to know what the numbers looked like yesterday. Every failure below comes from asking it to be something it was never designed to be: a shared system of record for a team.
Keep that distinction in mind. A tool that is wrong for the job is not a broken tool. It is a tool being used past its design. The skill is noticing the moment, which is why it helps to read the story of the spreadsheet that outgrew itself alongside this list.
The failures, in the order they usually appear
Two people change the same thing at the same time
The first failure is concurrency. Two colleagues open the shared file, both edit the same row, and one person's work silently overwrites the other's. Nobody sees an error. The loss only surfaces later, when a customer is called twice or a paid invoice is chased again.
In computing this is a solved problem, but it is solved inside databases, not spreadsheets. The discipline is called concurrency control, which "ensures that correct results for concurrent operations are generated, while getting those results as quickly as possible" [1]. A proper shared system queues and reconciles simultaneous edits so that no change is lost. A spreadsheet in a shared folder has almost none of this. The telltale sign is a team that has invented a human protocol to compensate: "message me before you open the sheet", or a colour that means "do not touch". When people are manually standing in for a database, the database is overdue.
The links between things quietly break
The second failure is referential integrity. A real business is full of relationships: this order belongs to that customer, this payment settles that invoice, this task sits under that project. In a spreadsheet those relationships are held together by a shared value typed into two places, or by a formula that points at another sheet.
Databases guarantee this with referential integrity, which is "a property of data stating that all its references are valid" [2]. A spreadsheet cannot. Rename a customer in one tab and the lookup in another returns an error or, worse, the wrong match. Delete a row and the things that depended on it become orphans that point at nothing. You notice this failure as a steady drip of #REF! errors, totals that no longer reconcile, and an afternoon spent working out why last month's figure changed when nobody meant to touch it.
You can no longer trust the numbers over time
The third failure is the one that erodes confidence rather than data. Data integrity, in the formal sense, is "the maintenance of, and the assurance of, data accuracy and consistency over its entire life-cycle" [3]. The phrase that matters there is *over its entire life-cycle*. It is not enough for the numbers to be right when you type them. They must stay right as the file is copied, emailed, renamed, filtered and merged over months.
Spreadsheets do not offer this, and the failure is cumulative. You end up with budget_final.xlsx, budget_final_v2.xlsx and budget_FINAL_use_this_one.xlsx, and no reliable way to say which is authoritative. When a team can no longer answer "which copy is the real one" without a conversation, the shared system is overdue, because a system of record is defined precisely by having one answer to that question.
Nobody can say who changed what
The fourth failure is accountability. Something is wrong in the file. A figure is off, a client was dropped from a mailing, a price was altered. In a spreadsheet there is usually no honest way to find out when it changed or who changed it. The history, if it exists at all, is partial and easy to disable.
This is not only a trust problem between colleagues. It matters for disputes, for refunds, for anything a regulator or an auditor might ask about later. A shared system keeps an unforgeable record of each change as a matter of course. If this failure is live for you, the audit trail nobody thinks about explains why that record is worth more than it looks.
Everyone can see and break everything
The fifth failure is access. A spreadsheet is all-or-nothing. Give someone the file so they can update their ten rows, and you have also given them the ability to read every other row and to delete the lot with one keystroke. As a team grows this stops being acceptable, both for privacy and for safety. The need to show each person only their own work, and to stop junior staff from editing the structure, is a clear signal; why permissions matter as a team grows covers the shape of that need in more detail.
The same question gets asked twice
The sixth failure is duplication of effort. When the real information lives in one person's file, everyone else has to ask that person, or keep a private copy that immediately drifts out of date. You see it when two people give a customer two different answers, or when a colleague re-enters data that already exists somewhere else. That pattern is the subject of why your team asks the same question twice, and it is one of the clearest signs that the information has outgrown a single file.
How to make the decision
None of these failures is a reason to panic, and none on its own forces a change. The useful test is frequency and cost. Ask three plain questions:
- In the last month, did anyone lose work because two people edited at once, or spend real time hunting a broken reference or the wrong version of the file?
- If a customer disputed something, could you prove what was recorded and when, without guessing?
- Does the current setup depend on one person's goodwill, memory or manual protocol to stay correct?
A single yes is a watch item. Two or more, happening regularly, means the shared system is already overdue and you are now paying for the delay in small, hidden amounts. The cost of moving is visible and one-off. The cost of staying is invisible and recurring, which is exactly why it is so easy to keep paying it.
Where a shared system changes the picture
The reason a database-backed system removes these failures is not that it has more features. It is that it makes the failures structurally impossible rather than merely discouraged. Concurrent edits are reconciled, references are enforced, every change is logged against a name, and each person sees only what they should. This is the reasoning behind how 360REV holds a customer record once and lets each tool read that same record, with a trail of who changed what. The point is not the product; it is that the right moment to adopt a shared system is when you can name two of the failures above, not a year later when the spreadsheet finally refuses to open.
Sources
- [1] Concurrency control — Wikipedia
- [2] Referential integrity — Wikipedia
- [3] Data integrity — Wikipedia