> For the complete documentation index, see [llms.txt](https://docs-shpf.bsscommerce.com/b2b-wholesale-solution/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs-shpf.bsscommerce.com/b2b-wholesale-solution/customer-management/registration-forms/import-and-export-registration-data.md).

# Import & Export Registration Data

Export your registered customers to CSV or Excel, or bring existing wholesale customers into a registration form from a CSV file.

Managing a growing list of wholesale customers doesn’t have to be time-consuming. **Import & export** lets you back up, transfer or sync customer data between stores — so every wholesale registration stays safe and organized.

Go to **B2B customers › Registration Forms › More actions › Import & export**. The page has an **Export** card, an **Import** card and an **Export history** table below them.

<figure><img src="https://1478990334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGolQYRPH9iUGYatlTXwl%2Fuploads%2Fgit-blob-0a05ade812d54915118e363e550a4c0d0824df6e%2Fcms-rf-importexport-01.png?alt=media" alt="Import &#x26; export hub"><figcaption><p>Import &#x26; export hub</p></figcaption></figure>

## 📦 Export registration data

Each form has its own fields, so you export **one form at a time**.

1. On the **Import & export** page, click **Export**.
2. Under **Select form to export**, choose a form and click **Continue**.
3. Under **Export**, pick which records to include:
   * **All customers in this form**
   * **Current page**
   * **Selected customers in this form** — the rows you ticked in **Applications**
   * **Matching your filters in this form** — everything your current filter returns
4. Under **Export as**, choose **CSV** or **Excel**.
5. Click **Export**. Large lists can take a little longer — stay on the page until it finishes. The file appears in **Export history** and downloads to your browser.

The file includes customer details, approval status, registration answers and tags.

{% hint style="info" %}
**Download links expire after 24 hours.** Re-download a recent file, or check whether an export finished, from **Export history** on the same page. If a link has expired, request a fresh export.
{% endhint %}

## 📥 Import registration data

Already have wholesale customers from another platform or store? Import them into a registration form from a CSV file.

{% hint style="warning" %}
Import is for **standard registration forms**. **Multi-step forms are excluded** from import.
{% endhint %}

1. On the **Import & export** page, click **Import**. If an earlier import is still running, you see its progress — wait for it to finish.
2. Under **Select form to import**, choose the registration form these customers belong to and click **Continue**. The file's columns come from that form's fields, so pick the form **before** you download the sample.
3. Click **Download a sample CSV**. It has one column per form field plus **Tags** and **Tax exempt**, and a **Data type** row and an **Example** row. Keep every column and its name exactly, even for optional fields (leave the cell empty). **Delete the Data type and Example rows** before you upload; otherwise they are read as customers and fail the check. Blank rows are skipped.
4. Fill in **one row per customer** (see the format rules below).
5. Drop the `.csv` file (maximum **10 MB**) and click **Validate and preview**. You see your first customer and roughly how many will be imported. If the file has errors, download the error file: it lists the location, the error and the message for each problem. The import button turns on once the file is clean.
6. Click **Import customers**. The import runs in the background — you can close the window and keep working. When it finishes, the status card shows how many customers were imported and gives you a file with the rows that failed.

{% hint style="info" %}
If the form uses **manual approval**, customers who meet the auto-approve conditions are approved during the import and get both the form tags and the tags from your file. Everyone else is added as **Pending** with the form tags only.
{% endhint %}

### File format rules

| Column                                          | Format                                                                                                                                                                                                                                                                                                                                           |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Email**                                       | Must be valid, unique in the file and not already registered.                                                                                                                                                                                                                                                                                    |
| **Tags**                                        | Comma-separated, each tag 40 characters or fewer.                                                                                                                                                                                                                                                                                                |
| **Tax exempt**                                  | `yes` or `no` on every row.                                                                                                                                                                                                                                                                                                                      |
| **Phone** and **Address phone**                 | International **E.164** format, valid for that country, for example `+14155550123` (a `+`, the country code, then the number with no spaces or symbols, 15 digits maximum). Drop the leading 0: UK `020 1234 5678` becomes `+442012345678`.                                                                                                      |
| **Country**                                     | 2-letter ISO code such as `US`, `GB`, `AU` or `VN` — not the country name.                                                                                                                                                                                                                                                                       |
| **State**                                       | The state or province **code** (for example `CA` for California, `BC` for British Columbia). Needs a Country in the same row. State codes exist only for 32 countries (AR, AU, BR, CA, CL, CN, CO, EG, GT, HK, IN, ID, IE, IT, JP, MY, MX, NZ, NG, PA, PE, PH, PT, RO, RU, ZA, KR, ES, TH, AE, GB, US); for any other country leave State empty. |
| **Subscribe to our newsletter**                 | `yes` or `no`.                                                                                                                                                                                                                                                                                                                                   |
| **Date fields**                                 | `YYYY-MM-DD`.                                                                                                                                                                                                                                                                                                                                    |
| **Number fields**                               | Digits only.                                                                                                                                                                                                                                                                                                                                     |
| **Dropdown selection(s)** and **Radio options** | Type the option's **Value** exactly (for example `option-1`), not its label.                                                                                                                                                                                                                                                                     |
| **Multiple checkbox**                           | Option values separated by commas, no spaces.                                                                                                                                                                                                                                                                                                    |
| **File upload**                                 | A full URL, for example `https://…`.                                                                                                                                                                                                                                                                                                             |
| **Required fields**                             | Must not be empty.                                                                                                                                                                                                                                                                                                                               |

There is no **Password** column: imported customers set their own password after approval, or log in with a one-time code.

### After the import

* An email that is already in your registered customers, or appears twice in the file, **stops the whole import**. Remove those rows and try again.
* Only customers **approved during the import** get a Shopify customer account — those on a form with auto-approval, or whose email contains one of your auto-approve texts (case-sensitive). Everyone else stays **Pending** until you approve them in **Applications**. If an approved row's email already belongs to a Shopify customer, that row fails and isn't imported.
* Column errors such as "column is missing or unsupported" mean the column names don't match your form's field labels plus **Tags** and **Tax exempt**. If you changed the form, download a new sample.
* You can still edit, review or tag imported customers afterwards.

## 🔄 Why this matters

* **Backup and security:** keep a safe copy of every wholesale registration.
* **Migration:** move your B2B customer list between stores or test environments.
* **Team collaboration:** share clean, structured data with sales or marketing teams.

{% hint style="info" %}
If you need further assistance, please feel free to reach us at [**support@bss-b2b.solutions**](mailto:support@bss-b2b.solutions) or [**Live Chat**](https://go.crisp.chat/chat/embed/?website_id=9f64b5a9-1a02-4190-93b8-8ef56b19f740).
{% endhint %}
