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 nameValue typeMax lengthCan be empty?DescriptionWhat, if empty
1SKUSTRING7NoProduct code-
2is_activeBOOLEAN (0/1)1NoIs the product visible?-
3nameSTRING255NoProduct name-
4titleSTRING255YesTitle for productEmpty product title
5short_descriptionSTRING255YesShort descriptionEmpty description
6capacitySTRING125YesCapacity/size of the productCapacity undefined
7sort_orderINTEGER1YesSort Order0
8priceDECIMAL10,2NoCatalog price-
9f_green_pointBOOLEAN (0/1)1YesFlag: green point 
10f_bestsellerBOOLEAN (0/1)1Yes  Flag: bestseller
11f_limited_editionBOOLEAN (0/1)1Yes  Flag: limited edition
12 f_setBOOLEAN (0/1)1Yes  Flag: set
13 f_giftBOOLEAN (0/1)1Yes Flag: gift
14 f_gift_choiceBOOLEAN (0/1)1Yes Flag: gift of choice 
15f_outlet BOOLEAN (0/1)1Yes Flag: outlet 0
16is_new_untilDATE10Yes Date till the product is marked as "new". Should be in a DD-MM-YYY format.
The product won't be marked as "new"
17friendly_urlSTRING255Yes URL for the product
18
eanSTRING
  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 EOLSTRING 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 nameValue typeMax lengthCan be empty?DescriptionWhat, if empty
1SKUSTRING7NoProduct code-
2description_mainSTRINGundefinedYesMain descriptionempty description
3description_effectSTRINGundefinedYesEffects descriptionempty description
4description_usageSTRING5YesUsage descriptionempty description
5description_ingredientSTRINGundefinedYesIngredientsempty description
6description_capacitySTRINGundefinedYesType of package and capacityempty description
7description_additional_infoSTRINGundefinedYesAdditional informationempty description
8description_notesSTRINGundefinedYesResultsempty description
 9  EOLSTRING 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 nameValue typeMax lengthCan be empty?DescriptionWhat, if empty
1SKU_parentSTRING7NoCode of the parent product-
2SKUSTRING7NoCode of the color variant - 
3colorSTRING255NoColor name - 
4is_activeBOOLEAN (0/1)1NoFlag: is active? - 
 5  EOLSTRING 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 nameValue typeMax length
Can be empty?DescriptionWhat, if empty
1SKUSTRING7NoProduct code-
2stock_valueINTEGER5NoAmount of stock value - 
3always_in_stockBOOLEAN(0/1)1YesFlag: product is always in stock 0 
4min_stock_valueINTEGER5YesMinimal stock valueDefault value from the database
5warn_stock_valueINTEGER  5 YesStock limit at which administrator will receive a warning about low stock valueDefault value from the database
 6  EOLSTRING 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 nameValue typeMax lengthCan be empty?DescriptionWhat, if empty
1SKUSTRING7No

Product code, if color variant then uses parent code.

-
2propertySTRING45NoProperty name - 
3tag1STRING150NoTag name - 
4tag2STRING150YesTag name - 
5tag3STRING150YesTag name - 
6tag4STRING150YesTag name - 
7tag5STRING150YesTag name - 
 9  EOLSTRING 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 nameValue typeMax lengthCan be empty?DescriptionWhat, if empty
1nameSTRING 45 No

Property name

-
2url_nameSTRING 45 YesFriendly URL Will be generated automatically from the property name 
3sort_orderINTEGER5NoSort Order-
4is_activeBOOLEAN(0/1)1NoFlag: Is this property active?-
 5  EOLSTRING 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 nameValue typeMax lengthCan be empty?DescriptionWhat, if empty
1property_nameSTRING 45 No

Nazwa cechy, do której jest przypisany tag

-
2nameSTRING 150 NoNazwa tagu (wartość cechy) - 
3url_nameSTRING 150 Yesfriendly URL for the tagWill be generated automatically from the tag name
 4  EOLSTRING 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 nameValue typeMax lengthCan be empty?DescriptionWhat, if empty
1alt_shopSTRINGundefinedNoAltshop system name-
2SKUSTRING 7No

Product code

-
3is_activeBOOLEAN(0/1) 1NoIs the product active in altshop-
4promotion_priceDECIMAL undefinedYesPromotion priceNo promotion price or set-by-price/percentage discounts
5price_discountDECIMAL undefinedYesPrice discount subtracts value from the catalog priceNo discount or discounted by promotion price/percentage discount
6percentage_discountDECIMAL2YesPercentage discount counted from catalog price.No promotion or discounted by promotion price/ price discount
7promotion_start_dateDATEundefinedYes

Information:

date of promotion start

No date of promotion start
8promotion_end_dateDATE undefined Yes

Information:

date of promotion end

No date of promotion end
9promotion_valid_textSTRING undefined YesText informing about promotion validationLack of text even, if promotion start and end dates are present.
10EOLSTRING 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 nameValue typeMax lengthCan be empty?DescriptionWhat, if empty
1
SKU
STRING
7
No
Product code-
2
category_pathSTRING
 undefinedNo
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
EOLSTRING 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:

SKUcategory_pathis_mainEOL
32611E-commerce » Vůně1EOL

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:

SKUcategory_pathis_mainEOL
32611E-commerce » Vlasy0EOL

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:

SKUcategory_pathis_mainEOL
32611E-commerce » Vůně1EOL
32611E-commerce » Vlasy0EOL

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 nameValue typeMax lengthCan be empty?DescriptionWhat, if empty
1SKUSTRING7No

Product code, if color variant then uses parent code.

-
2propertySTRING45NoProperty name - 
3tag1STRING150NoTag name - 
4tag2STRING150YesTag name - 
5tag3STRING150YesTag name - 
6tag4STRING150YesTag name - 
7tag5STRING150YesTag name - 
 9  EOLSTRING 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:

SKUpropertytag1tag2tag3tag4tag5EOL
69726Péče o těloTělové olejeTělové peelingy   EOL

And the dict_tag_catalog_product_remove.csv contains the following data:

SKUpropertytag1tag2tag3tag4tag5EOL
69726Péče o těloTě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:

SKUpropertytag1tag2tag3tag4tag5EOL
69726Péče o těloTě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:

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

catalog_product_category.csv

6

catalog_product_attribute.csv

7

catalog_product_meta.csv

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