Watch: How to Import Your Customer List (0:56)
If your customer list lives in Excel, Google Sheets, or another shop tool, export it to CSV and you can pull it into SalesThumb in one pass. This walks through the import end-to-end.
Step 1 — Prepare your file
SalesThumb's importer accepts CSV only — if your list is an Excel workbook, use "Save As" / "Export" to CSV first (Google Sheets: File → Download → Comma Separated Values). Up to 5,000 customers per file.
- A name column (full name, or a separate first/last split — either works)
- Phone and email are optional — include them if you have them
Optional columns we recognize automatically:
- Address (street, city, state, zip)
- Company name
- Vehicle make / model / year / trim / color / VIN / plate
- Tags (comma-separated)
- Notes
Column headers don't have to match exactly — the importer does fuzzy matching ("Cell" → phone, "E-mail" → email, "Year" → vehicle year).
Step 2 — Clean the data first
Five minutes of cleaning saves an hour of fixing imports. Look for:
- Test rows ("John Doe", "Test Customer", phone 5555555555). Delete.
- Duplicates. Sort by phone or email — if you see the same number twice, merge before import.
- Blank rows. Common in exported spreadsheets. Delete.
- Phone format consistency. SalesThumb normalizes formats automatically, but if you have a mix of international, parenthesized, and dashed numbers, scan for obvious errors.
Step 3 — Upload
In SalesThumb, go to Customers → Import (there's an Import button on the customer directory). Drop the CSV in, then answer "Which platform is this export from?" (pick Other (CSV) for a spreadsheet) — the Import button stays disabled until you do. The importer reads your headers, guesses a mapping for each column, and shows a preview so you can confirm or fix any misreads before continuing.
Step 4 — Choose duplicate handling
Before the import runs, pick how to handle rows that match an existing customer by phone or email, under "On duplicate (same email or phone)":
- Skip (default) — matching rows are left alone
- Merge — new fields from the file are added onto the existing record
- Allow duplicates — creates a new record anyway; useful for B2B fleets where one phone might legitimately have multiple records
For most shops, "Skip" is correct.
Step 5 — Run the import
Click Import. The import runs while you wait — it processes row by row in a single request, so for a few thousand rows expect it to finish in well under a minute; there's no background job and no completion email or in-app notification. When it's done you'll see a summary right on the page:
- Added
- Updated (merged into an existing customer)
- Skipped
- Vehicles created
- Row-level errors (row number and message, first 10 shown)
Common errors
- Phone numbers aren't checked — a number that's too short or has letters still imports, so fix obvious typos in the source file first.
- Missing name — rows without a first and last name are left out of the import (shown as "N skipped (missing name)"). Fix in source.
What gets imported, what doesn't
- Customer records: yes
- Vehicles attached to customers: yes
- Tags: yes
- Notes: yes
- Quote/job history: NO — we can't import legacy quotes/jobs from a spreadsheet because the structure is too lossy. Keep the old tool read-only for a while for historical lookups.