Skip to main content

Product catalog export and import

Screenshot_2020-04-29_at_19.12.41.png Getting started

In this article, you will learn how to extract a product catalog in the form of CSV files and how to import it back. The overview for each product catalog file is here.

Export can be found in Import / Export > Export / catalog (1)

Import can be found in Import / Export > Import > Type > Catalog mass import (2)

POWERPNT_vmiZdQufen.png
Visualization of the product catalog options in the Import / export module

Table of contents:

  1. Export catalog
  2. Catalog files
  3. Catalog import
  4. How to make mass import
  5. Overview - catalog_product.csv
  6. Overview - catalog_product_description.csv
  7. Overview - catalog_product_attribute.csv
  8. Overview - catalog_product_stock.csv
  9. Overview - dict_tag_catalog_product.csv
  10. Overview - dict_property.csv
  11. Overview - dict_tag.csv
  12. Overview - catalog_product_category.csv
  13. Overview - alt_shop_catalog_product.csv
  14. Overview - catalog_product_category.csv
  15. Overview - dict_tag_catalog_product_remove.csv
  16. Order of processing files

 


 

Screenshot_2020-04-29_at_19.12.41.png Export catalog

Catalog export has some filtering options for thinning out the results of extracted data.

POWERPNT_N92MP6PAE5.png
Visualization of the Catalog export
  • Alt shop - Chooses for which alt shop the catalog should be exported. If left empty, products from all alt shops will be exported. You can learn more about altshops in the Alt shops - Introduction article.
  • Product status - Chooses between Active and Inactive products. If left empty, all products will be exported.
  • Is altshop active? - Choose if the product exported are active on chosen altshop or inactive.
  • Product SKU - A list of product SKUs. A list of multiple SKUs needs to be separated by commas (i.e. 123456,654321,55555).
  • Two buttons:
    • Apply filters - A button, which will apply selected filters and automatically start the download of the filtered products.
    • Clear filters - A button, which clears all already chosen filters.

Exported files described in Catalog files section are packed in a .zip file, which needs to be unpacked.

 


 

Screenshot_2020-04-29_at_19.12.41.png Catalog files

The downloaded archive will contain the following files:

  • alt_shop_catalog_product.csv - Contains data for Alt shops > Products / list (You can find more information about this module in Products / list - browsing and managing products in altshop module article)
  • catalog_product.csv - Contains data for Catalog > Products / list (More information about this module in [UNDER CONSTRUCTION])
  • catalog_product_attribute.csv - Contains data for Catalog > Products / list > View product > Add color (More information about this module in [UNDER CONSTRUCTION])
  • catalog_product_description.csv - Contains data for Catalog > Products / list > View product, Description tab (More information about this module in [UNDER CONSTRUCTION])
  • catalog_product_meta.csv - Contains data for 
  • Catalog > Products / list > View product, Metadata tab (More information about this module in [UNDER CONSTRUCTION])
  • catalog_product_stock.csv - Contains data for Catalog > Products / list > View product, Stock tab (More information about this module in [UNDER CONSTRUCTION])
  • dict_property.csv - Contains data for Catalog > Properties / list (More information about this module in [UNDER CONSTRUCTION])
  • dict_tag.csv - Contains data for Catalog > Tags / list (More information about this module in [UNDER CONSTRUCTION])
  • dict_tag_catalog_product.csv - Contains data for Catalog > Products / list > View product, Tags tab (More information about this module in [UNDER CONSTRUCTION])
  • catalog_product_category.csv - Contains data for Catalog > Products / list > View product, edit product tab. You can find more information about the category module in Catalog categorization article.
  • dict_tag_catalog_product_remove.csv - Contains exact same data structure as dict_tag_catalog_product.csv, but it removes the assigned tags from the selected products.

 


 

Screenshot_2020-04-29_at_19.12.41.png Catalog import

All the exported files can be edited and imported back to the administration panel to update catalog data. Files can be imported separately or in groups but their import must always be consolidated in a .zip file. The file names must be exactly the same as defined in this article and they cannot be changed. There are no mandatory files, so it is possible to import only catalog_product_description.csv without any other files as long as it is in the .zip file. Packed .csv files can be in any folder structure as long as file names are not duplicated.

Other file formats than .zip will be rejected and won't be uploaded.

Files specification

Since the imported files directly correspond with the database some rules must be followed while creating and editing import files, here is a general specification for these:

  • Field type BOOLEAN:
    • 0 - NO
    • 1 - YES
  • Field type DATE must be in the following format "YYYY-MM-DD"
  • EOL (End Of Line) column must contain EOL in every row with a product. This column shows our system, that for a selected product its info ends with this column, and the system can move to another row. Here is an example of EOL use:
    • column1;column2;EOL
    • “abc”;”abc”;EOL
    • “cde”;”cde”;EOL
  • The decimal separator must be a dot "." for example: "199.99"
  • While editing files in text editors (not spreadsheets) all columns have to be separated by semicolon ";"
  • STRING field type can be filled with any text and/or number. The only exception to this exists in every field with URL value, these must be strings without any special/regional characters besides "/" as a start to the URL and "_" as a separator for word f.x. "/new_product_sku_123"

 


 

Screenshot_2020-04-29_at_19.12.41.png How to make mass import

Mass import is a product import of a ZIP file that contains prepared .csv files. This operation changes the product data based on their SKU or creates a new product if the selected SKU doesn't exist in the catalog database. You don't need to put every .csv file in the .zip, only the ones that you have modified can be put in the .zip file and then imported. In order to import catalog files, they have to be in CSV format, coded in UTF-8. Go to Import/Export > Import and choose Catalog mass import in the Type.

POWERPNT_Y7XeqYPGKe.png

Visualization of Import / Export, Import
  • File Choose a file, and find your zip archive with CSV files.
  • Type- Click and choose Catalog mass import in order to perform the change in the catalog database.
  • Options - Test import allows for virtual database calculation after importing a chosen archive. You'll be able to check the results of this import by receiving a report for each imported file. Test import won't perform any actual changes in the environment.
  • Import file - Click to perform an import. The file will start processing right after clicking.

info2.svg  RememberProduct descriptions can be enriched by HTML and CSS codes.

 


 

Screenshot_2020-04-29_at_19.12.41.png Overview - catalog_product.csv

File catalog_product.csv contain mainly data regarding imported products. Mass import of this file allows to:

  • Adding new records
  • Updating records (on a base of unique SKU)
# Column name Value type Max length Can be empty? Description What, if empty
1 SKU STRING 7 No Product code -
2 is_active BOOLEAN (0/1) 1 No Is the product visible? -
3 name STRING 255 No Product name -
4 title STRING 255 Yes Title for product Empty product title
5 short_description STRING 255 Yes Short description Empty description
6 capacity STRING 125 Yes Capacity/size of the product Capacity undefined
7 sort_order INTEGER 1 Yes Sort Order 0
8 price DECIMAL 10,2 No Catalog price -
9 f_green_point BOOLEAN (0/1) 1 Yes Flag: green point 
10 f_bestseller BOOLEAN (0/1) 1 Yes  Flag: bestseller
11 f_limited_edition BOOLEAN (0/1) 1 Yes  Flag: limited edition
12  f_set BOOLEAN (0/1) 1 Yes  Flag: set
13  f_gift BOOLEAN (0/1) 1 Yes  Flag: gift
14  f_gift_choice BOOLEAN (0/1) 1 Yes  Flag: gift of choice 
15 f_outlet  BOOLEAN (0/1) 1 Yes  Flag: outlet 0
16 is_new_until DATE 10 Yes  Date till the product is marked as "new". Should be in a DD-MM-YYY format.
The product won't be marked as "new"
17 friendly_url STRING 255 Yes  URL for the product
18
ean STRING
13
Yes
EAN code. Multiple EANs can be separated by a comma (,). The system verifies in the import process if the typed EAN is in correct EAN-8 or EAN-13 format.
-
19  EOL STRING 3 No  Always must be “EOL”   -

 


 

Screenshot_2020-04-29_at_19.12.41.png Overview - catalog_product_description.csv

File catalog_product_description.csv contains descriptions for the products. Mass import allows to:

  • Adding new records
  • Updating records (on a base of unique SKU)

caution.svg  Warning  There must be a product in the database with SKU matching the value of the SKU column in order to apply any changes. 

# Column name Value type Max length Can be empty? Description What, if empty
1 SKU STRING 7 No Product code -
2 description_main STRING undefined Yes Main description empty description
3 description_effect STRING undefined Yes Effects description empty description
4 description_usage STRING 5 Yes Usage description empty description
5 description_ingredient STRING undefined Yes Ingredients empty description
6 description_capacity STRING undefined Yes Type of package and capacity empty description
7 description_additional_info STRING undefined Yes Additional information empty description
8 description_notes STRING undefined Yes Results empty description
9  EOL STRING 3 No  Always must be “EOL”   -

info2.svg  RememberNew lines in descriptions fields will be changed to <br> HTML can be used to customize the text.

 


 

Screenshot_2020-04-29_at_19.12.41.png Overview - catalog_product_attribute.csv

File catalog_product_attribute.csv contains data about color variants of imported products. Mass import allows to:

  • Adding new records
  • Updating records (on a base of unique SKU)

caution.svg  Warning  There must be a product in the database with SKU matching the value of the SKU column in order to apply any changes. If there is no color from the color column in the database then a new color will be created and assigned to the new attribute.

# Column name Value type Max length Can be empty? Description What, if empty
1 SKU_parent STRING 7 No Code of the parent product -
2 SKU STRING 7 No Code of the color variant -
3 color STRING 255 No Color name -
4 is_active BOOLEAN (0/1) 1 No Flag: is active? -
5  EOL STRING 3 No  Always must be “EOL”   -


 


 

Screenshot_2020-04-29_at_19.12.41.png Overview - catalog_product_stock.csv

File catalog_product_stock.csv  contains information about the stock resources of the imported products. Mass import allows to:

  • Updating records (on a base of unique SKU)

caution.svg  Warning  There must be a product in the database with SKU matching the value of the SKU column in order to apply any changes.

# Column name Value type Max length
Can be empty? Description What, if empty
1 SKU STRING 7 No Product code -
2 stock_value INTEGER 5 No Amount of stock value -
3 always_in_stock BOOLEAN(0/1) 1 Yes Flag: product is always in stock 0
4 min_stock_value INTEGER 5 Yes Minimal stock value Default value from the database
5 warn_stock_value INTEGER  5  Yes Stock limit at which administrator will receive a warning about low stock value Default value from the database
6  EOL STRING 3 No  Always must be “EOL”   -

 

 


  

Screenshot_2020-04-29_at_19.12.41.png Overview - dict_tag_catalog_product.csv

File dict_tag_catalog_product.csv contains information about tags of imported products. Mass import allows to:

  • Adding new assignments
  • Updating already existing assignments

caution.svg  Warning  There must be a product in the database with SKU matching the value of the SKU column in order to apply any changes. The same applies to tags columns and properties.

# Column name Value type Max length Can be empty? Description What, if empty
1 SKU STRING 7 No

Product code, if color variant then uses parent code.

-
2 property STRING 45 No Property name -
3 tag1 STRING 150 No Tag name -
4 tag2 STRING 150 Yes Tag name -
5 tag3 STRING 150 Yes Tag name -
6 tag4 STRING 150 Yes Tag name -
7 tag5 STRING 150 Yes Tag name -
9  EOL STRING 3 No  Always must be “EOL”   -

 

In order to assign more than 5 tags to one product, use another row, here is an example of how to assign 6 tags to SKU1 in property "część ciała":

  • SKU1;”część ciała”;”twarz”;”włosy”;”dłoNo”;”nogi”;”ramiona”;EOL
  • SKU1;”część ciała”;”uda”;;;;;EOL

In order to delete a tag from a product add “<delete>” before it. Here is an example of deleting the tag "40+":

  •  “<delete>40+”

  


  

Screenshot_2020-04-29_at_19.12.41.png Overview - dict_property.csv

File dict_property.csv contains information about properties. Mass import allows:

  • Adding new properties
# Column name Value type Max length Can be empty? Description What, if empty
1 name STRING 45 No

Property name

-
2 url_name STRING 45 Yes Friendly URL Will be generated automatically from the property name
3 sort_order INTEGER 5 No Sort Order -
4 is_active BOOLEAN(0/1) 1 No Flag: Is this property active? -
5  EOL STRING 3 No  Always must be “EOL”   -

 

 


 

Screenshot_2020-04-29_at_19.12.41.png Overview - dict_tag.csv

File dict_tag.csv contains information about tags. Mass import allows to:

  • Adding new tags

caution.svg  Warning  There must be a property in the database in order to add new tags.

# Column name Value type Max length Can be empty? Description What, if empty
1 property_name STRING 45 No

Nazwa cechy, do której jest przypisany tag

-
2 name STRING 150 No Nazwa tagu (wartość cechy) -
3 url_name STRING 150 Yes friendly URL for the tag Will be generated automatically from the tag name
4  EOL STRING 3 No  Always must be “EOL”   -

  
 


 

Screenshot_2020-04-29_at_19.12.41.png Overview - alt_shop_catalog_product.csv

File alt_show_catalog_product.csv contains information about availability in altshops and discounts counted from catalog prices. Mass import allows to:

  • Adding new altshop assignments and promotions
  • Editing existing altshop assignments and promotions

caution.svg  Warning  Adding values to promotion_price, price_discount and percentage_discount won't be updated if the product is_active=0. Rows is_active=0 serves as a forced deactivation in altshop. It is a good practice to add only alt_shops that products should be active.

# Column name Value type Max length Can be empty? Description What, if empty
1 alt_shop STRING undefined No Altshop system name -
2 SKU STRING  7 No

Product code

-
3 is_active BOOLEAN(0/1)  1 No Is the product active in altshop -
4 promotion_price DECIMAL undefined Yes Promotion price No promotion price or set-by-price/percentage discounts
5 price_discount DECIMAL undefined Yes Price discount subtracts value from the catalog price No discount or discounted by promotion price/percentage discount
6 percentage_discount DECIMAL 2 Yes Percentage discount counted from catalog price. No promotion or discounted by promotion price/ price discount
7 promotion_start_date DATE undefined Yes

Information:

date of promotion start

No date of promotion start
8 promotion_end_date DATE undefined  Yes

Information:

date of promotion end

No date of promotion end
9 promotion_valid_text STRING undefined  Yes Text informing about promotion validation Lack of text even, if promotion start and end dates are present.
10 EOL STRING 3 No  Always must be “EOL”  EOL

 

 


 

Screenshot_2020-04-29_at_19.12.41.png Overview - catalog_product_category.csv

File catalog_product_category.csv contains information about categories assigned to the products. Mass import allows to:

info2.svg  RememberYou can find more information about catalog categories in the Catalog categorization article.

  • Adding currently present categories to the selected products
  • Editing categories of the selected products.
# Column name Value type Max length Can be empty? Description What, if empty
1
SKU
STRING
7
No
Product code -
2
category_path STRING
undefined No
Category path. Path steps need to be separated by a Guillemet ("»") i.e. E-commerce » Włosy » Szampony. The category path should always start with E-commerce.
-
3
is_main
BOOLEAN(0/1) 1
No
A flag that shows if a selected category path for a selected SKU is marked as a main one
-
4
EOL STRING 3 No  Always must be “EOL”  EOL

caution.svg  Warning  Please note that this process overwrites product categories for products that are being edited.

In case the user has the following record already in the database on the website:

SKU category_path is_main EOL
32611 E-commerce » Vůně 1 EOL

and there is a need to add a new category the already existing record also needs to be included in the import.

Example of an incorrect import file that overwrites the product categories:

SKU category_path is_main EOL
32611 E-commerce » Vlasy 0 EOL

When the file looks like that the E-commerce » Vůně will be removed from the product, and only E-commerce » Vlasy will be available after the import.

Example of a correct import file that doesn't overwrite the product categories:

SKU category_path is_main EOL
32611 E-commerce » Vůně 1 EOL
32611 E-commerce » Vlasy 0 EOL

In this case both E-commerce » Vůně and E-commerce » Vlasy will be included in the product 32611 after the import.


 

Screenshot_2020-04-29_at_19.12.41.png Overview - dict_tag_catalog_product_remove.csv

File dict_tag_catalog_product_remove.csv contains a list of SKUs with tags, that should be removed from the product. The content of this file is exactly the same as dict_tag_catalog_product.csv. This file is not automatically created when exporting the product catalog.

Mass import allows to:

  • Removal of tags from the selected SKUs
# Column name Value type Max length Can be empty? Description What, if empty
1 SKU STRING 7 No

Product code, if color variant then uses parent code.

-
2 property STRING 45 No Property name -
3 tag1 STRING 150 No Tag name -
4 tag2 STRING 150 Yes Tag name -
5 tag3 STRING 150 Yes Tag name -
6 tag4 STRING 150 Yes Tag name -
7 tag5 STRING 150 Yes Tag name -
9  EOL STRING 3 No  Always must be “EOL”   -

Tag removal doesn't remove properties by itself. Whenever a product has all of it's tags removed, the property is removed automatically.

For example, if the product has the following propety with a tags:

SKU property tag1 tag2 tag3 tag4 tag5 EOL
69726 Péče o tělo Tělové oleje Tělové peelingy       EOL

And the dict_tag_catalog_product_remove.csv contains the following data:

SKU property tag1 tag2 tag3 tag4 tag5 EOL
69726 Péče o tělo Tělové peelingy         EOL

Tělové peelingy will be removed from the product tags list, but Tělové oleje will remain, which would result with the following record:

SKU property tag1 tag2 tag3 tag4 tag5 EOL
69726 Péče o tělo Tělové oleje         EOL

If both tags were removed, then the Péče o tělo property would also be removed from the product, as this product doesn't contain any tags from this property.

 


 

Screenshot_2020-04-29_at_19.12.41.png Order of processing files

The system while importing the files is processing them in a selected order, to make sure there will be no mistakes while importing, like changing the price of a product that doesn't exist in the database. You can find an order of processing below:

Order File name
1 dict_property.csv
2 dict_tag.csv
3 catalog_product.csv
4 catalog_product_description.csv
5

catalog_product_category.csv

6

catalog_product_attribute.csv

7

catalog_product_meta.csv

8 catalog_product_stock.csv
9 dict_tag_catalog_product.csv
10 alt_shop_catalog_product.csv
11
dict_tag_catalog_product_remove.csv