Importing your data
Bring your client list and booking history across from your old system. ResNeo matches your columns for you, checks the file, and gives you 24 hours to undo the whole thing.
Before you start
- Back up what you already have. Open Settings, then the Reports tab, and use Export your data to download your appointments and your clients (choose All time and CSV). Keep the files safe.
- Open the importer. Click Settings, stay on the Profile tab, and scroll to the bottom. Under Data import, click Open Data Import. There is no Data Import tab and no sidebar link.
- You need an admin login. Data import is hidden from staff logins.
Tip: you do not need a special export. Excel workbooks (.xlsx and .xls) and CSV files from any salon or clinic system work, including files with title rows, several sheets, or odd characters. Your columns are matched to ResNeo fields on the next step, so the system you came from does not need to be recognised.
What each file must contain:
- A Client list needs a name column. One combined full-name column is fine, ResNeo splits it into first and last name.
- A Booking history needs a Booking date, a Booking time, and at least one way to identify who each booking is for: their email, their phone, an ID from your old system, or a name. A single combined date and time column covers both the date and the time.
- A Staff list needs a Staff member name.
A service name and a staff name on your bookings make the result far more useful, but they are not required.
Marketing permission for imported clients
Clients you import can receive your marketing messages straight away: ResNeo ticks Marketing consent for each one, dated the day of the import. The exception is a client your file says has said no. Any of these marks them as opted out instead:
- A marketing consent column that says No (or False, 0, Off, None, Opted out, Unsubscribed, Declined or Do not contact).
- An opt-out or unsubscribed column that says Yes. On the Map step, match a column like this to Opted out of marketing, not to Marketing Consent, because in that column Yes means no.
- An email or SMS marketing consent column that says No. A client has one marketing setting that covers both, so a no to either counts as a no.
One no wins. If your file says yes in one column and no in another, the client is opted out.
A blank cell, or an answer that is neither a clear yes nor a clear no, leaves the default in place.
If a client is already in ResNeo and you choose Update existing, the import only ticks Marketing consent when they have never made a marketing choice in ResNeo. It never signs someone back up after they opted out, and a No in your file always opts them out. Any marketing setting the import changes for an existing client is written to their timeline in Contacts, credited to the admin who ran the import, so you can always see what happened and when.
Good to know: this assumes everyone in your file is happy to hear from you. If your old system recorded who said no, keep that column in the file so ResNeo can respect it. You can change any client later under Preferences in Contacts.
Do a small test first
Do not import three years of history on your first go.
- Save a copy of your spreadsheet.
- Delete everything except the header row and about twenty client rows.
- Import that copy all the way through.
- Open Contacts and check a few of them. Are names split correctly? Phone numbers right? Dates read as UK dates?
- Undo the test, fix your file, then run the full import.
Step 1: Start an import
On the Data import screen, click Start new import. That opens the wizard at Upload.
The same screen lists every import you have run, so you can pick one up again. Each row has:
- Continue to go back into a wizard you have not finished.
- Resume import if an import is still running.
- Report CSV and Undo once it is complete.
- Delete to take a session off the list.
Delete only clears the session and its uploaded files. It does not remove anything already written into your venue, so use Undo for that.
Step 2: Work through the wizard
Six steps, numbered across the top so you always know where you are: Upload, Map, Review, Services & staff, Validate, Import. Back to imports takes you out at any point, and your progress is saved.
The import wizard, step by step
The six wizard steps in order, with a note that the whole import can be undone for 24 hours.
1. Upload
Drop your files on Upload your files, or click to browse. You can add several at once, and each sheet in a workbook is read separately.
Label each file Client list, Booking history or Staff list. ResNeo usually detects this and pre-fills it, so most of the time you are just confirming. Leave a file as Not sure and you cannot continue.
Remove takes a file back off. Open What can I import? for Supported sources and two sample files, Download a sample clients CSV and Download a sample bookings CSV.
Tip: if a file holds both bookings and client details, and most do, label it Booking history. The client details come across too.
Continue stays locked until every file has a label. If a file is laid out as a printed report rather than a table, ResNeo reorganises it first and shows you the result, with Undo (use the original) if the tidy-up went wrong. That can take a few minutes on a big file, so keep the tab open.
2. Map
Map columns matches your columns to ResNeo fields automatically, and your job is to check the result. Drag a column onto a field to change it, use the dropdowns, or split a combined column such as a full name into parts.
Map columns
Your spreadsheet column headers on the left matched to ResNeo fields on the right.
If the guesses are poor, open Tell the AI about your data (optional), describe your file in plain English, and click Save & re-run AI mapping. Re-run AI mapping does the current file again on its own.
Tip: if a file is missing something it needs, ResNeo lists it under Before you can continue, this file needs:.
3. Review
Review shows every column with its Sample, Action and Detail. Each one is marked Imported, Not imported, Custom field or Split into fields, so you can see at a glance what is coming across and what is being left behind.
4. Services & staff
Set up services & staff lists the service names, staff names and anything else your bookings mention, in tabs. For each one you can:
- Match it to something you already have in ResNeo.
- Add it as new, using Add as new service, Add as new practitioner or Add as bookable staff. Advanced setup lets you set the length and price as you go.
- Skip it, which leaves those bookings out of the import.
Then click Continue to validation.
5. Validate
ResNeo scans every row for missing fields, duplicates and ambiguous dates, and shows Your import plan and a Validation complete summary. Large files are checked in the background and your progress is saved, so you can leave and come back.
Settle anything it flags:
- If dates could be read two ways you will see Ambiguous dates detected. Choose DD/MM/YYYY (UK) and click Apply and re-validate.
- For clients who already exist, set each row to Update existing or Skip row, or use the buttons above the list to decide them all at once, including Skip all duplicates.
- For rows with an unreadable email, choose Import anyway or Skip row, or use Import all without email where invalid or Skip all these rows.
- View row shows you the actual row from your file if you are not sure.
The import cannot start while any of these are unresolved. Download report CSV gives you the full list to work through offline.
A booking file is also checked for double bookings. A row that repeats an earlier row (the same person, date, time, service and staff member) is skipped, so the appointment is not brought in twice. An appointment from today onwards that overlaps another on the same calendar gets a warning that names both. The warning does not stop the import, so fix your file first or move one of them in your calendar afterwards.
Good to know: Send upcoming reminders for imported bookings sits near the bottom whenever you are importing bookings, and it is off by default. Leave it off and nobody is contacted. Tick it and every imported appointment still in the future sends your normal reminders, by text as well as email if SMS is on, which on a year of history can be a lot of messages and a large bill. Booking confirmations are never resent either way.
Then click Review & approve. A Review & approve import window sums up what will happen. Not yet takes you back, Approve & start import goes ahead. Nothing is written to your venue until you press it.
6. Import
Importing runs large files in batches with a progress bar. You can leave the page and come back to this step to pick it up.
When it finishes you get Import complete, the counts of clients and bookings, the skipped rows, and Download import report (CSV). If something goes wrong you get Import failed with the reason and a link Back to import history.
In Contacts, a client's imported notes are their Customer info note, and their address and postcode are their address. Other details you mapped, such as date of birth, gender or landline, are listed under Imported details on the client.
Past bookings from your history count on each client in Contacts. A completed booking counts as a visit (several services on the same day count as one), a no-show adds to their no-shows, and Last visit becomes the date of their latest completed booking. If your client file has its own Total Visits or Last Visit Date, the higher number and the later date are kept, so no visit is counted twice, even if you import the same history again.
If your venue is in a venue collective: a service of yours that is not on the collective's booking page is parked and cannot take new bookings. Imported bookings for one of those services are still brought in and work as usual. They are kept with a note rather than dropped, grouped under Rows imported with a note and listed in the report CSV.
The 24-hour undo
Once an import finishes, its row on the Data import screen shows Undo available until a date and time. The clock starts when the import finishes, not when you approve it.
Click Undo, then Undo import to confirm, and ResNeo reverses the session:
- Clients it created are deleted. A client you have booked again since, or added a form or file to, is kept, and you are told who.
- Bookings it created are deleted.
- Visits, no-shows and last visit dates that your booking history added are taken off again. Visits recorded in ResNeo since the import are kept.
- Clients it updated are put back as they were: name, email, phone, tags, visit counts, last visit and custom fields. Any edits you made since are lost too.
- Each client's marketing setting is put back to what it was before the import, and that is written to their timeline too. If the client has unsubscribed since, or someone has changed their setting since, that later choice is kept.
- Services, staff and calendars the import created are deleted, unless a booking that did not come from the import uses them.
Warning: after 24 hours the undo stops working, but the Undo button stays on screen. Clicking it then says the 24 hours have passed and nothing changes. Past that point, unwanted records have to be removed by hand.
Common problems & fixes
| Problem | Likely cause | Fix |
|---|---|---|
| I cannot find Data import | It is not a tab, and staff logins do not see it | Sign in as an admin, open Settings, stay on Profile, scroll to Data import and click Open Data Import |
| Continue is locked on Upload | A file is still labelled Not sure, or is still being reorganised | Label every file and wait for the notice to clear |
| Clients or bookings appear twice | The same file was imported twice | Undo the second import within 24 hours, otherwise remove the duplicates by hand |
| Imported clients are skipped by a bulk message | Your file said they opted out, or they had already made a marketing choice in ResNeo | Open the client in Contacts, then Preferences, and tick Marketing consent if they agreed to hear from you |
| An imported booking is on a day I am closed | Imported bookings are not checked against your opening hours | Open it from the calendar and move or cancel it |
| Clients got unexpected reminders | Send upcoming reminders for imported bookings was ticked | Undo within 24 hours if you can, and turn the affected messages off under Settings, then Communications |
| Dates are a month out | The file was read as US dates | Undo, re-import, and choose DD/MM/YYYY (UK) |
| Undo does nothing | The 24 hours have passed | Remove the records by hand |
| Removing a session did not remove the data | Delete only clears the session and its files | Use Undo on a completed import instead |
| Rows imported with a note says a service is parked | Your venue is part of a venue collective and that service is not on the collective page | Nothing to fix: the bookings are kept and work as usual. The service cannot take new bookings until it is on the page or your venue leaves the collective |