> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://support.easystore.co/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Migrate customers to EasyStore

### In this article:

1. [Introduction](#1-1-introduction)
2. [Download import template](#1-2-download-import-template)
3. [Fill in customer details](#1-3-fill-in-customers-details)
4. [About membership tier calculation](#1-4-about-membership-tier-calculation)
5. [About total spent and orders calculation](#1-5-about-total-spent-and-orders-calculation)
6. [Import template to store](#1-6-import-template-to-store)
7. [FAQ about cut-off date](#1-7-faq-about-cut-off-date)

# 1. Introduction

This guide will walk you through the steps to migrate your customer details from an external platform into EasyStore. By following these instructions, you’ll be able to seamlessly import customer information, ensuring a smooth transition and continued engagement with your customers on EasyStore.

# 2. Download import template

2.1 Log in to your [__EasyStore admin panel__](https://admin.easystore.co/) > Customers > 3 dots menu on the top right > **Import customers**.

![](https://storage.crisp.chat/users/helpdesk/website/-/b/3/4/7/b34797d9594d3000/image_9ug6vr.png =800x190)

2.2 Click on your preferred file format: **.csv** or **.xlsx** to download it to your device.

![](https://storage.crisp.chat/users/helpdesk/website/-/b/3/4/7/b34797d9594d3000/image_1nje2ci.png =800x330)

# 3. Fill in customers details

3.1 Open the file and fill in the customer details accordingly.

| Title | Specific format, if any | Remark, if any |
| ---- |
| Email |  | If edited will import as new customer |
| First Name |  |  |
| Last Name |  |  |
| Phone | Numbers only |  |
| Gender | Female / Male |  |
| Birthdate | Recommend: YYYY-MM-DD |  |
| Accepts Marketing | Yes / No | Based on customer’s selection at first purchase, not editable |
| Credit Balance | Numbers only |  |
| Point Balance | Numbers only |  |
| Group |  | Add to group only |
| Company |  |  |
| Address1 |  |  |
| Address2 |  |  |
| City |  |  |
| Zip |  |  |
| Province |  |  |
| District |  |  |
| Country Code |  |  |
| Note |  |  |
| Membership Tier Title |  | Make sure the tier has been created in Customers > Points and Membership using the exact same title. Refer [this guide](https://support.easystore.co/en/article/membership-system-1g1nkhj/) |
| Membership Start Date | Recommend: YYYY-MM-DD |  |
| Membership Expiry Date | Recommend: YYYY-MM-DD |  |
| Membership Spending Adjustment Legacy | Numbers only | Fixed legacy spending (to determine membership tier) |
| Membership Adjustment Legact Cut-Off Date | Recommend: YYYY-MM-DD | The last date which imported orders are included in system calculated legacy spending (to determine membership tier) |
| Total Spent Adjustment Legacy | Numbers only | Fixed legacy total spent |
| Total Orders Adjustment Legacy | Numbers only | Fixed legacy total number of orders |
| Sales Adjustment Legacy Cut-Off Date | Recommend: YYYY-MM-DD | The last date which imported orders are included in system calculated legacy total spent and orders |
| Blacklist Customer | Yes / No |  |

# 4. About membership tier calculation

|| 📌 Reminder: Method below only applicable if 'Membership Tier Title' column is not filled in the import template.

4.1 System will assign customer to membership tier according to customer’s spending calculated based on formula below.

```
Max (A , B) + C + D
```

Where:

* A - 'Membership Spending Adjustment Legacy'
* B - Total spent of imported orders **on and before** 'Membership Adjustment Legact Cut-Off Date'
* C - Total spent of imported orders **after** 'Membership Adjustment Legacy Cut-Off Date'
* D - Total spent of EasyStore orders

|| 📌 Reminder: All total spent are calculated following [spending reset policy](https://support.easystore.co/en/article/membership-system-1g1nkhj/#1-7-manage-spending-reset-policy).

###### Example:

__Imported customer details:__
Membership Spending Adjustment Legacy: RM400

__Imported order history:__
* 2025-02-01 : RM200
* 2025-07-31 : RM300 (cut-off date)
* 2025-08-01: RM100

__Total EasyStore orders:__ RM800
---

The spending amount used to determine membership will be:
Max (400, 200+300) + 100 + 800
= 500 + 100 + 800
= 1400

|| 📌 Reminder: Imported orders will always be imported orders and will not become EasyStore orders in next calculation.

# 5. About total spent and orders calculation

5.1 Each customer will have record of total spent and number of orders.

![](https://storage.crisp.chat/users/helpdesk/website/-/b/3/4/7/b34797d9594d3000/image_vmto7h.png =600x320)

5.2 Similarly, system will set customer’s spending based on formula below:

```
Max (A , B) + C + D
```

Where:

* A - 'Total Spent Adjustment Legacy'
* B - Total spent of imported orders **on and before** 'Sales Adjustment Legacy Cut-Off Date'
* C - Total spent of imported orders **after** 'Sales Adjustment Legacy Cut-Off Date'
* D - Total spent of EasyStore orders

5.3 The same formula applies for orders:

```
Max (A , B) + C + D
```

Where:

* A - 'Total Orders Adjustment Legacy'
* B - Total of imported orders **on and before** 'Sales Adjustment Legacy Cut-Off Date'
* C - Total of imported orders **after** 'Sales Adjustment Legacy Cut-Off Date'
* D - Total of EasyStore orders

# 6. Import template to store

6.1 Once done filled up the template, go back to Customers > click on the 3-dot menu on the top right > Import customers > **Choose file** > select the file.

![](https://storage.crisp.chat/users/helpdesk/website/-/b/3/4/7/b34797d9594d3000/image_12cbm96.png =800x330)

6.2 Double check that the fields and columns are matching > **Import**.

![](https://storage.crisp.chat/users/helpdesk/website/-/b/3/4/7/b34797d9594d3000/image_iitp9f.png =800x365)

6.3 Customers are done imported to your store.

![](https://storage.crisp.chat/users/helpdesk/website/-/b/3/4/7/b34797d9594d3000/image_af7i23.png =800x331)

# 7. FAQ about cut-off date

**7.1 Why do we need to separate legacy spending and orders before and after the cut-off date?**

This is important when migrating and importing both customers’ data and order history into EasyStore, to prevent double counting.

###### Example:

* Legacy total (in customer data) = RM1,000 (already includes Jan–Jun orders).
* Imported total (in order history) = RM1,000 (Jan–Jun) + RM500 (Jul–Aug).

__Without cut-off:__
RM1,000 (Legacy) + RM1,500 (Imported) = RM2,500 ❌ (double counting Jan–Jun).

__With cut-off:__
Max (RM1,000 legacy, RM1,000 imported before cut-off) + RM500 after cut-off = RM1,500 ✅ (actual spending)

**7.2 Which date should I use as the cut-off date?**

It is recommended that the date of exporting customers’ data from the previous platform be used as the cut-off date.

