Nextro

CSV migration: import customers and services

Upload a CSV file to import your existing client list and service menu into Nextro. Works with exports from Fresha, Booksy, Square, Timely, and any generic CSV.

Overview

CSV migration lets you upload a file you already have — such as a client export from your previous booking platform — and import the data directly into your Nextro account. You can import customers, services, or both.

CSV migration is separate from the booking link import feature. Booking link import reads your business name from a public profile URL. CSV migration imports data you upload yourself — it does not connect to or retrieve data from any external platform.

CSV migration is available from Import in your dashboard sidebar. You can import customers and services in any order.

What you can import

Two types of data can be imported:

Customers

Name

The client's full name.

Email address

Required. Used as the unique identifier for each client.

Phone number

Optional.

Services

Service name

Required. Maximum 60 characters.

Duration

In minutes. Defaults to 60 minutes if not provided.

Price

In pounds (e.g. £45.00, 45, 45.00 GBP). Defaults to free if not provided.

Description

Optional. Maximum 200 characters.

Category

Optional grouping label. Maximum 40 characters.


What is not imported

The following are not supported in the current version of CSV migration.

Booking history or appointment records
Payment records, receipts, or invoices
Refund history
Opening hours or availability schedules
Login credentials or account settings from another platform
Photos, gallery images, or media files
Staff or team member details
Private notes or internal platform data

These items need to be added or configured manually inside Nextro after your account is created.


Customer CSV format

Your CSV must have a header row. Email is the only required column. The column order does not matter — you can map columns in the import wizard.

Example customer CSV

name,email,phone
Sarah Mitchell,sarah@example.com,07700 900123
James Patel,james@example.com,07700 900456
Priya Sharma,priya@example.com,

Accepted column names

Namename, full name, client name, customer name, contact name
Emailemail, email address, e-mail, customer email
Phonephone, phone number, mobile, tel, telephone

Max 1,000 customers per import. Each subsequent import skips emails already in your account.


Service CSV format

Your CSV must have a header row. Service name is the only required column. Duration and price default to 60 minutes and free respectively if not provided.

Example service CSV

name,duration,price,category,description
Swedish Massage,60,£60.00,Massage,A relaxing full-body massage
Deep Tissue Massage,60,£70.00,Massage,Targets deeper muscle layers
Hot Stone Massage,90,£85.00,Massage,
Express Back Massage,30,£40.00,Massage,

Accepted column names

Service namename, service name, treatment name, item name
Durationduration, duration (mins), duration minutes, length
Priceprice, price (£), price (gbp), amount, cost, fee
Descriptiondescription, details, notes, about
Categorycategory, group, type, section

Accepted duration formats

60, 1:00, 1h, 1h30m, 90 min

Accepted price formats

45, 45.00, £45.00, 45.00 GBP

Max 50 services per import. Service names longer than 60 characters are truncated.


Exporting from your platform

Most booking platforms allow you to export your client list and service menu as a CSV or spreadsheet. The exact steps vary by platform — look for an export option in your account settings, reports, or client management section. Common locations are listed below.

Fresha

Clients: Reports or Clients section — look for an export or download option.

Services: Services menu — each service category can typically be exported or manually listed.

Booksy

Clients: Business Manager, Clients tab — export client list as CSV.

Services: Services section — copy your service list into a CSV manually or use any export option available.

Square Appointments

Clients: Customers tab in Square Dashboard — export customer list.

Services: Items library — export your service items as a CSV.

Timely

Clients: Clients section — use the export function to download client details.

Services: Services section — export your service list if available, or create a CSV from your service menu.

If you cannot find an export option, you can create a CSV manually in a spreadsheet tool (such as Google Sheets or Excel). Add a header row matching the column names above, then paste in your data and download as CSV.

Preview and confirm

After uploading your CSV, the import wizard shows a preview of all rows before anything is saved. You can:

  • 1Review how each column has been mapped and adjust if needed.
  • 2See which rows are valid and which have errors (for example, a missing email or an unparseable duration).
  • 3See the total count of importable rows before committing.
  • 4Go back to adjust the mapping if something looks wrong.

For customer imports, you will also be asked to confirm that you are authorised to import the customer data and that you have an appropriate legal basis for processing it. This confirmation is required before the import proceeds.


Duplicate handling

Customers: Clients are identified by their email address. If a client with the same email already exists in your account (from a previous import or from a real booking), the row is skipped. The import result shows how many were saved and how many were skipped.

Services: Services are matched by name (case-insensitive). If a service with the same name already exists in your account, that row is skipped. The import result lists which service names were duplicates. Existing services are never overwritten.


Your responsibility

When you upload a CSV that contains personal data about your clients:

  • 1You are responsible for the data you upload. Nextro processes it on your instruction.
  • 2You must have a lawful basis under UK GDPR for processing your clients' personal data — for example, because you have an existing business relationship with them.
  • 3You must not import personal data about individuals you have no direct relationship with.
  • 4You should not upload data obtained through unlawful means or from sources you do not own or have permission to use.
See Terms & Conditions section 21 and the Acceptable Use Policy for the full terms covering CSV migration.

Troubleshooting

No rows are being detected

Make sure your file has a header row and at least one data row. Check that the file is saved as CSV (not .xlsx or .numbers). Try pasting the data directly into the text area instead of uploading the file.

All rows show 'Invalid email'

Check the column mapping — the email column may not have been detected correctly. Go back to the Map step and make sure the email column is mapped to Email.

Service name is being truncated

Service names are limited to 60 characters. The preview will show a note if a name is truncated. You can edit the service name in Nextro after import.

Duration shows 'could not be parsed'

Make sure the duration is in a recognised format: 60, 1:00, 1h, 1h30m, or 90 min. Map the column to Skip if you do not want to import duration (it will default to 60 minutes).

Price shows 'could not be parsed'

Make sure the price is a number with an optional £ symbol: £45, 45.00, or 45.00 GBP. Remove any currency symbols that are not £, $ or €. Map the column to Skip if you do not want to import price (it will default to free).

Services already exist (all skipped)

Services are matched by name. If all your services already exist in your account, there is nothing to import. You can edit existing services directly in the Services page.

Too many clients (over 1,000)

The customer import limit is 1,000 per import. Split your CSV into batches of 1,000 or fewer and run the import multiple times.

Too many services (over 50)

The service import limit is 50 per import. Split your service list and run the import multiple times.

We use performance cookies to improve Nextro. Cookie policy