> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bellabooking.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Switching from Fresha

> A complete, visual walkthrough — export your clients, services and products out of Fresha, then import your clients into Bella Booking and resolve any duplicates or invalid records, all on one page.

<Note>Last verified: June 2026</Note>

This guide takes you the whole way — first **exporting your data out of Fresha**, then **importing your clients, services and products into Bella Booking** and resolving any duplicates or invalid records. Everything is on this one page, so you can follow it top to bottom.

<Info>
  For the export, log in to your Fresha partner account at [partners.fresha.com](https://partners.fresha.com/). You need a role with export permission (for clients, the **"Can download clients"** permission). For the import, you'll need the **Create clients** permission in Bella Booking.
</Info>

***

# Part 1 — Export from Fresha

You will export three things — your **clients**, your **service menu**, and your **products** — each as a CSV file.

## 1. Export your clients

1. Go to **Clients** > **Clients list**.
2. Click **Options** in the top right.
3. Under the **Export** heading, choose **CSV** (or **Excel**).

<Frame>
  <img src="https://mintcdn.com/bellabooking/HZ2hl3yJteVvXva-/images/fresha-clients-export-csv.png?fit=max&auto=format&n=HZ2hl3yJteVvXva-&q=85&s=5b883a09c5f0d19d1382d983aec7a0ef" alt="Fresha Clients list with the Options menu open, showing the Export section with CSV and Excel choices" width="3600" height="1834" data-path="images/fresha-clients-export-csv.png" />
</Frame>

Fresha shows an **"Export is being processed"** message and emails the finished file to your account's email address.

<Frame>
  <img src="https://mintcdn.com/bellabooking/HZ2hl3yJteVvXva-/images/fresha-export-processing.png?fit=max&auto=format&n=HZ2hl3yJteVvXva-&q=85&s=190abb9635b6031ab687c8e5f2b6d0ea" alt="Fresha confirmation banner reading Export is being processed" width="3600" height="1834" data-path="images/fresha-export-processing.png" />
</Frame>

## 2. Export your service menu

1. Go to **Catalog** > **Service menu**.
2. Click **Options** in the top right.
3. Choose **Download CSV** (you can also pick **Download Excel** or **Download PDF**).

<Frame>
  <img src="https://mintcdn.com/bellabooking/HZ2hl3yJteVvXva-/images/fresha-services-export-csv.png?fit=max&auto=format&n=HZ2hl3yJteVvXva-&q=85&s=58391fcb3c8b808d3b62cc75655e77db" alt="Fresha Service menu with the Options menu open, showing Download PDF, Download Excel, and Download CSV" width="3600" height="1834" data-path="images/fresha-services-export-csv.png" />
</Frame>

This file downloads straight away in your browser.

## 3. Export your products

1. Go to **Catalog** > **Products**.
2. Click **Options** in the top right.
3. Under the **Export** heading, choose **CSV** (or **Excel**).

<Frame>
  <img src="https://mintcdn.com/bellabooking/HZ2hl3yJteVvXva-/images/fresha-products-export-csv.png?fit=max&auto=format&n=HZ2hl3yJteVvXva-&q=85&s=248ad91365fca5f33b1b8fc5fcd47878" alt="Fresha Product list with the Options menu open, showing the Export section with CSV and Excel choices" width="3600" height="1834" data-path="images/fresha-products-export-csv.png" />
</Frame>

As with clients, Fresha emails the finished file to your account's email address.

### Export quick reference

| Export           | Where                  | Steps                  |
| ---------------- | ---------------------- | ---------------------- |
| **Clients**      | Clients > Clients list | Options → CSV          |
| **Service menu** | Catalog > Service menu | Options → Download CSV |
| **Products**     | Catalog > Products     | Options → CSV          |

<Note>
  Clients and products are processed and **emailed** to you (look for the "Export is being processed" banner). The service menu **downloads directly**. If an emailed export doesn't arrive, check your spam folder and confirm your account email under **Settings**.
</Note>

***

# Part 2 — Import your clients into Bella Booking

Now bring your **clients** CSV (the file Fresha emailed you) into Bella. The guided wizard matches your columns automatically, checks every row, and helps you resolve duplicates and fix invalid records before anything is saved.

## What Bella recognises

The columns in your file map across automatically — Bella matches common header names, so there's usually nothing to adjust. The only required field is **First name**.

| Column                                        | What it's for                                                                                    |
| --------------------------------------------- | ------------------------------------------------------------------------------------------------ |
| **First name** *(required)*                   | The client's first name. Rows without one can't be imported.                                     |
| **Last name**                                 | The client's surname.                                                                            |
| **Email**                                     | Used for confirmations, reminders and marketing (with consent).                                  |
| **Mobile number**                             | Validated against your business's country. Both local and full international (`+`) formats work. |
| **Date of birth**                             | Powers birthday greetings. Day/month order follows your business country.                        |
| **Client notes**                              | Free-text notes about the client.                                                                |
| **Main Client Email** / **Relationship Type** | Links a person to another client as a **family member** (see below).                             |

<Tip>
  **Anything Bella doesn't recognise is kept, not lost.** Unmatched columns from your old system (tags, gender, address parts, internal IDs) are stored as extra details on each client — never mixed into their notes.
</Tip>

## 1. Open the importer

On the **Clients** page, click **Import** (top right, next to **Add client**). You'll need the **Create clients** permission.

<Frame>
  <img src="https://mintcdn.com/bellabooking/HZ2hl3yJteVvXva-/images/import-0-clients-page.png?fit=max&auto=format&n=HZ2hl3yJteVvXva-&q=85&s=e5604fd080cd53683f3008c2d2121a10" alt="The Clients page with the Import button highlighted, next to Add client" width="3144" height="1834" data-path="images/import-0-clients-page.png" />
</Frame>

## 2. Upload your file

Drag your CSV onto the upload area, or click **Choose a CSV file**.

<Frame>
  <img src="https://mintcdn.com/bellabooking/HZ2hl3yJteVvXva-/images/import-1-upload.png?fit=max&auto=format&n=HZ2hl3yJteVvXva-&q=85&s=dfd6ca7a0f4fb3ba9cf164a3abb50010" alt="The Import Clients upload screen with the Choose a CSV file button highlighted" width="3144" height="1834" data-path="images/import-1-upload.png" />
</Frame>

## 3. Review column matching

Bella auto-matches each of its fields to a column in your file. Check the matches, adjust any with the dropdowns if needed (the only one that must be set is **First name**), then click **Next**.

<Frame>
  <img src="https://mintcdn.com/bellabooking/HZ2hl3yJteVvXva-/images/import-2-column-matching.png?fit=max&auto=format&n=HZ2hl3yJteVvXva-&q=85&s=e822bb8c3711a1885125b1c02be00c66" alt="Column matching step showing every Bella field automatically matched to a column in the file, with the Next button highlighted" width="3144" height="1834" data-path="images/import-2-column-matching.png" />
</Frame>

## 4. Preview and resolve

Bella checks every row against your existing clients and against itself, then splits the results into two tabs:

* **Ready to import** — clean rows that will be added.
* **Needs attention** — duplicates and invalid rows. **Nothing here is imported until you sort it out**, and each row joins *Ready to import* the moment it's resolved.

<Frame>
  <img src="https://mintcdn.com/bellabooking/HZ2hl3yJteVvXva-/images/import-3-preview-overview.png?fit=max&auto=format&n=HZ2hl3yJteVvXva-&q=85&s=123352964912a87911f34c8d78c375a6" alt="Preview step showing the Ready to import and Needs attention tabs, with two possible-duplicate cards" width="3144" height="1834" data-path="images/import-3-preview-overview.png" />
</Frame>

### Resolving duplicates

Each possible duplicate is shown as a pair — the row from your file next to the record it clashes with (labelled **Also in this file** or **Already in your account**). Bella tells you *why* they matched (same email or same phone) and suggests an action. You have four choices:

| Action                  | Use when                                                             | What happens                                                             |
| ----------------------- | -------------------------------------------------------------------- | ------------------------------------------------------------------------ |
| **Merge — same person** | It's the same person twice                                           | Fills any blank details on the existing record; no duplicate is created. |
| **Link as family**      | Different people who share contact details (e.g. a parent and child) | Imports as a separate client, linked as a family member.                 |
| **Keep both**           | Two genuinely separate clients                                       | Imports as a new client *without* the shared email/phone.                |
| **Skip**                | You don't want this row                                              | The row is dropped.                                                      |

Use **Apply suggestions** to accept Bella's recommended action for every suggested duplicate at once, or **Skip all duplicates** to drop them. Resolved cards stay in place (dimmed) with an **Undo**, so you never lose your place.

<Frame>
  <img src="https://mintcdn.com/bellabooking/HZ2hl3yJteVvXva-/images/import-5-duplicates-resolved.png?fit=max&auto=format&n=HZ2hl3yJteVvXva-&q=85&s=7858ab3d1dfa99d6635891de2a89d711" alt="A duplicate resolved as Merged — same person with an Undo button, and a second card offering Keep both for two people who share a phone number" width="3144" height="1834" data-path="images/import-5-duplicates-resolved.png" />
</Frame>

### Fixing invalid records

Rows with a bad field appear under **Other issues to fix**. You can:

* **Fix it inline** — type straight into the First name, Email or Phone cell (the problem field is outlined in red). The row turns green and moves to *Ready to import* as soon as it's valid.
* **Drop the bad field** — e.g. **Drop phone** keeps the client but removes the unusable number.
* **Skip** the row entirely.

A **missing first name** can only be fixed (typed in) or skipped — it can't be dropped, because it's required.

<Frame>
  <img src="https://mintcdn.com/bellabooking/HZ2hl3yJteVvXva-/images/import-4-other-issues.png?fit=max&auto=format&n=HZ2hl3yJteVvXva-&q=85&s=ebc3ec23b7c045a13783eced0bab299c" alt="The Other issues to fix table showing an invalid phone, an invalid email and a missing first name, each with Drop and Skip actions" width="3144" height="1834" data-path="images/import-4-other-issues.png" />
</Frame>

### Family members

A row with a **Main Client Email** (or **Main Client Phone**) is treated as a family member of that person — so it's never flagged as a duplicate, even when it shares the primary's contact details. Family rows sit under **Ready to import** with their relationship shown, and the link is created when you import. The primary can be elsewhere in the same file or already in your account.

## 5. Import

When **Needs attention** reaches zero (or you're happy to skip what's left), click **Import**.

<Frame>
  <img src="https://mintcdn.com/bellabooking/HZ2hl3yJteVvXva-/images/import-6-ready-to-import.png?fit=max&auto=format&n=HZ2hl3yJteVvXva-&q=85&s=c118e7ae3b55596caa610e685b062a9f" alt="The preview with all duplicates resolved and the Import button highlighted" width="3144" height="1834" data-path="images/import-6-ready-to-import.png" />
</Frame>

That's it — your clients are added, and any family members are linked to their primary client.

<Frame>
  <img src="https://mintcdn.com/bellabooking/HZ2hl3yJteVvXva-/images/import-7-success.png?fit=max&auto=format&n=HZ2hl3yJteVvXva-&q=85&s=8b2f5b2e939840d2d2c6d62ca43a135a" alt="The Import successful screen confirming the clients were added" width="3144" height="1834" data-path="images/import-7-success.png" />
</Frame>

## Tips

* **Re-importing is safe.** Run the same file again and the rows you already added show up as duplicates (**Already in your account**) for you to merge or skip — Bella won't silently create copies.
* **Fix offline if you prefer.** Use **Download Invalid Rows** to get just the problem rows as a CSV, correct them in your spreadsheet, and re-upload.

***

# Part 3 — Import your services into Bella Booking

Now bring your **service menu** CSV (the file you downloaded from Fresha) into Bella. The wizard works the same way as the client import, and any categories in your file are created for you automatically.

## What Bella recognises

Bella matches common header names automatically. The required fields are **Service name**, **Category**, **Price** and **Duration**.

| Column                              | What it's for                                                         |
| ----------------------------------- | --------------------------------------------------------------------- |
| **Service name** *(required)*       | The name of the service.                                              |
| **Category** *(required)*           | The menu category. **Created automatically** if it doesn't exist yet. |
| **Price** *(required)*              | The service price (e.g. `50.00`).                                     |
| **Duration (minutes)** *(required)* | How long the service takes, in whole minutes (e.g. `30`).             |
| **Description**                     | An optional description shown to clients.                             |

## 1. Open the importer

On the **Services** page (**Catalogue → Services**), click **Import** (top right, next to **Export** and **Add Category**). You'll need the **Manage catalogue** permission.

<Frame>
  <img src="https://mintcdn.com/bellabooking/KGJ8Hy1-fTMfP743/images/import-svc-0-import-button.png?fit=max&auto=format&n=KGJ8Hy1-fTMfP743&q=85&s=243ec8d3fbda860670f1247da4f0a6a3" alt="The Services page with the Import button highlighted" width="3144" height="1834" data-path="images/import-svc-0-import-button.png" />
</Frame>

## 2. Upload your file

Drag your CSV onto the upload area, or click **Choose a CSV file**. No file yet? Click **Download template** for a ready-made CSV with the right headers.

## 3. Match your columns

Bella auto-matches each of its fields to a column in your file. Check the matches (the required fields are marked with a red asterisk), then click **Next**.

<Frame>
  <img src="https://mintcdn.com/bellabooking/KGJ8Hy1-fTMfP743/images/import-svc-1-column-matching.png?fit=max&auto=format&n=KGJ8Hy1-fTMfP743&q=85&s=3a75f97c4b7289433c7ffb30eab82da3" alt="Service column matching with every field auto-matched and the Next button highlighted" width="3144" height="1834" data-path="images/import-svc-1-column-matching.png" />
</Frame>

## 4. Review and fix errors

Bella validates every row and splits the results into two tabs:

* **Ready to Import** — rows that will be added, with their category, price and duration.
* **Validation Errors** — rows that can't be imported yet.

<Frame>
  <img src="https://mintcdn.com/bellabooking/vmzQ-tdLo6ZMPWYe/images/import-svc-2-ready.png?fit=max&auto=format&n=vmzQ-tdLo6ZMPWYe&q=85&s=f6161f738be2a70717c8e1106b0dc694" alt="Service preview showing the Ready to Import and Validation Errors tabs" width="3144" height="1834" data-path="images/import-svc-2-ready.png" />
</Frame>

Open the **Validation Errors** tab to see exactly what's wrong with each row — for example a missing price, or the same service name appearing twice. Service imports don't have an inline editor: click **Download Invalid Rows** to get just those rows as a CSV, fix them in your spreadsheet, and re-upload.

<Frame>
  <img src="https://mintcdn.com/bellabooking/vmzQ-tdLo6ZMPWYe/images/import-svc-3-errors.png?fit=max&auto=format&n=vmzQ-tdLo6ZMPWYe&q=85&s=7dd1d328d0889559fc3416d83c81cf25" alt="The Validation Errors tab listing a row with a missing price and a duplicate service name, with Download Invalid Rows highlighted" width="3144" height="1834" data-path="images/import-svc-3-errors.png" />
</Frame>

<Note>A service whose name already exists in your catalogue is also flagged here, so re-running an import never creates duplicate services.</Note>

## 5. Import

Click **Import**. Your services are added, and any new categories are created for you.

<Frame>
  <img src="https://mintcdn.com/bellabooking/vmzQ-tdLo6ZMPWYe/images/import-svc-4-success.png?fit=max&auto=format&n=vmzQ-tdLo6ZMPWYe&q=85&s=bd2c645cb63db17513861f2fa5b809ad" alt="The Import successful screen confirming the services were added" width="3144" height="1834" data-path="images/import-svc-4-success.png" />
</Frame>

***

# Part 4 — Import your products into Bella Booking

Finally, bring your **products** CSV into Bella.

## What Bella recognises

Bella matches common header names automatically. The required fields are **Product name** and **Unit price** — everything else is optional.

| Column                        | What it's for                                                |
| ----------------------------- | ------------------------------------------------------------ |
| **Product name** *(required)* | The name of the product.                                     |
| **Unit price** *(required)*   | The retail price per unit (e.g. `24.00`).                    |
| **Brand name**                | The brand or manufacturer.                                   |
| **Purchase cost**             | What you pay per unit — used for stock and margin reporting. |
| **SKU**                       | Your stock-keeping-unit identifier.                          |
| **Barcode**                   | The product barcode.                                         |
| **Description**               | An optional description.                                     |

## 1. Open the importer

On the **Products** page (**Catalogue → Products**), click **Import** (top right, next to **Add product**). You'll need the **Manage products** permission.

<Frame>
  <img src="https://mintcdn.com/bellabooking/KGJ8Hy1-fTMfP743/images/import-prod-0-import-button.png?fit=max&auto=format&n=KGJ8Hy1-fTMfP743&q=85&s=03b62622a1b382538fac3ee7807adebd" alt="The Products page with the Import button highlighted" width="3144" height="1834" data-path="images/import-prod-0-import-button.png" />
</Frame>

## 2. Upload your file

Drag your CSV onto the upload area, or click **Choose a CSV file**. No file yet? Click **Download template** for a ready-made CSV with the right headers.

## 3. Match your columns

Bella auto-matches each of its fields to a column in your file. Check the matches (**Product name** and **Unit price** are required), then click **Next**.

<Frame>
  <img src="https://mintcdn.com/bellabooking/KGJ8Hy1-fTMfP743/images/import-prod-1-column-matching.png?fit=max&auto=format&n=KGJ8Hy1-fTMfP743&q=85&s=bcf3c5f69983b0fb39d7fbbd7270b120" alt="Product column matching with every field auto-matched and the Next button highlighted" width="3144" height="1834" data-path="images/import-prod-1-column-matching.png" />
</Frame>

## 4. Review and fix errors

Bella validates every row and splits the results into two tabs:

* **Ready to Import** — rows that will be added, with their brand, price, cost, SKU and barcode.
* **Validation Errors** — rows that can't be imported yet.

<Frame>
  <img src="https://mintcdn.com/bellabooking/KGJ8Hy1-fTMfP743/images/import-prod-2-ready.png?fit=max&auto=format&n=KGJ8Hy1-fTMfP743&q=85&s=c7a9b45901cb1d489c3ae4566f06db18" alt="Product preview showing the Ready to Import and Validation Errors tabs" width="3144" height="1834" data-path="images/import-prod-2-ready.png" />
</Frame>

Open the **Validation Errors** tab to see what's wrong with each row — for example a missing price, or the same product name appearing twice. Product imports don't have an inline editor: click **Download Invalid Rows** to get just those rows as a CSV, fix them in your spreadsheet, and re-upload.

<Frame>
  <img src="https://mintcdn.com/bellabooking/KGJ8Hy1-fTMfP743/images/import-prod-3-errors.png?fit=max&auto=format&n=KGJ8Hy1-fTMfP743&q=85&s=8e8efb1161865839438f79f2e5ae28a0" alt="The Validation Errors tab listing a row with a missing unit price and a duplicate product name, with Download Invalid Rows highlighted" width="3144" height="1834" data-path="images/import-prod-3-errors.png" />
</Frame>

<Note>A product whose name already exists in your catalogue is also flagged here, so re-running an import never creates duplicate products.</Note>

## 5. Import

Click **Import** and your products are added to your catalogue.

<Frame>
  <img src="https://mintcdn.com/bellabooking/KGJ8Hy1-fTMfP743/images/import-prod-4-success.png?fit=max&auto=format&n=KGJ8Hy1-fTMfP743&q=85&s=870865e59f1821be98b5a9f8f6f32b2f" alt="The Import successful screen confirming the products were added" width="3144" height="1834" data-path="images/import-prod-4-success.png" />
</Frame>

***

**Switching from a different platform too?** The Bella import steps above are identical for any system — see [Switching from Other Software](/getting-started/switching-from-other-software) for export steps for Vagaro, Phorest, Mindbody, Square and more.
