The Short Answer
A spreadsheet is the right place to track customers until the sheet becomes the system of record for money owed or work promised. After that, every month you stay costs you follow-ups, not formulas.
That is the whole comparison, and it is not about headcount. A careful two-person shop can run a pipeline in Google Sheets for years. A six-person team with three versions of the truth needed something else a year ago.
This guide covers what a spreadsheet is genuinely good at, the six places it breaks, how it compares to a subscription CRM and to a system built for your workflow, and the five signals that mean it is time to move. If you have already decided to move and want prices, our guide to how much a CRM costs has the published per-seat numbers.
What a Spreadsheet Is Genuinely Good At
Most CRM-versus-spreadsheet articles are published by CRM vendors, so this part usually gets skipped. It should not.
- It costs nothing extra. You already pay for the office suite. Google Workspace lists Business Starter at $7 and Business Standard at $14 per user per month billed annually, and Sheets comes with both. A spreadsheet's marginal cost is zero.
- Everyone can already use it. No onboarding, no training, no adoption project. That matters more than feature lists, because a CRM nobody updates is worth less than a sheet everyone does.
- It changes in seconds. Adding a column takes two clicks. In most CRMs, adding a field is an admin task, and in some it sits behind a higher tier.
- Size is almost never the problem. Google Sheets allows up to 20 million cells or 100MB per spreadsheet, and Excel allows 1,048,576 rows by 16,384 columns per worksheet. Your customer list is nowhere near either limit.
- It is yours. No vendor can reprice it at renewal or discontinue the plan it lives on.
If the sheet is working and nothing below is happening to you, keep it. Moving to a CRM you do not need is just a subscription with extra steps.
Where the Spreadsheet Breaks
What breaks is never the data. It is everything around the data.
1. Nothing stops the data from drifting
A spreadsheet accepts whatever is typed. The same customer arrives as "Acme", "ACME Inc." and "acme inc", so your pipeline count is wrong and nobody notices. Dates land as text. "Status" becomes a free-text field with nine spellings of "waiting on them".
This is a measured failure, not a theoretical one. Audits of operational spreadsheets by Raymond Panko at the University of Hawaii found errors in 49 of the 54 sheets examined, or 91%. Those were business-critical models maintained by people who cared about them. A CRM prevents most of this for one dull reason: a field has a type, and a stage has a fixed list.
2. There is no record history you can act on
Google Sheets does keep version history and per-cell edit history, so this is narrower than vendors usually claim. But read the exclusions in Google's own documentation: edit history does not show added or deleted rows and columns, formatting changes, or values changed by a formula.
In other words, the one question you will actually ask — who deleted that customer's row, and when — is the question it cannot answer.
3. Sharing is not permissions
A spreadsheet's access model is the file. Anyone who can edit a row can edit every row, and anyone who can read one customer's record can read all of them.
Hiding a tab is not a fix, and Google says so plainly: sheet protection "shouldn't be used as a security measure", and all spreadsheet editors can unhide and view hidden sheets. If a subcontractor should see three jobs and not thirty, or a customer should see only their own file, you need roles — which is what a client portal is for.
4. Nothing follows up
This is the expensive one. A sheet records that a quote sits at "sent". It will not email the customer on day four, flag the quote on day ten, or tell the owner on day thirty that $4,000 of work quietly expired. A person has to remember, and eventually a person does not.
One deal lost this way costs more than a year of the software that would have caught it. That is why follow-up automation, not reporting, is the feature that actually pays for a CRM.
5. Two people editing is where the trust goes
Both Sheets and Excel handle simultaneous editing far better than they used to. What neither handles is the human workaround: someone exports a copy to work on offline, someone else edits the original, and now there are two truths and a file named leads_final_v3.
The tell is the side spreadsheet. When your team exports from the shared sheet to do the real work, the shared sheet has already stopped being the system of record.
6. The format limits bite at the edges
Your contact list will not hit a row limit, but the files moving in and out of it can. In October 2020, Public Health England under-reported 15,841 COVID-19 cases between September 25 and October 2 because lab results were being collated in the legacy .xls format, which caps a sheet at 65,536 rows. Rows past the limit were dropped, with no error shown.
The small-business version is a CSV import that silently truncates, or a report that stops at a row nobody checked. Spreadsheets fail quietly. That property is what makes them risky as infrastructure, and it has nothing to do with how carefully you use them.
Side by Side
| Spreadsheet | Subscription CRM | Built for your workflow | |
|---|---|---|---|
| Upfront cost | None | None, or an onboarding fee | A fixed build fee |
| Ongoing cost | Included in your office suite | Per seat, per month | Flat plan priced by usage, not users |
| Cost when you hire | Unchanged | Rises with every login | Unchanged |
| Setup time | Minutes | Days to weeks of configuration | Weeks |
| Field types and validation | None | Yes | Yes, matched to your records |
| Record history | File versions and limited cell history | Full audit trail per record | Full audit trail per record |
| Permissions | File-level only | Per role, per record | Per role, per record |
| Follow-up automation | None | Yes, on most paid tiers | Yes, built around your stages |
| Fit to your process | Anything you can type | You adapt to the product's screens | The product is your process |
| Customer-facing access | No | An add-on or a higher tier | Included if specified |
| Best when | One or two people, one pipeline, a few hundred records | Standard pipeline, small team, the vendor's ecosystem matters | Specific workflow, growing team, several tools to replace |
The middle column is the right answer for most businesses leaving a spreadsheet, and it is worth saying that on a page published by a company that builds the third one. Published seat prices run from $14 to $550 per user per month, with the tiers small teams actually compare at $39 to $100 — the detail is in our CRM cost guide.
"Free" Is Not Free, and Neither Is the Alternative
The spreadsheet's honest cost is labor. Somebody de-duplicates it, rebuilds the formula that broke, and chases the follow-ups the sheet forgot. That work is real and it never appears on an invoice.
The subscription's honest cost is the seat line multiplied by the headcount you expect in year three, plus onboarding fees and the add-ons you end up needing. Five people at $90 a seat is $5,400 a year for software doing the same job it did at three people.
The built system's honest cost is a one-time build fee, then hosting, support and changes. We argue for that trade in exactly one situation: the per-seat bill has outgrown the value and the fit is bad enough that people keep spreadsheets anyway. Ongoing cost then works the way our pricing model describes — a flat plan priced by what the system consumes, never by how many people log in.
Three expenses, three shapes. Pick the one whose shape matches your next three years rather than the one with the lowest number this month. Our build vs. buy framework has the five tests for that call.
Five Signals It Is Time to Move
One is enough. You do not need all five.
- A deal went cold because nobody owned the follow-up. The sheet did its job and still lost you money.
- Two people hold different versions of the truth, or somebody is maintaining a second sheet to correct the first.
- Someone outside the team needs partial access — a subcontractor, a bookkeeper, a customer checking their own job. File-level sharing cannot do this.
- You are stitching tools together. Sheet for leads, inbox for messages, separate app for invoices, nothing connected. This is the case where replacing the whole stack beats replacing any one part of it, which is what custom business software means in practice.
- The records your trade needs do not fit a grid. Vehicles, properties, job sites, treatments, multi-location permissions. One row per customer stops working when a customer has eight of something.
Before You Migrate, Clean the Sheet
Migrations fail at the data, not at the import. Do this first, whichever system you move to:
- One row per customer. Multiple rows for the same person is the single biggest cause of a broken import.
- Dates stored as dates, not "last Tues" or "3/4" with no year.
- A fixed list of stages, agreed by everyone, replacing free-text status.
- First and last names in separate columns, along with any other field you will want to filter or personalize on.
- An owner on every record. If nobody owns it, nobody follows up, and no software fixes that.
- Archive the dead rows instead of importing them. Starting a new system with three years of stale leads is the fastest way to make sure nobody trusts it.
Do this even if you decide to stay on the spreadsheet. It is a real share of what a CRM gives you, available for an afternoon's work.
The Third Option
There is a middle route between a grid and a generic product, and it is the one we build: a system shaped like the sheet you already use, with the parts a sheet cannot do.
In practice that means your stages and your field names rather than a vendor's, records that match your trade, roles that control who sees what, automatic follow-up on the stages where deals stall, and website inquiries landing in the pipeline instead of an inbox — handled the way website automation handles recurring work. You own the code and the database, and adding an estimator or an office manager does not change the bill.
It is the right answer less often than this page's placement might suggest. A custom CRM earns its build fee when the seat bill is climbing, the fit is bad, or something customer-facing is needed, and the other benefits follow from the fit rather than the price. If you are not there yet, building your own covers the DIY routes between a spreadsheet and a commissioned build, with published prices and the ceiling each one runs into.
When You Should Stay on the Spreadsheet
Plainly, because most comparison pages will not say it:
- One or two people, one pipeline, a few hundred open records, and the sheet is a shared memory aid rather than the ledger for money.
- The process is still changing. Do not encode a workflow you expect to replace in six months.
- Nobody outside the team needs access.
- Nothing has been lost yet. Not "nothing we know of" — nothing.
If that is you, close this page and go clean the sheet. If one of the five signals above is already true, bring the sheet and your headcount to a free consultation and we will tell you which of the three columns fits, including when the answer is a $39 subscription.