How to export and import CSV files in Salon Booking OS
Export your clients and your services as CSV files, and import clients from one: the import shows what it will do before anything is saved, and leaves clients that exist as they are. Appointments are not imported or exported.
Open Data → Import and export. The page lists the records your account may use:
| Records | Who may use them (on a new site) |
|---|---|
| Clients | the owner: Import clients from CSV to import, Download a client’s data, or export the clients as a CSV file to export |
| Services | the owner: Edit services, categories, options and prices, to export |
You can give these permissions to another role under People → Roles and permissions.
Exporting #
Choose Export clients or Export services. The file appears under Your exports; download it from there.
- The file is in UTF-8 with the mark spreadsheet programs need, so accents and other scripts show correctly.
- A cell a spreadsheet would read as a formula (one starting with
=,+,-or@) starts with an apostrophe, unless it is a plain number. An import reads it back without the apostrophe, so an exported file imports unchanged. - An export holds at most 20,000 records.
- Only you can download your export, for 24 hours; then it is removed.
The clients’ file holds personal details (names, e-mail addresses, phone numbers), and the page says so: keep the file safe and delete it when you are done.
Importing clients #
- Choose Import clients. The page explains each column; Download a blank template gives a file with the right header line.
- Prepare the file: CSV in UTF-8 (in a spreadsheet program, “Save as”, type “CSV UTF-8”), at most 5,000 rows, with a header line naming the columns in any order. A file the import cannot use is refused with the line where the problem is, before anything changes.
- Under Records that exist already, keep Skip records that exist (leave them as they are).
- Choose Check the file. Nothing changes yet.
- The preview, What the import does, counts the New records, the Changed records, the rows Skipped (they exist) and the Refused rows, and lists the refused rows first with the reason for each cell. Download the errors (CSV) gives the same list as a file.
- If a row is refused, correct the file and upload it again: nothing can be imported while a row is refused. If you change your choice for existing records, choose Check again.
- Choose Import … records. The page then says how many records were new, changed and skipped. Discard throws the import away without changing anything.
An open import waits under Imports waiting for you for 7 days, then it is discarded. Only the person who uploaded an import sees it. The audit log notes the counts.
The columns #
| Records | Columns |
|---|---|
| Clients | id, name, email, phone |
| Services | id, name, description, category, minutes, price, currency (exports only), price_from, online, estimate_only, status |
The import page describes each column — its type, whether a new record needs it, and its limits.
How existing clients are matched #
- By id: a row with the
idfrom an export means that client. - Clients are also matched by e-mail address or phone number. With Skip records that exist, a row whose client exists is counted as Skipped (they exist), and that client is left as it is.
On the public demo #
On a site running as a public demo, importing is turned off and the page says so; exports work.