runbookifyGet a plan
← All guides

No ERP? No problem. Connect to the data you already have

How to point your first tool at a CSV export or a Google Sheet, dodge the common data gotchas, and graduate to a real database when you're ready.

A worry stops a lot of people before they start: "I can't build an internal tool — we don't have a proper system. Our data lives in a spreadsheet someone updates by hand."

Good news. That spreadsheet is a perfectly fine place to begin. The data you already have — a CSV export from your accounting software, a shared Google Sheet, a report someone emails every Monday — is enough to build something useful today. You can always upgrade the plumbing later. Let's walk through how.

Start with what you've got

Almost every business system can spit out a CSV file. CSV just means "comma-separated values" — a plain-text version of a spreadsheet, one row per line. If you can click Export in your ERP, your bank portal, or your CRM, you have a data source.

You have two practical starting points, and which one you pick depends on how often the data changes.

A CSV export is best when the data is a snapshot you refresh occasionally — last quarter's invoices, a vendor list, a one-time cleanup project. You export the file, hand it to your tool, and work with it.

A Google Sheet is best when the data keeps changing and more than one person touches it. Because it lives online and updates live, your tool can read the latest version every time someone opens it. For a lot of operations work — a running approvals log, an open-items tracker — this is the sweet spot.

When you describe your tool to your AI coding agent, just say which one you're using: "The data comes from a CSV I'll upload" or "Read from this Google Sheet." The agent handles the wiring. Your job is to make sure the data underneath is clean enough to trust.

The gotchas that bite everyone

Spreadsheets are forgiving in ways that trip up tools. A human reading a sheet shrugs off little inconsistencies; software takes everything literally. Here are the four that cause the most head-scratching, and how to dodge them.

1. Types — numbers that are secretly text. A column of dollar amounts that contains 1,200 or $1,200 or 1200 (with a stray space) isn't a number to a computer — it's text, and you can't add up text. Before you connect a sheet, strip out currency symbols, thousands-commas, and trailing spaces so a number column holds nothing but numbers. Same goes for percentages: 15% is text; 0.15 is a number.

2. Dates — the silent troublemaker. Is 03/04/2026 the 3rd of April or the 4th of March? Your spreadsheet might guess differently than your tool does, and you won't notice until a report looks wrong. The fix is to standardize on an unambiguous format. 2026-04-03 (year-month-day) is read the same way everywhere on earth. If you can format your date columns that way before connecting, you'll save yourself a genuinely maddening afternoon.

3. Encodings — the mystery question marks. Ever opened a file and seen Réservé show up as Réservé or names with little black diamonds where an accent should be? That's an encoding mismatch. When you export a CSV, choose UTF-8 if your software offers it — it's the format that handles accents, names, and symbols correctly. Most modern tools default to it; older accounting systems sometimes don't.

4. Headers and blank rows. Your tool expects the first row to be column names — Invoice, Vendor, Amount — and every row below to be data. Delete the empty rows, the merged "Q1 Summary" banner cells, and the little total at the bottom. One clean header row, then nothing but records. Consistent column names matter too: pick Amount, not Amount in some rows and Total $ in others.

A good habit: keep a pristine copy of your source data and do your cleanup on a duplicate. If something goes sideways, you haven't touched the original.

Tell your agent what the columns mean

Software doesn't know that St means "status" or that a blank in the Approved By column means "not yet approved." Spend two minutes writing down, in plain English, what each column holds and what the values mean — Status can be Open, Approved, or Rejected. Paste that into your agent along with the data. The clearer your description, the fewer surprises in the finished tool. This little glossary is one of the highest-leverage things you can do.

Graduating to a real database later

A spreadsheet source is a fantastic start, but you'll feel its limits as your tool gets popular. The usual signals: two people overwrite each other's edits, the sheet gets slow past a few thousand rows, or you want a real audit trail of who changed what and when. Those are the governance features that matter once a tool becomes load-bearing.

That's the moment to move the data into Supabase — the proper database in your stack. The reassuring part: you don't redo your work. You ask your agent to "move this data into a Supabase table and point the tool at it instead of the sheet." Your screens and buttons stay the same; only the back room changes. Because you started with clean, well-described columns, the move is mostly mechanical.

So don't wait for the perfect system. Export the file you already have, tidy the four things above, and build something this week. The fancy database can come later — and when it does, it'll feel like a small upgrade, not a rebuild.