Migrating to a new system is one of the most sensitive parts of any software change. The idea of typing 200, 500, 1000 clients by hand is reason enough for many people not even to start. Good news: BookHero imports via CSV, and in 95% of cases the process takes under 30 minutes start to finish, even with big lists.
This guide is the complete step-by-step - exact format, preparation, import, verification. Follow all the steps and you come out with the list imported and headache-free.
Where is your list right now
| Source | How to export |
|---|---|
| Excel or Google Sheets | Already in compatible format, just organize columns |
| Booksy | Settings > Data/Exports > Export clients (CSV) |
| Treatwell | Settings > Client list > Export |
| Other SaaS systems | Typically in Settings/Configuration > Export data |
| Phone contacts | Export contacts via Google or iCloud > Export CSV |
| Paper book | Type manually, or use Google Lens for OCR |
If you come from another booking platform not in the list, contact us - help@bookhero.app. In general we can help transform any format into compatible CSV.
The exact CSV format BookHero accepts
Example of a ready-to-import file:
Step 1: Prepare the file (10-15 minutes)
Open Excel or Google Sheets
Create new sheet. Row 1: name, phone, email, notes. Row 2 onwards: each client.
Clean basic data
Check phone is in consistent format (all with country code or all without). Emails without leading/trailing spaces. Names without unnecessary ALL CAPS.
Add useful notes
This is the chance to add context about the client (preferred color, allergies, usual frequency). Don't overdo - 1-3 lines per client is enough.
Check duplicates
Filter by duplicate phone and decide which version to keep. Ideally resolve before importing - cleaner.
Save as CSV UTF-8
In Excel: Save as > CSV UTF-8 (comma-separated). In Google Sheets: File > Download > Comma-separated values (CSV).
Step 2: Import in BookHero (5 minutes)
Go to Clients in the side menu
On any dashboard screen, click Clients. You go to the current client list.
Click Import CSV
Button visible at the top of the page. If you have no clients yet, it's the main button; if you do, it's more discreet.
Choose the file
Upload dialog. Pick the CSV you prepared in step 1.
Preview the first 5 rows
BookHero shows how it'll interpret the columns. Confirm: name→Name, phone→Phone, etc. If mapping is wrong, adjust in the dialog.
Confirm import
Click Import. For 200 clients, takes 5-10 seconds. For 5000, can take 30-60 seconds.
How BookHero handles duplicates
Duplicates happen - same client registered twice (changed number, new email, etc.). BookHero detects automatically based on primary phone. If the CSV file has 2 entries with same phone, it flags them before import for you to decide.
- Duplicate within CSV (2 rows with same phone): flagged before importing, you choose which to keep.
- Duplicate between CSV and existing clients (you import someone already there): you can opt to update existing data or ignore.
- No phone: BookHero can't detect duplicates, imports as new client. If you don't have phones, we recommend manual verification after.
- Phones in different format (912345678 vs +44912345678): BookHero normalizes before comparing - they're detected as duplicates.
Step 3: Verify the import (5 minutes)
Don't skip this. Even if the system says it imported everything, it's important to confirm visually:
- Total count: number of clients in the list should match CSV rows.
- Open 5-10 random cards: complete data? special characters right? notes legible?
- Search for a specific client: use the search bar, confirm they appear.
- If there's discrepancy, you can delete all newly imported and try again (Delete selected button on the list).
Typical mistakes to avoid
- Wrong encoding: special characters look weird. Solution: always save in UTF-8.
- Wrong separator: using ; instead of , (typical in some European locales). Solution: replace all with comma before saving.
- Phones in different formats: some with country code, others without. Solution: normalize all to one format before import.
- Importing without checking duplicates first: creates duplicates you have to merge manually after. Solution: filter duplicates in Excel before.
- Importing all at once if list is huge (>5000): if there's an error, hard to identify. Solution: split into chunks of 1000-2000.
What to do after the import
Importing is just the first step. To get real value from the imported list:
Add origin to existing clients
On each card, add private note with real origin (Booksy, personal Excel, etc.). Useful to distinguish historical clients from new ones when you start recording origin of new arrivals.
Identify your top 20%
In Clients, sort by accumulated spend (if you imported with history) or by visit count. The top are your VIPs - candidates for special recognition.
Announce the change to active clients
Send a message to clients who return regularly: we moved to BookHero, book here [link]. Reduces friction of the migration for them.
List of inactives to reactivate
If your list has clients you haven't seen in a while, identify the top with >90 days inactive - immediate candidates for reactivation campaign.
Limits and capacity
- No hard limit on number of clients - we've imported 10,000+ lists no problem.
- For lists >5000, we recommend splitting into smaller files (1000-2000) for easier verification.
- Process is instant up to 1000 clients; >5000 may take 1-2 minutes.
- Notes have 500-character limit per client - if you have longer text, split or abbreviate.
- Unique email is required for clients who'll have login (if applicable). Unique phone recommended.
Assisted migration (free)
If you get stuck at any step, or your list has special complexity (multiple custom fields, weird format), contact us at help@bookhero.app. The product team does the import for you, no charge. Typically takes 24-48h.
Frequently asked questions
Can I import booking history too?
For now, CSV import covers only basic client data (name, phone, email, notes). Old booking history is not importable - the client gets a history starting from zero, which is normal and enough for 99% of cases.
Can I import more than once?
Yes. Each time you import, the system detects existing duplicates. Useful if you learn of more clients after the first import, or if you want to add lists from different sources.
Do clients receive a notification when imported?
No. Importing records in the internal system; clients receive nothing. You have full control over if and when you communicate the change.
Can I add custom fields (e.g., birthday)?
For now, CSV fields are fixed (name, phone, email, notes). Birthday and other data can go in notes in free format. Custom field support is on the roadmap.
What if the client has no phone?
No problem, phone is recommended but not required. If you have no phone, BookHero can't detect duplicates automatically - do manual verification after importing.