« Back

How do I import products into my online store?

Table of contents

Introduction

You can import large amount of products into your Mozello online store via a compatible CSV file. Mozello expects certain data format, so the CSV file must be prepared according to this documentation, you can not use just any CSV file.

The import procedure is as follows:

  1. Learn about CSV file format used by Mozello.
  2. Prepare your CSV file with updated and new product data.
  3. Import your CSV file via Catalog management.

Learn about CSV file format used by Mozello

CSV stands for comma-separated values. This is a file format (.csv) that can be opened, edited and saved in spreadsheet software (Google Sheets, Excel, Numbers etc.). Different CSV files can have different data fields, however Mozello requires specific field structure described in this documentation.

The following steps are the easiest way to learn about the CSV format used by Mozello:

  1. Create at least a few typical products manually.
  2. Go to Catalog management and click Export.
  3. Open the exported CSV file and examine its structure.
  4. Read the documentation below to understand the field meanings and allowed values.
  5. Make a small modification (e.g. change Description field value) and save the file.
  6. Go to Catalog management and click Import.

Working with CSV files

We recommend that you use Google Sheets for opening the CSV file exported from Mozello, but you can also use Excel, Numbers or other spreadsheet program that can import and export CSV files.

In Google Sheets, you just open the CSV file, edit it and when you are finished, click File > Download as > Comma-separated values. Please note that Google Spreadsheet format file will be created along with the exported file and it can be used for editing, but not for import as import requires CSV file format.

In Excel you open a blank workbook and click Data > From Text/CSV. When you need to save the edited file, click File > Save a copy and then choose CSV UTF-8 format (and not Excel Workbook that is offered by default). Data can be also saved and later edited as normal Excel Workbook .xlsx file, but for import you can use only CSV UTF-8 file format.

Adding data to CSV files exported from Mozello

When a file is open in spreadsheet software, you can:

  • Observe the data columns and fields
  • Edit data in the existing rows (except for the Handle row)
  • Add new data rows while following the data format guidelines explained in this manual

You should never do the following:

  • Never change the title of columns
  • Never add new columns of your own
  • Never remove data columns
  • Never change the column order

Creating new CSV files from scratch

The files that you create from scratch or export from third party systems must be converted to follow these guidelines, before they can be used for data import into Mozello:

  • Column titles must be renamed to match Mozello format
  • Column order must be the same as in Mozello format
  • There should be no extra columns
  • All columns with mandatory data in Mozello CSV format must be present
  • Data values must follow Mozello CSV data format specification

Mozello CSV data format specification

Row types

First row of the CSV file is always a header row with field names. E.g. Handle, Language, Category, Title etc.

Besides the header row, there can be two row types:

  • Product row - represents a product
  • Product variant row - represents a product's variant (if you use variants)

Important. Every row type has its own mandatory and optional fields according to the field and value specification. Some fields are mandatory for product rows, but must be blank for product variant rows, others are mandatory for product variant rows, but must be blank for product rows.

If you have product variants or want to create CSV files from scratch or based on your own spreadsheets or CSV files then you absolutely must go through the following filed and value specification.

Fields and values

Here is a screenshot of a very basic import data file example:

Import file preview
Handle

Handles are unique identifiers of each product. Handles created during export begin with uid (e.g. uid-987654321) and should not be modified. Keeping them the same allows to update existing product rows.

Handles for newly added products must be unique for every separate product, but exactly the same for multiple variants of the very same product or different language versions of the same product.

Handles can contain only letters a-z, A-Z, digits 0-9, - and _ and must begin with a-Z, A-Z or 0-9. Maximum allowed handle length is 50 characters.

Handle is a mandatory field for all rows.

Language

Language is a two letter ISO identifier of the language. The language must be present in the website.

If left blank, then the row will be treated as the default language. If filled in then the textual fields of the row will be applied to the specified language.

More info on importing multi-lingual data

Category

Category title where product should be imported. If you want to place the product in a sub-category, then category name can have two parts separated with ">" symbol that separates main category name from sub-category name. If all your sub-category names are unique, then there is no need to include the ">" separator and specify the main category.

If the specified category does not exist, it will be created.

Examples:

  • Men's T-shirts
  • Clothing > Shoes

If left blank, product is added under All products category. Must be left blank for product variant rows, because the category field of the main product is used in such case.

Title

Product title.

Mandatory for products and must be blank for product variants.

Description

Product description. Can be plain text or a text with HTML tags and elements, such as <p>, <b>, <em>, <ul>, <ol>, <table> and others. If HTML code is used, it must be valid and error-free.

Must be blank for product variants.

Variant No

Variant number of order (e.g. 1, 2, 3 for the 1st, 2nd, 3rd variant). Can be only number without any other symbols. Must be unique to each variant of a particular product, but same for different language rows of the same variant.

Must be left blank for product rows, but mandatory for product variant rows.

Option Name 1
Option Name 2
Option Name 3

Name of the first, second and third option of a variant. E.g Color or Size.

Must be left blank for product rows, but at least the first option name is mandatory for product variant rows.

Option names must be the same for all variants of the same product.

Option Value 1
Option Value 2
Option Value 3

Value of the first, second and third option of a variant. E.g Red or XXL.

Must be left blank for product rows, but at least the first option value is mandatory for product variant rows.

Price

Product price. A floating point number (using . as separator), e.g. 15.99 or 25.

Can be blank or a valid value.

Sale Price

Special product price. Same format as Price field.

Must be blank if product price is not defined, otherwise can be either blank or a valid value.

Weight

Product weight in grams. A whole number, e.g. 1000.

Can be blank or a valid value.

SKU

Product code ir SKU. Any string with maximum length of 250 characters.

Can be blank or a valid value.

Stock

The number of items available for sale. Leave blank for unlimited stock, or enter valid integer number.

Visible

Signifies if item is visible to customers. Valid values are true, false, yes, no, 0, 1.

Must be blank for product variant rows. Blank value for product row, means Yes.

Featured

Signifies if item should be included under Featured items. Valid values are true, false, yes, no, 0, 1.

Must be blank for product variant rows. Blank value for product row, means No.

Tax

Allows to specify individual tax rate for an item. A floating point number (using . as separator), e.g. 15.25 or 25.

Must be blank for product variant rows. Can be blank or a valid value for product rows.

Vendor

Product vendor. Any string with maximum length of 250 characters. E.g. Apple.

Must be blank for product variant rows. Can be blank or a valid value for product rows.

Model

Product model. Any string with maximum length of 250 characters. E.g. iPhone XS, Silver.

Must be blank for product variant rows. Can be blank or a valid value for product rows.

Delete

Optional field. Valid values are true, false, yes, no, 0, 1.

Must be blank for product variant rows. Blank value for product row means No.

Will delete the existing product by handle if set to Yes. The entire product will be deleted, including data in other languages.

Updating existing product data

You can use export and import feature to update existing product data via spreadsheet software. As long as you do not change the Handle field values in the exported file, the remaining field values can be modified and will be applied to the same products when importing the file back.

Importing product variants

To add variants, you must create a separate row with the Handle field set to product's handle, Variant No specified and at least Option Name 1, Option Value 1 fields defined while all other, non-variant specific fields, are left blank.

It is also important that Option Name fields are exactly the same for all variants of a single product.

Variant import preview

Important: While products themselves can be updated and added via partial files (containing only new and changed rows), for product variants, partial import is not possible You can not add new variants without specifying the already added ones that you want to keep. When updating variants, complete set of variant data in all languages must be present, because variant data is always fully replaced with the new data.

Importing data in multiple languages

Normally, if you have only one language, you will have a single row for every product and a single row for every product variant.

To add or update product's translation in a secondary language, you must create a separate row with:

  • Handle field set to product's handle
  • Language set to the target language that must already exist in your website
  • Title and Description fields containing the translated texts
  • leaving all other fields blank
Language data import preview

To add or update product variant's translation in a secondary language, you must add a separate row for each variant with:

  • Handle field set to product's handle
  • Language set to the target language that must already exist in your website
  • Variant No set to variant's number of order corresponding to the one in default language
  • Option Name and Option Title fields containing the translated texts
  • leaving all other fields blank

Tip on handling languages in CSV

The best strategy to get started is to add 2 - 3 products, translate them in all languages and then export your products in a CSV file. This way you will be able to see how the data should be treated.

Limitations of import and export features

Here is what you can NOT do:

  • Use any non-compatible CSV file directly (file must comply with the Mozello CSV data format specification)
  • Use XML, XLSX or other non-compatible data formats without converting them to a compatible CSV file first
  • Arrange product order
  • Add or remove pictures
  • Rename existing product categories
  • Change product Handle values assigned by Mozello

Please read this documentation carefully and contact us if you have any questions not covered in this documentation.

Related topics

« Back