Move from a Spreadsheet to a Pool Route App
A step-by-step plan to move a pool route from a spreadsheet to an app. Clean your columns, test a small import, run both for two weeks, then switch.
When the sheet is still fine
A spreadsheet is a good route tool until it is not. It is free, you know it, and you can fix anything. If you run 25 accounts alone and the sheet never bites you, wait.
The move makes sense when you hit these problems:
- You cannot edit the sheet at a dead-signal stop.
- Notes about a customer live in three places.
- You lose history when you overwrite a cell.
- Photos live in your camera roll with no link to the stop.
- Somebody else needs the route and a shared file is risky.
Step 1: Clean the data first
Importing a messy sheet gives you a messy app. Spend an hour on the sheet before you touch software.
| Column | Format to use | Common problem |
|---|---|---|
| Name | One column, or first and last in two | "Smith, J & M" in one cell |
| Street | Number and street only | Apartment or gate notes crammed in |
| City | Own column | Missing, so the app guesses |
| Zip | Own column, as text | A zip like 02134 loses its leading zero |
| Phone | One consistent pattern | A mix of dashes, dots and spaces |
| One address per cell | Two addresses in one cell | |
| Service day | Full weekday name | "Tue", "Tues", "Tuesday" all in use |
| Stop order | A number per day | Blank or duplicated |
| Price | Plain number | Dollar signs and "per month" text |
| Access notes | Short text | Gate codes mixed in with other notes |
| Status | Active, paused or closed | Dropped customers still on the list |
Remove closed accounts or move them to a second sheet. Apps count and bill by account in some plans, so loading dead accounts can cost you.
Step 2: Make a backup
Save a copy of the cleaned sheet with a date in the file name. Do the import from a copy and leave the original alone. If the import goes wrong, you start again from a known good file.
Step 3: Test with a small import
- Save a copy of the sheet as CSV. Choose UTF-8 if your program offers it, which keeps accented names and special characters intact.
- Cut it to 5 to 10 rows. Pick varied ones, such as a long address, an account with two phones and an account with a note that includes quotes or commas.
- Import the small file.
- Open each imported customer and compare every field with the sheet.
- Look at addresses on a map. A bad split of street and city shows up as a wrong pin.
Ask these questions about the app during the test:
- Does it let you map your column names to its fields?
- What happens to a row it cannot read? Does it skip it, stop or import it half-filled?
- Can you undo an import?
- Does a second import add duplicates or update existing customers?
Step 4: Handle the sensitive data on purpose
Spreadsheets often hold gate codes in the notes column. Before the import, decide where they go. See storing gate codes safely for consent and access limits. After you finish the move, delete the old sheet copies that contain codes, or lock them down. A forgotten copy on a shared drive is a leak.
Step 5: Import the rest and fix stop order
Load the full list. Then check the route order by day, because order is where imports often go wrong. A sheet might sort stops by name, and the app shows them in that order. Fix each day before you use it for real. The route order basics guide covers how to sequence the day.
Spot check about one account in ten, for example every tenth row. If several of those checks find errors, stop and look for a pattern in your columns.
Step 6: Run both for two weeks
Use the app as your main tool and keep the sheet open as a backup.
- Week 1. Do each stop in the app. At the end of each day, check the sheet for anything the app missed, such as a note field you needed or an equipment detail.
- Week 2. Stop updating the sheet. Open it only when the app is missing something. Write down each gap.
- End of week 2. If the gap list is short and nothing on it is critical, switch. If the app could not hold something you need, ask the vendor or look at another option.
Do the airplane mode test during week one. Steps are in offline route app.
Step 7: Archive the sheet
Keep a read-only copy for history. Save it somewhere safe, and remove codes from it if you can. Then test an export from the app, so you know you can get your data out if you change tools. See export your customer data.
What you will lose and how to keep it
Spreadsheets hold history in odd places. Decide which of these to carry over:
- Past readings. Many apps import customers but not history. If a customer's chemistry trends matter, copy the last few readings into the notes field before you switch.
- Billing history. Keep your invoices where they are until the app has a full billing cycle.
- Custom columns. Pool volume, filter type and pump model may need a notes field or a custom field in the app.
Mistakes to avoid
- Importing the whole route on day one. A small test first saves hours.
- Skipping the cleanup. The app will not fix "Tuesday, maybe Thursday."
- Cutting over mid-week. Start on a Monday so each route day is entirely in one system.
- Deleting the sheet right away. Archive it for at least a few months.
- Moving during your busiest week. Pick a slow week.
Common questions
How do I import my pool customers from a spreadsheet?
Clean the columns, save the sheet as a CSV file, then import 5 to 10 rows as a test. Check every field in the app before you import the rest.
What columns should my pool route spreadsheet have?
Customer name, street, city, zip, phone, email, service day, stop order, price, access notes, equipment notes and status. Keep street, city and zip in separate columns.
How long should I run the spreadsheet and the app side by side?
Two weeks is a good target, which gives you two full passes through the route. Switch when the app has caught everything the sheet would have.