Import many customers with a correct CSV file and consciously choose which existing data may be changed.
This guide is for store administrators with customer import and customer login in Plus or Pro. In multi-store systems, the import is done in the main store. The import uses fixed columns and applies regardless of the store's theme. Customer registry, login account, purchasing rights, and newsletter permission are different things.
1. Check personal data and update risks
Remove duplicate rows and check for unique identifiers in the file before importing. Start with a small, reconciled sample and save the result. In case of an interruption: first check which customer cards have already been created or changed; do not re-run the entire file on the assumption that nothing was saved. The backup should also include groups and store access if these need to be restorable.
Only import personal data that you have a legal basis and a clear purpose for processing. Consent is not the only possible basis for a customer registry; for example, a contract may be relevant for necessary customer administration. A registry import does not in itself grant the right to send marketing. Read the Swedish Authority for Privacy Protection's guidance on contracts and check your basis for newsletters separately.
Back up the data before updating existing customers.
Empty fields do not generally mean “keep previous value.” Data other than passwords can be cleared. An empty custom customer number can remove the old number.
An empty password keeps an existing password; a filled-in password replaces it. Never use the customer's email address or a common example password as the password.
In a multi-store setup, the customer's store access is rebuilt upon update: the main store plus the sub-store codes specified in the file. Omitted previous sub-stores can therefore lose their customer connection. Specify all sub-store codes that the customer should retain and check the actual store access after the import.
An empty customer group keeps existing groups. Specified group names replace the customer's group membership; unknown names can create new groups.
2. Build the file with the correct columns
Open Customers → Import and compare it with the property list in your specific store. A standard store has 20 columns; a multi-store has 21. All column positions must be present even when a value is left empty. The Store Codes column only exists in a multi-store setup and shifts the last three columns one step to the right.
Order | Property | Value and meaning |
1–3 | First name, Last name, Email | The customer's details; only one email address per customer card. |
4–5 | Company/organization, Personal/Org. no. | Company name for a business customer. Leave the personal/organization number empty if it is not needed. |
6–9 | Address, Postal code, City, Country | Specify the correct country explicitly, for example, Sweden or the ISO country code SE. An empty country uses the administration language's default country, not always Sweden. |
10–11 | Phone day, Phone evening | Can be left empty. |
12 | Customer group | Group name; multiple names are separated by commas in the same field. |
13 | Username | Unique username for login; the email address can be used. A record card without a username is not a functional login account. |
14 | Password | Leave empty to keep the existing password. The import does not send an automatic account invitation. For new accounts, use the store's regular registration or password reset flow and check the result. |
15 | Approved buyer | 1 for yes, 0 for no. A one does not replace the requirement for a functional login. |
16 | Preferred supplier | The supplier's name for the Partner feature; otherwise, leave empty. |
17 | Customer type |
|
18, multi-store only | Store codes | The sub-stores' codes, comma-separated in one field. Remove this entire column in a regular store. |
18 / 19 | Custom customer number | A specified number must be unique. Pay special attention to empty values when updating. |
19 / 20 | Wants newsletter | 1 for yes, 0 for no, based on the customer's actual permission and your right to send. |
20 / 21 | Language | For example, sv/swe or en/eng. The full list of languages is in the import view. |
Two CSV examples
The examples below are fictitious records without login, purchasing rights, or newsletters. They are examples of column placement, not accounts to be reused. Change the values and check the identities against your store before importing.
Regular store, 20 columns:
Amina;Exempel;amina@example.invalid;;;;;;Sweden;;;;;;0;;person;EX1001;0;sv
Multi-store, 21 columns. Replace BUTIK_A and BUTIK_B with actual sub-store codes:
Amina;Exempel;amina@example.invalid;;;;;;Sweden;;;;;;0;;person;BUTIK_A,BUTIK_B;EX1001;0;sv
You can also start from the spreadsheet template, but always check against the current column list. Remove the header row before importing.
3. Save as semicolon-separated CSV
Open the file in a spreadsheet program. Check the columns as well as å, ä, ö, and other special characters. If the text is incorrectly encoded: close without saving and open with the correct character encoding. See Microsoft's instructions for text files.
Remove any header row and empty rows. The first row must be a customer.
In LibreOffice Calc: select File → Save As → Text CSV (.csv).
Check Edit filter settings and save.
Select Unicode (UTF-8), field delimiter semicolon (;) and text delimiter quotation mark ("). Click OK. Commas inside the customer group or store code field should not create more columns.
4. Select import settings and review the result
Before importing, check that the username, email, and customer number on each row belong to the same customer card. An existing username is prioritized; a deviating email address is not reliably stopped as an identity conflict. Without a username match, the email or customer number may instead select an existing card. Therefore, do not leave identifiers empty in an attempt to create a new customer. Stop and correct the file if the identifiers do not point to the same person or company.
Check each sub-store code against the actual store's code before importing. Specify all sub-stores that the customer should retain. An unknown code might be skipped without a clear row error while previous store connections are removed. Therefore, check the updated customers' actual store access after the import, even if the summary shows that the rows were updated.
Go to Customers → Import in the main store and select the file.
Select Update the information or Ignore for existing customers. Check the priority of the identifiers and that they belong to the same customer card as per the check above. Correct any conflicts before importing.
Select private person or business customer as a fallback value if the file's customer type does not specify a valid type.
First, test a small, limited file in an environment where you are allowed to modify the customer registry. Click the import button once the file and update choices have been reviewed.
Read the result and open the affected customer cards. Check identity, groups, sub-store access, purchasing rights, and newsletter selections before proceeding with a larger import.
A successful result is displayed as a summary:
In case of validation errors, the row and property are displayed. Pay special attention to any remaining header row, the number of columns, person/company, and identity conflicts. Correct the file before trying again. Read the result before rerunning after an interruption or operational error; a general promise that all types of errors will leave the registry untouched should not be assumed.
If you only have email addresses
All columns are still needed. Do not put the email address in the password field and do not create made-up customer details to get an account. A registry entry and a login account have different requirements. Check the mandatory values that your import view displays and whether the customer's own newsletter registration is the right way to go. Do not import purchased or collected address lists without the right to process the data and send to the recipients.
Older spreadsheet images below show the column layout. Follow the corrected rules above: using an email as a password is not appropriate, person is the customer type for a private person, and a newsletter entry should not automatically get purchasing rights.
Quick start
Check the legal basis, package, and main store.
Build 20 or 21 fixed columns and review empty fields and update risks.
Save as UTF-8 CSV with semicolons, without a header row.
Select import settings and check a limited result before a larger import.
Subscription and access
Customer import and customer login apply to Plus/Pro in the current package. Multi-store import is done from the main store and requires the correct sub-store codes. Check your actual feature access if you have an older or special agreement.






