
Switching software
How to Export Clients from Fresha, Vagaro or Phorest to NeonO
Start with the official client export, then check what the file includes before moving to NeonO or another system.
Published: · 7 min read
By NeonO · Updated:
Can you export your client list?
Yes. Fresha documents client-list exports to Excel or CSV; Vagaro lets the business owner export the customer list to Excel or PDF; Phorest documents client exports alongside separate exports for other records. Follow your platform’s official guide below, keep the original file and check the row count before importing.
A client list is not a complete migration. Check appointment history, future bookings, treatment notes, balances and marketing consent evidence separately. Confirm what NeonO or your chosen destination can import before cancelling access to the old system.
Start with your platform’s official export guide
Fresha
Fresha documents Excel or CSV client-list exports and separate appointment exports for an individual client. Payment-card details cannot be exported. Check the file rather than assuming it includes formulas, balances or consent evidence.
Official export guide — Fresha
Vagaro
Vagaro’s guide says the business owner can export the customer list to Excel or PDF. Use the spreadsheet format for a migration audit; a customer-list export does not establish that appointment history, notes and financial balances are included.
Official export guide — Vagaro
Phorest
Phorest documents separate exports for clients, transactions, future appointments, products, services and several balance types. Its marketing email export covers opted-in clients, not necessarily the whole client list. Check each required data set separately.
Official export guide — Phorest
Audit the files before you import
Keep the original export unchanged and work from a copy. Record the export date, filters and row counts. Check a small sample with accented names, shared phone numbers, future appointments and outstanding balances. Reconcile those same records after import. Store files with restricted access; do not upload client data to a public converter.
The five things you're actually asking for
“Export my clients” is not a complete request. There are five distinct data sets, and platforms are inconsistent about which ones they'll release.
- 01
Client records
What breaks: Consent status and its date are the fields nobody asks for.
- 02
Appointment history
What breaks: Future bookings often don't come across — you rebuild by hand.
- 03
Formula and treatment notes
What breaks: Line breaks and commas destroy rows in an unquoted CSV.
- 04
Financial balances
What breaks: Gift cards, packages and credits are liabilities you still owe.
- 05
Products and inventory
What breaks: Costs and supplier codes are usually a separate export.
Client records. Request the contact fields you actually need, plus available marketing consent dates, evidence and unsubscribe records. Confirm what is missing. Do not infer consent from the presence of an email address.
Appointment history. Past and future. Future bookings matter most: if you switch platforms with 340 appointments already on the books and can't import them, you are rebuilding a calendar by hand while clients are arriving.
Formula and treatment notes. The hardest export in the industry, and the most valuable. More on this below.
Financial balances. Outstanding gift card values, prepaid packages, memberships, loyalty points, account credits. Every one of these is a liability you owe a real client. Losing the record doesn't extinguish the obligation — it just means the client tells you what it was.
Products and inventory. Service menu, prices, retail SKUs, costs, current stock levels, supplier codes.

What usually breaks
Exports rarely fail outright. They degrade, quietly, and you find out three weeks later.
Phone number formatting. (905) 555-0142, 9055550142, and +1 905 555 0142 are three different strings. Import them without normalisation and you get duplicate client records — the same person twice, with the history split between them.
Date formats. A CSV that doesn't declare whether 05/06/2024 is May 6th or June 5th will silently reorder your appointment history. This one is common and genuinely nasty, because nothing looks wrong.
Character encoding. Every accented name in your database — every Québécois client, every stylist named José — is a candidate for mojibake if the file isn't UTF-8. Open the export in a text editor before you trust it.
Multi-line notes. Formula notes contain line breaks and commas. In a CSV, those break the row unless they're properly quoted. This is the single most common way formula history is destroyed in migration.
Deleted and archived clients. Some exports include them, some don't. If your list of 3,200 clients comes back as 2,100 rows, find out why before you conclude the platform “just doesn't have” the rest.
The formula problem
Ask a salon owner what she'd most hate to lose and she'll say her client list. Ask her senior colourist and she'll say the formulas.
Formula data is the worst-structured data in the industry. It's usually a free-text note field — sometimes several, sometimes appended over years, sometimes with a stylist's private shorthand that only she can read. There is no standard. 6N + 6.3 20vol 1:1 35min means something precise to the person who wrote it and nothing to a parser.
Two things follow. First, export the notes field even if it looks like a mess. Messy history is infinitely better than no history. A stylist can read a badly formatted note. She cannot read a note that no longer exists.
Second, this is the strongest argument for moving formula data into a structured field rather than a text box the moment you're on a new system. A formula stored as products, weights, developer volume, and processing time survives every future migration. A formula stored as a paragraph survives exactly as long as that paragraph does.
This is the problem NeonO's Migration Mapper was built around — it reads exports from Fresha, Vagaro, Phorest, and Encore, normalises the field structures against each other, and parses free-text formula notes into structured records rather than dumping them into another text box.
Two things worth knowing about your obligations
The client data in your booking platform is personal information about identifiable people, and under PIPEDA you're the organisation accountable for it. Two practical consequences.
Individual access rights under applicable privacy law are different from your business’s contractual export rights. Review both; a privacy obligation does not guarantee that a vendor provides every field in your preferred format.
And when you migrate, the security of that file is yours. An unencrypted CSV containing 2,500 clients' names, phone numbers, emails, and birthdates sitting in a Downloads folder or emailed to a developer is a breach waiting to be reported. Move it deliberately, delete the copies afterward, and don't send it over anything you wouldn't send a passport photo through.
The parallel run
The mistake is treating migration as a switch you flip on a Sunday night.
Week 1
Export and audit
Pull all five sets. Count rows. Spot-check twenty clients.
Step 1 of 4Week 2
Import and verify
Load, re-check the same twenty, then the awkward ones.
Step 2 of 4Week 3
Parallel run
New bookings in the new system. Old one stays readable.
Step 3 of 4Week 4
Switch the channels
Instagram, Google profile, website, the QR at the desk.
Step 4 of 4Week one — export and audit. Pull all five data sets. Count the rows against what the old platform reports. Open the files. Spot-check twenty clients you know personally, including one with an accented name and one with a long formula history.
Week two — import and verify. Load into the new system. Check the same twenty clients. Then check the awkward ones: the client with two phone numbers, the one who's also a staff member, the one with an outstanding package balance.
Week three — parallel run. New bookings go into the new system. The old one stays live and readable. Nobody is trusting anything yet.
Week four — switch the channels. Instagram bio, Google Business Profile, website, the QR code at the desk. This is the real cutover, and it's the last step, not the first. Agree a read-access period and validate the records before cancellation.
Do the export today anyway, even if you have no intention of going anywhere. A current export of your client list, stored somewhere you control, is a business continuity document. Everything else in the room is insured.
Menu paths and export capabilities in third-party platforms change frequently. Verify current functionality in each platform's own help documentation before planning a migration.
Sources
Related reading: Switching to NeonO · What Fresha actually costs in Canada · NeonO vs Vagaro · CASL for salons
Common questions
- Can I export my client list from Fresha, Vagaro, or Phorest?
- Each platform documents client exports, but a contact file is not a full system backup. Check the official guide and confirm separately whether bookings, notes, balances and consent evidence are available.
- What if a platform won't give me my appointment history?
- Ask in writing, and be specific. As a Canadian business you're accountable under PIPEDA for the personal information you hold about your clients, and a formal, documented request tends to be handled differently than a support chat. Your contract terms will also usually address data on termination — read them before you need to.
- How long should I keep access to my old system?
- Agree a read-access period before cancelling. Base it on your contract, unresolved balances, recordkeeping obligations and the time needed to validate the migration. Ninety days is an editorial planning example, not a vendor guarantee or legal retention rule.
- What's the single most important field to export?
- Preserve consent evidence and suppression records alongside contacts. Importing a contact does not itself establish permission to send marketing; check the applicable consent basis and do not treat a blank field as consent.
Bring the history, not just the contacts
NeonO's migration reads exports from Fresha, Vagaro, Phorest and Encore, normalises the field structures, and parses free-text formula notes into structured records.
See how switching works →