Skip to main content

How to Import and Export Customer Data

How to import customer information using a CSV file, update customer records in bulk, and export your customer list from BackOffice.

Who Is This For?


StoreHub merchants who want to import customer information in bulk using a CSV file, update existing customer records, or export their customer list from BackOffice.

Overview

This article covers how to import customers into BackOffice using a CSV file, update existing customer records via CSV re-upload, and export your full customer list. For adding customers one at a time, see this article.


Before You Begin

  • Access to BackOffice.

  • A stable internet connection.

  • A spreadsheet program (e.g. Microsoft Excel, Google Sheets, or Apple Numbers) to edit CSV files.


Step-by-Step Guide

Import Customer Information

Adding new customers? Use the template in the steps below. Updating customers you already have? Start from 'Export to CSV' instead. See 'Update Customer Information via CSV'.

1. In your BackOffice, go to 'Customers', then click 'Import CSV', then click 'Download template'.

Customers page in BackOffice with Import CSV menu and Download template button highlighted.

Example of the CSV template download action

2. Open the downloaded CSV template in your spreadsheet program and fill in the customer details according to the required fields. Leave the 'Customer Id' column blank for new customers. If a customer has more than one tag, separate the tags with a comma, for example VIP,Regular. A semicolon saves all the tags as one tag.

3. Save the file when you are done.

4. In your BackOffice, go to 'Customers', click 'Import CSV', then click 'Select File' to choose your saved CSV file and click 'Import'.

Import Customers page with Select File and Import buttons highlighted.

5. You will see the import status in the table below.

Import Tasks table with the import status highlighted.

Note:

  • BackOffice matches each row to a customer by its 'Customer Id' first. If a row has no 'Customer Id', it checks the phone number. It never uses the email or Member ID.== The only place to get a customer's 'Customer Id' is a file you download with 'Export to CSV'. It is not shown anywhere in BackOffice. The blank import template has a 'Customer Id' column too. Leave it blank for new customers. To update a customer, copy their 'Customer Id' from the 'Customer Id' column of your export, exactly as it appears. Use a recent export.

  • The 'Customer Id' is what identifies which customer a row updates. If a row has a 'Customer Id' that matches none of your customers, the row is skipped: BackOffice does not check its phone number, and does not create a customer. If a row has no 'Customer Id', BackOffice checks the phone number instead. If the number belongs to one of your customers, it can fill in details that customer does not have yet, but it never changes a detail that is already saved. To change saved details, use the 'Customer Id'.

6. Once the import is done, you will see the new customers on the Customers page. If every row went through, the import status says 'Completed'. If it says 'Error', at least one row was skipped and the other rows still went through. Download the error file from the import status table to see why each row was skipped.

What Happens to Each Row When You Import

Scenario

What System Does

What Happens Now

'Customer Id' of one of your customers

Updates that customer

Existing profile is overwritten with new data. When you import with a 'Customer Id', a blank cell clears that detail on the customer. except 'Tags'. A blank 'Tags' cell keeps the customer's tags.

'Customer Id' of a customer you merged into another one

Updates the customer it was merged into, unless the row's details differ from that customer's saved details

Example: you merged two records for the same person and kept one. A row with the old record's 'Customer Id' updates the one you kept. If the row's details differ from that customer's saved details, the row is skipped and nothing changes.

'Customer Id' that matches none of your customers

Row skipped (Error message)

"Customer Id not found". Nothing is created or updated, even if the row's phone number belongs to one of your customers. This happens with an id from an old export or from another StoreHub account.

'Customer Id' in the wrong format

Row skipped (Error message)

"Customer Id is not valid". Leave it blank for a new customer, or paste the id exactly as it appears in your export.

No 'Customer Id', phone number new

Creates the customer

System registers a brand new customer account.

No 'Customer Id', phone number used, row identical

Nothing happens ('Completed')

Safe duplicate. System ignores it as no new info is added.

No 'Customer Id', phone number used, row only adds missing details

Updates the customer ('Updated')

Fills in the blanks only. Blank cells in the row change nothing. Example: the customer has no City saved, and your row has one.

No 'Customer Id', phone number used, row changes a saved detail

Row skipped (Error message)

To change saved details, import the row with the customer's 'Customer Id'. Example: the saved address is 'Jalan A' and your row says 'Jalan B'.

No 'Customer Id', number is on two or more records

Row skipped (Error message)

Multi-duplicate collision. Must merge existing system records before importing.

If an import created a new customer even though that phone number is already saved, your account may not have the duplicate check yet. In that case, a row with no 'Customer Id' always creates a new customer. Contact StoreHub Support to ask about it.


Update Customer Information via CSV

You can edit or update your customers' details by re-uploading an updated CSV file.

1. Click 'Export to CSV' on the Customers page to download your current customer list. Use this file rather than the blank template. It already has each customer's 'Customer Id' and all their current details, so anything you do not change stays as it is. If you use the blank template instead, paste each customer's 'Customer Id' from your export and fill in every column, because a blank cell clears that detail on the customer (except 'Tags').

2. Edit the customer details you want to update in the CSV file.

Note:

  • Do not delete or rename the 'Customer Id' column while you are editing the file. It is what tells BackOffice which customer each row belongs to. Without it, BackOffice uses the phone number instead. Rows that only add missing details are updated. Rows that change a saved detail are skipped. If your account does not have the duplicate check yet, each row creates a new customer instead.

3. Save the file and re-upload it using the same Import CSV steps above.


Export Customer Data

1. In your BackOffice, go to 'Customers'.

2. Click 'Export to CSV' to download all customer details. To export only one membership tier, type that tier's tag in the 'Tags' column filter and click 'Search' before 'Export to CSV'. SH_Tier_1 is Member, SH_Tier_2 is Silver, SH_Tier_3 is Gold and SH_Tier_4 is Platinum.

BackOffice Customers page showing the Export to CSV button.

3. For 10,000 records or fewer, the file will download immediately as a CSV.

4. For more than 10,000 records, a pop-up will appear notifying you that the export will be sent to your email.

Notification pop-up explaining that large customer exports are sent by email.

Note:

  • The email will be sent to the BackOffice account email of the user who triggered the export.

5. Click 'Download CSV Export' in the email. The file will download in a zip folder format.

Email notification containing the Download CSV Export button for customer export file.

6. Extract the zip folder and open the CSV file with a spreadsheet program (e.g. Google Sheets, Numbers, or Microsoft Excel).


Fix Export Errors

If the export encounters an error, you will be notified in BackOffice and by email.

1. You will see a notification in BackOffice:

BackOffice alert showing that customer export failed and needs retry.

2. You will also receive an email notification:

Email message notifying export failure and providing a retry action.

3. Click the button in the email to retry the export.

Note:


Troubleshooting

The table below covers common problems when you import or export customers with a CSV file.

Issue

Solution

Import status shows 'Error'

Download the error CSV file from the import status table. It will indicate which rows have errors and why. Fix the errors and re-upload.
​
An import that skips even one row is marked 'Error', even when every other row went through. Download the error file to see what happened to each row - it lists every row with its result, so you can tell which ones were created or updated and which were skipped.

Import did not update existing customers

Your file is probably missing the 'Customer Id' column. Export your customers with 'Export to CSV', correct the rows in that file, and import it back. Leave the 'Customer Id' column exactly as it is.

Export button not working

Check your internet connection and try again. If the issue persists, try using a different browser or clearing your browser cache.

Did not receive export email

Check your spam or junk folder. The email is sent to the account email of the user who triggered the export. If you still cannot find it, try the export again.

CSV file shows garbled text

Make sure you are opening the CSV file with a spreadsheet program (Google Sheets, Excel, or Numbers). If special characters appear incorrectly, try opening with UTF-8 encoding.

A row was skipped and says 'more than one existing customer has this phone number'

Two or more of your customers already share that number. Go to 'Customers', click 'Review duplicates', merge them, then import the row again

A row was skipped and says 'this row differs from the existing customer with this phone number'

A customer already has that number and your row changes a detail that is already saved on that customer. A row with no 'Customer Id' can only fill in blank details. Edit that customer in BackOffice, or add their 'Customer Id' (copy it from a new 'Export to CSV' file) to the row and import again

"A row was skipped and says 'Customer Id not found'"

That 'Customer Id' does not match any of your customers, so nothing was created or updated. Export your customers again with 'Export to CSV', copy the 'Customer Id' from the new file, and import the row again. If the row is a new customer, leave its 'Customer Id' blank.

"A row was skipped and says 'this Customer Id was merged into another customer, and this row differs from that customer's saved details'"

That customer was merged into another one, and your row has different details from the customer it was merged into. Nothing was changed. Go to 'Customers', search for the customer by name or phone number, and edit the details there.


FAQs

1. Can I import just a few customers instead of my full list?

Yes. You can delete all other rows from the CSV template and import just the customers you need. The rest of your customer records will not be affected.

2. Will importing a file remove duplicate records?

The import tool itself does not merge or remove duplicates, but BackOffice now has a tool that does. Go to 'Customers' and click 'Review duplicates'. See How to Merge Duplicate Customers in BackOffice.

3. What happens if my CSV has duplicate rows for the same 'Customer Id'?

The system uses the 'Customer Id' column to match rows. If multiple rows share the same 'Customer Id', the last row in the file wins and overwrites the earlier ones. Example: if two rows have the 'Customer Id' "abc123", only the data from the last row will be saved.

4. Can I export more than 10,000 customer records?

Yes. If your customer list exceeds 10,000 records, the export will be sent to your email instead of downloading directly. Click the download link in the email to get the file.

5. Can I add customers manually instead of using a CSV?

Yes. You can add customers one at a time from BackOffice or from the POS register. See this article.


Need Help?


​Contact StoreHub Support via live chat in your StoreHub app or email [email protected].


Was This Article Helpful?
​Let us know below or contact support for further assistance.

Did this answer your question?