---
title: Importing Data
slug: oms/importing-data
docTags: 
createdAt: 2023-01-17T15:30:05.000Z
---

:::ExpandableHeading
### Introduction&#x20;

The Importer allows you to import certain data, such as Orders, Products, Customers, Gift Cards, and Subscriptions, from other popular e-commerce solutions, such as Shopify, to Chord OMS using templates.



There is also a Batch Import tool for importing collections of Orders. Refer to this [document](https://app.archbee.com/docs/8bOVl7vg1M-0GKcUIBnmZ/TDlunjXzLHmK_seIl82OX) for details on the batch importer.


:::

:::ExpandableHeading
### Importing Architecture

The Importer tool in the OMS --> Importer can import four different data types:



1. Orders
2. Products
3. Customers
4. Subscriptions





::Image[]{src="https://api.archbee.com/api/optimize/TmutqdeXiIw-V3gBZXVjd/RUbd0ksAEjvUQmkQjoBOL_image-2-8-2023-at-145-pm-1.jpg" size="74" width="3017" height="1378" position="flex-start" darkWidth="3017" darkHeight="1378" showCaption="false"}



**New Import:&#x20;**&#x43;TA, Call to Action, button used to Import Data

**Type:&#x20;**&#x54;ype of Import you are performing

**State:&#x20;**&#x53;tate of the import just performed. Whether it has failed, completed or in Process&#x20;

**Date Fields:** Date of Import

**Filter Results:** To filter and narrow out your results

**Columns**: Display of information&#x20;

**ID**: Click here to see more details about the Import

**Details**: Click here to see more details about the Import. It is the same details as clicking on ID&#x20;

******

******


:::

::::ExpandableHeading
### Importing Subscription&#x20;

The importer loads data from uploaded CSV files. Templates CSV files are available on the Importer page.





::Image[]{src="https://api.archbee.com/api/optimize/TmutqdeXiIw-V3gBZXVjd/zHI8RKkAV6-Lsn_uIR8yf_image-3-10-2023-at-1024-am.jpg" size="74" width="1056" height="242" position="flex-start" darkWidth="1056" darkHeight="242" showCaption="false"}



Click **Subscriptions**, and the OMS will download a template. 

You should copy and paste it into Google Sheets or Excel and use it as a guide.



:::hint{type="info"}
90% of failed Imports are due to bad formatting!&#x20;
:::



Once you have all your data in your file, save it and download it as a CSV file to your computer. 

Click **New Import,** select **Subscriptions** in the dropdown, and select your file. 

Click **Create**





::Image[]{src="https://api.archbee.com/api/optimize/TmutqdeXiIw-V3gBZXVjd/QR_e-NTY-9ttecdh2ADfN_screen-recording-3-10-2023-at-1047-am.gif" size="82" width="1066" height="335" position="flex-start" showCaption="false"}







***Subscriptions Fields&#x20;***



**ID:  &#x20;**&#x44;uring future imports, the importer will raise an error is OMS already has a subscription with this value. Make sure the ID is unique&#x20;

**Interval:&#x20;**&#x64;ay, week, month. This field is case sensitive. If you type DAY, you would see an error like this: *Invalid Subscription interval provided. Must be day, week, month or year*

**Currency:&#x20;**&#x45;x - USD or CAD&#x20;

**Email:&#x20;**&#x65;mail address of the subscriber/customer

**Length:&#x20;**&#x49;nterval length of the Subscription&#x20;

**Start: Not Required.**&#x20;

If Start Date is left blank, the Actionable Date in the Subscription will default to \<todays date>.

If Start Date is in the future and Actionable Date is blank: **Actionable Date** will be set to **Start Date&#x20;**&#x70;rovided

If Start Date is in the past and Actionable Date is blank: **Actionable Date** will be set to **Start Date&#x20;**&#x70;rovided

If Start Date and Actionable Date is left blank: **Actionable Date** will be blank&#x20;

**Billing First Name:&#x20;**&#x42;illing Information below

**Billing Last Name:**

**Billing Add 1:**

**Billing Add 2:**

**Billing City:**

**Billing Company:**

**Billing Zip:**

**Billing Phone:**

**Billing Country Code:**

**Billing Province Code:**

**Shipping First Name:&#x20;**&#x53;hipping Information below

**Shipping Last Name:**

**Shipping City:**

**Shipping Company:**

**Shipping Zip:**

**Shipping Phone:**

**Shipping Country Code:**

**Shipping Province Code:**

**Line Item SKU:&#x20;**&#x4D;ake sure that the Product listed is spelled exactly the same as in the OMS (Slug)

**Line iTEM QTY:&#x20;**&#x4E;umber of items in that Subscription

**Previous Installment Count:&#x20;**&#x54;he current position of a customer in a sequential subscription. **It is&#x20;*****not*****&#x20;0-indexed.**

For example, consider a subscription for an Assortment was imported. The Assortment consists of 6 different products where each month, the customer receives a different product in sequence. The subscription was imported partway through the Assortment cadence. The customer already received 4 of 6 installments. This value will be 4, meaning that the *next* installment they should receive is #5.

**State:&#x20;**&#x61;ctive or inactive - Defaults to Active if left blank.&#x20;

When you Activate a subscription, the Actionable Date will be set based on the Interval units. For example, if your Interval unit is one month, it will set it to \<today's Date + 1 month)&#x20;
This field is case-sensitive; make sure the spelling is correct, as the import will go through, but the subscription will not create.

**Pause**: True or False&#x20;

**Actionable Date: Not Required.&#x20;**&#x54;he next actionable date will be set based on the Start Date in the importer row:

**Payment Method:&#x20;**&#x54;he payment method that is associated to the subscription. That payment is required because a subscription cannot be created without a payment method (or source). By default, OMS will link the imported subscription to a dummy payment method.&#x20;

**Payment Token:&#x20;**&#x46;or payment methods that require a token, the importer will include this value in the payment source created for the payment method.

For example, if the Payment Method for a row is SolidusPaypalBraintree\::Gateway, the value in the Payment Token column is inserted in the Braintree payment source created for the imported subscription.

**Payment Token Type:**

**User ID: Not Required.&#x20;**&#x54;he Customer's ID from your legacy platform. This Customer ID will show in the Payment Source in the Subscription&#x20;

**Tag: Not Required&#x20;**&#x54;ag does not have to exist in the OMS. If you add a tag that does not exist in the OMS, the import will create it&#x20;

**Created At:&#x20;**&#x44;ate Subscription was created

**Notes: Not Required.&#x20;**&#x57;hen a Subscription Order is created, the Notes will display in Order Information.
::::

::::ExpandableHeading
### Importing Customers

The importer loads data from uploaded CSV files. Templates CSV files are available on the Importer page.





::Image[]{src="https://api.archbee.com/api/optimize/TmutqdeXiIw-V3gBZXVjd/CnEmTPhiU5VGaU9pxJMB__image-3-10-2023-at-1024-am.jpg" size="80" width="1056" height="242" position="flex-start" showCaption="false"}



Click **Customers**, and the OMS will download a template. 

You should copy and paste it into Google Sheets or Excel and use it as a guide.



:::hint{type="info"}
90% of failed Imports are due to bad formatting!&#x20;
:::



Once you have all your data in your file, save it and download it to your computer as a CSV file. 

Click **New Import,** select **Customers** in the dropdown and select your file. 

Click **Create.**



***Customers Fields&#x20;***

******

**Email:&#x20;**&#x43;ustomer's email address

**First Name:&#x20;**&#x43;ustomer's first name

**Last Name:&#x20;**&#x43;ustomer's last name

**Address 1:&#x20;**&#x43;ustomer's address

**Address 2:&#x20;**&#x43;ustomer's address

**City:&#x20;**&#x43;ustomer's city

**Zip:&#x20;**&#x43;ustomer's zip code

**Phone:&#x20;**&#x43;ustomer's phone

**Country Code:&#x20;**&#x43;ustomer's Country

**Province Code:&#x20;**&#x43;ustomer's State&#x20;

**Created At:&#x20;**&#x4D;ember Since&#x20;



::Image[]{src="https://api.archbee.com/api/optimize/TmutqdeXiIw-V3gBZXVjd/5Lx9XWcI0-IqZcJwL7o1q_image-2-6-2023-at-607-pm.jpg" size="76" width="2558" height="660" position="flex-start" showCaption="false"}




::::

::::ExpandableHeading
### Importing Orders

The importer loads data from uploaded CSV files. Templates CSV files are available on the Importer page.



::Image[]{src="https://api.archbee.com/api/optimize/TmutqdeXiIw-V3gBZXVjd/x6kI90b3hpZNxuXgBqaGg_image-3-10-2023-at-1024-am.jpg" size="76" width="1056" height="242" position="flex-start" showCaption="false"}



Click **Orders**, and the OMS will download a template. 

You should copy and paste it into Google Sheets or Excel and use it as a guide.&#x20;



:::hint{type="info"}
90% of failed Imports are due to bad formatting!
:::



Once you have all your data in your file, save it and download it to your computer as a CSV file. 

Click **New Import,** select **Orders** in the dropdown and select your file. 

Click **Create.**



***Orders Fields***



**Name:&#x20;**&#x4F;rder Number

**Processed At:&#x20;**&#x43;ompleted at date

**Currency:&#x20;**&#x44;efaults to USD

**Email:&#x20;**&#x43;ustomer's email

**Note: &#x20;**&#x4E;otes displaying in Order under Order Information

**Billing First Name:&#x20;**&#x43;ustomer's Billing information&#x20;

**Billing Last Name**

**Billing Address1**

**Billing Address2**

**Billing City**

**Billing Company**

**Billing zip**

**Billing Phone**

**Billing Country Code**

**Billing Province Code**

**Shipping  First Name:&#x20;**&#x43;ustomer's shipping info

**Shipping  Last Name**

**Shipping  Address1**

**Shipping  Address2**

**Shipping  City**

**Shipping  Company**

**Shipping  zip**

**Shipping  Phone**

**Shipping  Country Code**

**Shipping  Province Code**

**Lineitem sku:&#x20;**&#x53;KU of product in order

**Lineitem quantity:&#x20;**&#x51;uantity of SKU in order

**Lineitem price:&#x20;**&#x50;rice of that SKU

**Shipping Line Title:&#x20;**&#x53;tock Location name

**Lineitem fulfillment status:&#x20;**&#x57;hether the order is fulfilled or not&#x20;

**Shipping Line Price:&#x20;**&#xA0;flat rate applied shipping price a the line item level

**Financial Status:&#x20;**&#x50;ayment Status

**Channel:&#x20;**&#x4F;rder Channel

**Tag:&#x20;**&#x4F;rder Tag, if it doesn't exist prior the import it will be created

**Subscription Order:&#x20;**&#x49;f a Subscription order exists provide it here&#x20;

**Subscription ID: &#x20;**&#x49;f a Subscription order exists provide it here&#x20;
::::

::::ExpandableHeading
### Importing Products

The importer loads data from uploaded CSV files. Templates CSV files are available on the Importer page.



Click **Products**, and the OMS will download a template. 

You should copy and paste it into Google Sheets or Excel and use it as a guide.&#x20;



:::hint{type="info"}
90% of failed Imports are due to bad formatting!
:::

Once you have all your data in your file, save it and download it to your computer as a CSV file. Click **New Import,** select **Products** in the dropdown and select your file. 

Click **Create.**

**Handle:&#x20;**&#x53;lug in the OMS

**Title:&#x20;**&#x6E;ame of Product

**Published**: If product exists in CMS mark it as TRUE&#x20;

**Variant** **SKU**: Variant's SKU

**Variant Weight:&#x20;**&#x56;ariant's weight

**Variant Price:&#x20;**&#x56;ariant's Price

**Option1 Value:&#x20;**&#x41;s an example, Blue

**Option1 Name:&#x20;**&#x41;s an example, color

**Option2 Name:&#x20;**&#x41;s an example, weight

**Option3 Name:&#x20;**&#x41;s an example, size

**Option2 Value:&#x20;**&#x41;s an example, 5

**Option3 Value:&#x20;**&#x41;s an example, M, L, S

**Image Src:&#x20;**&#x4C;ocation of image&#x20;

**Alt Text:&#x20;**&#x41;lternative Text for product name

**Variant Image:&#x20;**&#x4C;ocation of other images for the products’ variants&#x20;




::::



:::ExpandableHeading
### FAQ/Troubleshooting

***Importing***

**Can I import, for legacy purposes, discontinued SKUs (and therefore not present in the OMS)?**
No, a SKU need to exist in the OMS to be imported.

﻿
**Would there be a better solution than temporarily re-creating defunct/discontinued products in our CMS, syncing them to the OMS, importing rows that contain them, then deleting the defunct product?**
Yes, there’s a Product CSV sample on the Importer page in the OMS.
﻿
***Failed import:***
﻿

- Subscription with import number 7 already exists: make sure that the ID is a unique ID and has never been used in previous Import
- Invalid byte sequence in UTF-8 in line 1: You aren't using a CSV file. Make sure you are using a comma separated value file to Import
- Validation failed: Amount Authorized exceeds the available credit: When importing credit, make sure that the Authorized Amount equals the Amount + Amount Due fields
- Store credit category does not exist: A Store Credit Type must exist and match the Category field when importing Store Credit. These Types can be found in Users



::Image[]{src="https://api.archbee.com/api/optimize/TmutqdeXiIw-V3gBZXVjd/ZAXsoaeNGhLbrZ4VBnswS_y5a4s9pac18hiejlsssj5image-2-7-2023-at-328-pm.jpg" size="88" width="2264" height="934" position="flex-start" showCaption="false"}
:::

