Spreadsheet to Internal Tool: When to Build Your Own
The signals that your spreadsheet has become software, when to build or buy, what an internal tool needs, and how to cut over without losing a step.
Shaheer Malik
Framer Designer & Developer
Quick answer
Build your own internal tool when a spreadsheet runs a process that several people depend on every day, errors in it cost real money, and no off-the-shelf product fits without workarounds. Spreadsheets fail quietly: inspections find errors in 94% of real business spreadsheets. A focused internal tool takes about three weeks; replacing an ERP does not.
Build your own internal tool when a spreadsheet runs a process that several people depend on every day, errors in it cost real money, and no off-the-shelf product fits without workarounds. Spreadsheets fail quietly: inspections find errors in 94% of real business spreadsheets. A focused internal tool takes about three weeks; replacing an ERP does not.
Disclosure: I run Ship It Live, a fixed-price design and development service, so I have a stake in this topic. Every number below links to its source; the build stories are from my own products, not client work.
When is a spreadsheet no longer enough?
A spreadsheet stops being enough when the process it holds matters more than the file. These are the signals I look for:
- Several people edit it every day, and someone keeps a "don't touch these columns" rule in their head.
- It has an owner who can't take a holiday, because only they understand the formulas.
- Mistakes cost money: a wrong price, a missed follow-up, a double-booked job.
- You copy data in and out of it from email, forms or another tool, by hand, every week.
- You can't answer "who changed this, and when?"
- It's slow or breaks once it passes a few thousand rows.
One of these is normal. Three or more means the spreadsheet has become software, without the things software has: permissions, validation and history.
How common are spreadsheet errors?
Very common, and mostly invisible. Raymond Panko, who has studied spreadsheet errors for decades, reviewed intensive inspections of real business spreadsheets and found errors in 94% of them. In laboratory studies, people building spreadsheets got about 3.9% of cells wrong on average.
That sounds small until you remember that formulas depend on other cells. A spreadsheet with hundreds of linked cells and a 1–5% error rate per cell is very likely to have at least one wrong bottom-line number. The problem isn't careless people. It's that a spreadsheet doesn't stop anyone from typing the wrong thing into the wrong place.
Should you build or buy an internal tool?
Buy when your process is standard; build when your process is the point. A CRM, a helpdesk or an accounting system is usually better bought, because thousands of companies run the same process and the product already handles the edge cases.
| Situation | Usually the better call |
|---|---|
| Your process matches how most companies work | Buy a product |
| You need it next week and can adapt to the tool | Buy a product |
| The tool needs heavy workarounds or three subscriptions glued together | Build |
| Per-seat pricing grows faster than the value as your team grows | Build |
| The workflow is what makes your business different | Build |
| You need it to talk to systems with no integrations | Build, if those systems have an API |
For the full cost comparison, including how per-seat subscriptions add up over three years, see build vs buy software: the real cost math.
Developers spend a surprising share of their time on this kind of software. In Retool's survey of 2,285 developers, respondents said they spend about 33% of their time building internal tools. (Most respondents were Retool customers, so treat the figure as a signal, not a census.)
What should an internal tool include?
The same things that make a spreadsheet risky, done properly. A useful first version covers:
- Accounts and roles: who can see and change what.
- Your real records and the workflow that moves them along, with the steps people currently do from memory written into the screens.
- Validation: a price can't be negative, a date can't be in 1926, a required field can't be skipped.
- Fast tables: search, filters and bulk actions that still work at ten thousand rows.
- CSV import and export both ways, so nobody is trapped.
- An audit trail: who changed what, when, and what it was before.
- A dashboard for the numbers people check every morning.
Leave out anything you can't name a person for. "It might be useful" is how internal tools grow into the next unmaintainable spreadsheet.
What goes wrong when you replace a spreadsheet?
Two things, mostly: undocumented steps and messy identity.
Undocumented steps. The spreadsheet process always includes things nobody wrote down, such as "Sarah checks the PO number before marking it paid." If the new tool doesn't include that step, the team quietly goes back to the spreadsheet. That's why a good build starts by watching the current process, not reading a description of it.
Identity. Spreadsheets tolerate duplicates: "Acme", "ACME Ltd" and "acme.com" can all be the same customer. A real system has to decide what makes two records the same thing. When we built our own CRM and client portal for Ship It Live, on Cloudflare Workers and D1, one decision mattered more than any screen. We settled on the email address as the key that identifies a client, kept unconfirmed contacts as prospects, and made merging two records something the system asks about rather than does silently. That one choice decided how calls, messages and invoices find the right client.
How long does it take to build an internal tool?
A focused internal tool takes about three weeks. This is how our internal tool in 21 days sprint runs, from a fixed $1,999:
| Days | Stage | What happens |
|---|---|---|
| 1–3 | Watch the current process | The spreadsheet, the workarounds and the steps people do from memory |
| 4–9 | Design | Screens built for speed: keyboard-friendly, dense where density helps |
| 10–16 | Build | Data model, permissions, workflow and reporting, with your real data loaded |
| 17–19 | Run both in parallel | The team uses the tool alongside the spreadsheet, and gaps get fixed |
| 20–21 | Cut over | Data migrated, team trained, spreadsheet retired |
The parallel run matters more than any feature. A few days of using both is where every missing step shows up, while there's still time to add it. If what you need is specifically a sales pipeline, the CRM in 21 days sprint follows the same pattern.
What doesn't fit in three weeks: replacing a full ERP or accounting system, integrating legacy systems with no API, or a process two people still disagree about. Fix the disagreement first; software won't settle it.
Sources checked on 8 October 2026: Raymond R. Panko, "What We Don't Know About Spreadsheet Errors Today" (EuSpRIG 2015); Retool, State of Internal Tools 2022. Questions? Talk to the Ship It Live team.
FAQ
Frequently asked questions
When several people depend on it daily, errors cost real money, only one person understands it, or you can't tell who changed what. Three or more of these signals usually mean it's time.
Want it done for you? I offer web app design on a fixed price, from $700. See pricing.