---
title: How do I import product data?
description: "You can create or update products using their SKU as the unique identifier. Creating Products: To create a new product, the following fields are required: Parent SKU Name Price Category Path Updating"
---

[Skip to content](https://resources.symphonycommerce.io/knowledge-base/how-do-i-import-product-data-1#main-content)

[File a Ticket](https://resources.symphonycommerce.io/knowledge-base/kb-tickets/new?hsLang=en) [Go to Customer Portal](https://clienthub.symphonycommerce.io/tickets-view?hsLang=en)

[![symphony-commerce-logo-mark-white-rgb-1500px-w-350ppi](https://resources.symphonycommerce.io/hs-fs/hubfs/Design/Logo/symphony-commerce-logo-mark-white-rgb-1500px-w-350ppi.png?width=40&height=40&name=symphony-commerce-logo-mark-white-rgb-1500px-w-350ppi.png)](https://resources.symphonycommerce.io/knowledge-base?hsLang=en)

- [WHY SYMPHONY?](https://www.symphonycommerce.io/pages/why-shopblocks)
  
  Show submenu for WHY SYMPHONY?

    - [EXCLUSIVELY B2B ECOMMERCE](https://www.symphonycommerce.io/pages/why-shopblocks#exclusivelyB2B)
    - [LIMITLESS INTEGRATION](https://www.symphonycommerce.io/pages/why-shopblocks#ftv)
    - [FASTEST TIME TO VALUE](https://www.symphonycommerce.io/pages/why-shopblocks#limitlessIntegration)
    - [SEAMLESS MIGRATION](https://www.symphonycommerce.io/pages/why-shopblocks#seamlessMigration)
- [CUSTOMER SUCCESS](https://www.symphonycommerce.io/pages/customer-success)
  
  Show submenu for CUSTOMER SUCCESS

    - [CASE STUDIES](https://www.symphonycommerce.io/pages/case-studies)
- [FEATURES](https://www.symphonycommerce.io/pages/features-in-focus)
  
  Show submenu for FEATURES

    - [NEXUS – WHITE LABEL STOREFRONT PLATFORM](https://www.symphonycommerce.io/pages/nexus)
    - [INTEGRATIONS](https://www.symphonycommerce.io/pages/api-integrations-to-power-up-your-ecommerce)
    - [FORTIS – SMARTER DISCOUNTS FOR BIGGER B2B DEALS](https://www.symphonycommerce.io/pages/fortis)
    - [SYMPHONY PAY – TRUSTED PAYMENT OPTIONS FOR MODERN B2B COMMERCE](https://www.symphonycommerce.io/pages/symphony-pay)
- [PRICING](https://www.symphonycommerce.io/pages/pricing)
- [PARTNERSHIPS](https://www.symphonycommerce.io/pages/ensemble)
- [INSIGHTS HUB](https://resources.symphonycommerce.io/blog)

Open main navigation

Close main navigation

- [WHY SYMPHONY?](https://www.symphonycommerce.io/pages/why-shopblocks)
  
  Show submenu for WHY SYMPHONY?

    - [EXCLUSIVELY B2B ECOMMERCE](https://www.symphonycommerce.io/pages/why-shopblocks#exclusivelyB2B)
    - [LIMITLESS INTEGRATION](https://www.symphonycommerce.io/pages/why-shopblocks#ftv)
    - [FASTEST TIME TO VALUE](https://www.symphonycommerce.io/pages/why-shopblocks#limitlessIntegration)
    - [SEAMLESS MIGRATION](https://www.symphonycommerce.io/pages/why-shopblocks#seamlessMigration)
- [CUSTOMER SUCCESS](https://www.symphonycommerce.io/pages/customer-success)
  
  Show submenu for CUSTOMER SUCCESS

    - [CASE STUDIES](https://www.symphonycommerce.io/pages/case-studies)
- [FEATURES](https://www.symphonycommerce.io/pages/features-in-focus)
  
  Show submenu for FEATURES

    - [NEXUS – WHITE LABEL STOREFRONT PLATFORM](https://www.symphonycommerce.io/pages/nexus)
    - [INTEGRATIONS](https://www.symphonycommerce.io/pages/api-integrations-to-power-up-your-ecommerce)
    - [FORTIS – SMARTER DISCOUNTS FOR BIGGER B2B DEALS](https://www.symphonycommerce.io/pages/fortis)
    - [SYMPHONY PAY – TRUSTED PAYMENT OPTIONS FOR MODERN B2B COMMERCE](https://www.symphonycommerce.io/pages/symphony-pay)
- [PRICING](https://www.symphonycommerce.io/pages/pricing)
- [PARTNERSHIPS](https://www.symphonycommerce.io/pages/ensemble)
- [INSIGHTS HUB](https://resources.symphonycommerce.io/blog)
- [File a Ticket](https://resources.symphonycommerce.io/knowledge-base/kb-tickets/new)
- [Go to Customer Portal](https://clienthub.symphonycommerce.io/tickets-view)
- [VISIT OUR WEBSITE](https://www.symphonycommerce.io/)

[VISIT OUR WEBSITE](https://www.symphonycommerce.io/)

 How can we help you?

- There are no suggestions because the search field is empty.

1. [Symphony Knowledge Base](https://resources.symphonycommerce.io/knowledge-base?hsLang=en)
2. [Products](https://resources.symphonycommerce.io/knowledge-base/products?hsLang=en)
3. [Products](https://resources.symphonycommerce.io/knowledge-base/products?hsLang=en#products)

# How do I import product data?

#### **1. Creating and Updating Products by SKU**

You can create or update products using their **SKU** as the unique identifier.

- **Creating Products:** To create a new product, the following fields are required:
  
    - **Parent**
    - **SKU**
    - **Name**
    - **Price**
    - **Category Path**
- **Updating Products:** You can update **any** product information by using the SKU only. For example:

| SKU | Price |
| --- | --- |

| SKU | Name |
| --- | --- |

| SKU | Any other field |
| --- | --- |

 

 

Do **not** include the "Parent" column if you are updating products.

#### **2. Building your CSV file**

For a smoother experience, you can export your existing products and use the file as a template for updates. Alternatively, you can create your own CSV file.

 

Anything that has a *1* can be replaced with *2, 3, 4*, and so on to create multiple values. To add more entries, simply include additional columns following the same pattern. For example, a column with *image 1* can be expanded to image *2, image 3, image 4*, etc., allowing for multiple sets of data. Please note: the heading **must** match exactly as shown below for this type of columns.

 

| Heading | Description | Value |
| --- | --- | --- |
| parent | This connects the variants to a parent product. As long as the parent is the same for all variants, it will create a single product | Number |
| sku | Product Identifier | Text |
| barcode | barcode | Text |
| mpn | MPN | Text |
| name | Product Name | Text |
| category path | Product Category | Text |
| brand name | Product Brand | Text |
| price | Product Price | Number |
| on sale | Is the product on sale? | true/false |
| sale price | Product Sale Price | Number |
| active | Is the product Active? | true/false |
| visible | Is the product Visible? | true/false |
| track stock | Does this product track stock? | true/false |
| stock | Product Stock Level | Number |
| tag `1` | Product Tag | Text |
| on website | Show in Categories, Groups and Search | true/false |
| charge tax | Charge tax on this product | true/false |
| description | Product description | Text (HTML allowed) |
| cost price | Product Cost Price | Number |
| default variant | Whether this child should be the default variant for the product | true/false |
| slug | The URL slug for this product. If a valid slug Text is not provided we will automatically convert it to a valid slug format. | slug |
| stock on order\_date | The date stock is expected to come in. | date (YYYY-MM-DD) |
| stock on order | This is used with stock\_on\_order\_date to help keep track of incoming stock | Number |
| weight | Product weight | Number |
| weight unit | Product weight unit | kg |
| can be purchased | Whether this product can be added to basket | true/false |
| has serial number | When enabled serial numbers for the product can be entered when dispatching an order | true/false |
| hide in categories | When true the product will not be visible on category pages | true/false |
| limit one per order | When true the product can only be purchased once within the same order | true/false |
| meta description | The description content to show on search engines. | Text |
| meta title | The title of the product's page on search engines. Defaults to the product name if not provided. | Text |
| preorder unavailable | If you store is configured to allow pre-orders and preorder\_unavailable is set to false, customers wont be able to pre order this product | true/false |
| promo text | The promotional text content to be applied to the product. | Text (HTML allowed) |
| publish date | A date in the future the product should be published on in UTC time. Set to null or don't provide this property to publish immediately. Any value provided other than null will be overridden if active is set to true. | YYYY-MM-DD HH-MM-SS |
| use canonical url | When true the same canonical URL will be used for all variants | true/false |
| canonical override | Set the canonical URL of this product (Optional. Advanced SEO feature - use with caution) | slug |
| image `1` | Product Image URL. You can create as many columns as you need by increasing the number by one. For example: Image 2, Image 3 | URL |
| attribute:`name` | Substitute 'name' for the name of your attribute. For example Size. | Text |
| quantity increment `1` : min | This will set "Can buy any quantity" to false and create an Increment | number |
| quantity increment `1` : max | This will set "Can buy any quantity" to false and create an Increment | number |
| quantity increment `1` : increment | This will set "Can buy any quantity" to false and create an Increment | number |
| custom field:`cf_field` | Substitute 'cf\_field1' for the name of your custom field. For example cf\_region. | Text |

 

If you would like to add/update **tabbed content** or **customisations**,  you can add multiple of them by adding more columns. Each additional tabbed content / customisation section follows the same format, with an increasing number to differentiate them. For example, beyond customisation 1 : label, customisation 1 : type, you can add customisation 2 : label, customisation 2 : type, customisation 3 : label, customisation 3 : type, and so on. Simply continue this pattern to accommodate as many customisation sections as needed.

**Please avoid updating customisation fields via the importer if Advanced Options are in use.** 

| Heading | Description | Value |
| --- | --- | --- |
| tabbed content `1` : name | The title of the tab. | Text |
| tabbed content `1`: type | The type of content to be displayed. | video\_carousel description promo\_text reviews tech\_spec text |
| tabbed content `1` : content | The content to show within the tab. Only applicable when using the type text | Text (HTML allowed) |
| secondary image `1` : name | The title of the block. Will be displayed on the product page. | Text |
| secondary image `1` : description | Text content to be displayed along with the secondary image. | Text |
| secondary image `1` : url | Image URL | URL |
| video carousel `1` : id | The ID of the video. For Youtube, this is the v query parameter. | Text |
| video carousel `1` : type | The source type of the video, either Youtube or Vimeo | Youtube/Vimeo |
| video carousel `1` : name | The name of the video. Will not be displayed on the product page. | Text |
| video carousel `1` : url | The full URL to the video | URL |
| video carousel `1` : thumbnail | The thumbnail to use for the video. Displayed when multiple videos are within the carousel. | image URL |
| customisation `1` : label | The label of the customisation. | Text |
| customisation `1` : type | The type of customisation | text text\_font textarea\_font textarea select checkbox product product\_list file range distance |
| customisation `1` : placeholder | The placeholder to be displayed for the input. Only available for customisation types: text, text\_font, textarea\_font, textarea | Text |
| customisation `1` : modifier type | The method used to add the cost of the customisation to the products price. Only available for customisation types: text, text\_font, textarea\_font, textarea, select, checkbox, file, range | add multiply add\_end multiply\_end |
| customisation `1` : price modifier | The amount to adjust the products price by when this customisation is purchased. Only available for customisation types: text, text\_font, textarea\_font, textarea, select, checkbox, file | Number |
| customisation `1` : list type | The type of input displayed on the product page. | select radio |
| customisation `1` : value | The product ID to use. Only available for customisation types: product | Number |
| customisation `1` : values `1` : name | The option that will be displayed in the Select. Only available for customisation types: Select | Text |
| customisation `1` : values `1` : price modifier | The amount to adjust the products price by when this value is selected. | Number |
| customisation `1` : extras : mandatory | Is this customisation mandatory? | on |
| customisation `1` : extras : visibility | Where can the customer see this customisation? Only available for customisation types: select | product\_page\_only basket\_page\_only both\_pages |
| customisation `1` : extras : max length | Maximum number of characters that can be inputed. Only available for customisation types: text, text\_font, textarea\_font, textarea | Number |
| customisation `1` : extras : pattern | A regex pattern that will be used to validate the users input. Only available for customisation types: text, text\_font, textarea\_font, textarea | [Regex](https://support.google.com/a/answer/1371415?hl=en) |
| customisation `1` : extras : max number of files | The maximum number of files that can be uploaded. Only available for customisation types: file | Number |
| customisation `1` : extras : once per add to basket | When enabled the customisation can only be added to one product in the customers basket. Only available for customisation types: product, product\_list | True/False |
| customisation `1` : extras : min | The minimum value that the user can enter. Only available for customisation types: range | Number |
| customisation `1` : extras : max | The maximum value that the user can enter. Only available for customisation types: range | Number |
| customisation `1` : extras : step | The increment that the input value will be increased or decreased by when using the arrows on a number input. Only available for customisation types: range | Number |
| customisation `1` : extras : default | The default value for the input. Only available for customisation types: range | Number |

 

**You can access and download a template [here](https://docs.google.com/spreadsheets/d/1D9F3xlvLsKCblLNXCQ5kZPxnqF9C0NpyH7jF39GAsmA/edit?usp=sharing)**

#### **3. Uploading Your File**

Once your CSV file is ready:

1. Go to the products index page
   
   ![](https://resources.symphonycommerce.io/hs-fs/hubfs/image-png-Mar-26-2025-12-25-12-6166-PM.png?width=400&height=108&name=image-png-Mar-26-2025-12-25-12-6166-PM.png)
2. Click on import
   
   ![](https://resources.symphonycommerce.io/hs-fs/hubfs/image-png-Mar-26-2025-12-25-41-4592-PM.png?width=484&height=500&name=image-png-Mar-26-2025-12-25-41-4592-PM.png)
3. Select Products
   
   ![](https://resources.symphonycommerce.io/hs-fs/hubfs/image-png-Mar-26-2025-12-26-19-0294-PM.png?width=670&height=600&name=image-png-Mar-26-2025-12-26-19-0294-PM.png)
4. Upload file (up to 100K rows, up to 100MB)
   
   ![](https://resources.symphonycommerce.io/hs-fs/hubfs/image-png-Mar-26-2025-12-27-07-0672-PM.png?width=670&height=395&name=image-png-Mar-26-2025-12-27-07-0672-PM.png)
5. If your column headings match our required values, they will be **automatically mapped**.
6. If you're importing a sheet from another inventory system (e.g., for a price update), you can **import the file as-is** and manually map the columns. This flexibility allows for seamless integration without reformatting your existing file. 
   
   ![](https://resources.symphonycommerce.io/hs-fs/hubfs/image-png-Mar-26-2025-12-30-37-1498-PM.png?width=670&height=323&name=image-png-Mar-26-2025-12-30-37-1498-PM.png)

Options will appear disabled if the format is incorrect. For instance, this can occur if a text Text is present in your price column when a numerical value is expected, or if a field is already in use.

Once you are happy with the mapping move to the next step 

![](https://resources.symphonycommerce.io/hs-fs/hubfs/image-png-Mar-26-2025-12-33-56-4436-PM.png?width=670&height=323&name=image-png-Mar-26-2025-12-33-56-4436-PM.png)

 

#### **5. Reviewing Your Import**

After mapping your columns, you’ll see a preview of how your products will be processed:

- **Updated:** SKU exists and format is correct.
- **Created:** SKU does not exist, and all required fields for creation are present.
- **Ignored:** SKU does not exist, and the required **Parent** column is missing.

![](https://resources.symphonycommerce.io/hs-fs/hubfs/image-png-Mar-28-2025-09-55-34-4059-AM.png?width=670&height=310&name=image-png-Mar-28-2025-09-55-34-4059-AM.png)

#### **6. Start the Import!**

Once everything looks good, hit **Start Import** and let the system handle the rest! 🎉

#### **7. Downloading the Import Report**

Once the import is complete, you can download a report to check if anything went wrong. The report will provide details on any errors or issues encountered during the import process, allowing you to make necessary adjustments and re-import if needed.

![](https://resources.symphonycommerce.io/hs-fs/hubfs/image-png-Mar-26-2025-12-39-00-7968-PM.png?width=406&height=104&name=image-png-Mar-26-2025-12-39-00-7968-PM.png)

 

- [Getting started](https://resources.symphonycommerce.io/knowledge-base/getting-started?hsLang=en)
- [Settings](https://resources.symphonycommerce.io/knowledge-base/settings?hsLang=en#main-content)

    - [Payment Methods](https://resources.symphonycommerce.io/knowledge-base/settings?hsLang=en#payment-methods)
    - [Redirects](https://resources.symphonycommerce.io/knowledge-base/settings?hsLang=en#redirects)
    - [Deliveries](https://resources.symphonycommerce.io/knowledge-base/settings?hsLang=en#deliveries)
    - [Notifications And Emails](https://resources.symphonycommerce.io/knowledge-base/settings?hsLang=en#notifications-and-emails)
    - [Users](https://resources.symphonycommerce.io/knowledge-base/settings?hsLang=en#users)
    - [Site Settings](https://resources.symphonycommerce.io/knowledge-base/settings?hsLang=en#site-settings)
    - [Varnish Cache](https://resources.symphonycommerce.io/knowledge-base/settings?hsLang=en#varnish-cache)
    - [Tracking, SEO And Javascript](https://resources.symphonycommerce.io/knowledge-base/settings?hsLang=en#tracking-seo-and-javascript)
- [Reports](https://resources.symphonycommerce.io/knowledge-base/reports?hsLang=en)
- [BlockLab](https://resources.symphonycommerce.io/knowledge-base/blocklab?hsLang=en)
- [Content](https://resources.symphonycommerce.io/knowledge-base/content?hsLang=en#main-content)

    - [Pages](https://resources.symphonycommerce.io/knowledge-base/content?hsLang=en#pages)
    - [Menus](https://resources.symphonycommerce.io/knowledge-base/content?hsLang=en#menus)
    - [Strings](https://resources.symphonycommerce.io/knowledge-base/content?hsLang=en#strings)
    - [Blogs / News](https://resources.symphonycommerce.io/knowledge-base/content?hsLang=en#blogs-news)
    - [Snippets](https://resources.symphonycommerce.io/knowledge-base/content?hsLang=en#snippets)
    - [Forms](https://resources.symphonycommerce.io/knowledge-base/content?hsLang=en#forms)
    - [Downloads](https://resources.symphonycommerce.io/knowledge-base/content?hsLang=en#downloads)
- [Products](https://resources.symphonycommerce.io/knowledge-base/products?hsLang=en#main-content)

    - [Groups](https://resources.symphonycommerce.io/knowledge-base/products?hsLang=en#groups)
    - [Categories](https://resources.symphonycommerce.io/knowledge-base/products?hsLang=en#categories)
    - [Brands](https://resources.symphonycommerce.io/knowledge-base/products?hsLang=en#brands)
    - [Reviews](https://resources.symphonycommerce.io/knowledge-base/products?hsLang=en#reviews)
    - [Products](https://resources.symphonycommerce.io/knowledge-base/products?hsLang=en#products)
    - [Stock](https://resources.symphonycommerce.io/knowledge-base/products?hsLang=en#stock)
    - [Catalogues](https://resources.symphonycommerce.io/knowledge-base/products?hsLang=en#catalogues)
    - [Customisations](https://resources.symphonycommerce.io/knowledge-base/products?hsLang=en#customisations)
- [Discounts](https://resources.symphonycommerce.io/knowledge-base/discounts?hsLang=en#main-content)

    - [Discounts Fortis](https://resources.symphonycommerce.io/knowledge-base/discounts?hsLang=en#discounts-fortis)
- [Plugins](https://resources.symphonycommerce.io/knowledge-base/plugins?hsLang=en#main-content)

    - [Google Shopping Feed](https://resources.symphonycommerce.io/knowledge-base/plugins?hsLang=en#google-shopping-feed)
    - [One-Time Passcode](https://resources.symphonycommerce.io/knowledge-base/plugins?hsLang=en#one-time-passcode)
    - [Out Of Stock Notify](https://resources.symphonycommerce.io/knowledge-base/plugins?hsLang=en#out-of-stock-notify)
    - [Auto Tags](https://resources.symphonycommerce.io/knowledge-base/plugins?hsLang=en#auto-tags)
    - [Compare Products](https://resources.symphonycommerce.io/knowledge-base/plugins?hsLang=en#compare-products)
    - [Business Customers](https://resources.symphonycommerce.io/knowledge-base/plugins?hsLang=en#business-customers)
    - [Stickers](https://resources.symphonycommerce.io/knowledge-base/plugins?hsLang=en#stickers)
    - [Custom Fields](https://resources.symphonycommerce.io/knowledge-base/plugins?hsLang=en#custom-fields)
    - [B2B Sales](https://resources.symphonycommerce.io/knowledge-base/plugins?hsLang=en#b2b-sales)
    - [Auto Checkout](https://resources.symphonycommerce.io/knowledge-base/plugins?hsLang=en#auto-checkout)
    - [Tempus](https://resources.symphonycommerce.io/knowledge-base/plugins?hsLang=en#tempus)
- [Orders](https://resources.symphonycommerce.io/knowledge-base/orders?hsLang=en#main-content)

    - [Returns](https://resources.symphonycommerce.io/knowledge-base/orders?hsLang=en#returns)
- [Customers](https://resources.symphonycommerce.io/knowledge-base/customers?hsLang=en)
- [My Account](https://resources.symphonycommerce.io/knowledge-base/my-account?hsLang=en)
- [Marketing](https://resources.symphonycommerce.io/knowledge-base/marketing?hsLang=en#main-content)

    - [Merchandising](https://resources.symphonycommerce.io/knowledge-base/marketing?hsLang=en#merchandising)
    - [Email](https://resources.symphonycommerce.io/knowledge-base/marketing?hsLang=en#email)

[![symphony-commerce\_logo-mark](https://resources.symphonycommerce.io/hubfs/logo-mark-symphony-commerce-black-ergb.svg "symphony-commerce_logo-mark")](http://www.symphonycommerce.io)

1 St Peter's Square  
 Stockport, SK1 1NZ

[support@symphonycommerce.io](mailto:support@symphonycommerce.io)

[(+44)161 399 7467](tel:01613997467)

<https://www.linkedin.com/company/symphonycommerce> <https://www.youtube.com/@symphonycommerce>

Copyright © 2026, Symphony Commerce