Skip to main content

Product

Introduction​

In order to be able to create many products with the minimum amount of time, we have include an excel import feature that will allow you to prepare you product to create or to update in an excel.

warning

Partial import are not fully supported. This will be fix but in the meantime for update be sure to have an excel with all the data of your products. Field that we know can be erased with a partial update:

  • manufacturer
  • Commercial Informations

Process​

In order to be imported, the excel should follow some rules:

Products will be search in a sheet named Products. Headers are formatted and should be in one of those:

headervalue formatmandatory
IDText url compatibleAlways
ReferenceTextOn creation
Product TypeText, should be one of the known product type. Refer to the utility sheetOn creation
BrandText, should be one of the known brand. Refer to the utility sheetOn creation
ManufacturerTextNo
Parent Product IDTextNo
Start DateDate, MM/DD/YYYYNo
End DateDate, MM/DD/YYYYNo
Search ScoreNumber >= 0No
Name (en-GB)Text, the locale between parenthesis precise the locale in which the column will fill the valueNo
Commercial Description (en-GB)Text, the locale between parenthesis precise the locale in which the column will fill the valueNo
Short Description (en-GB)Text, the locale between parenthesis precise the locale in which the column will fill the valueNo
Eco Description (en-GB)Text, the locale between parenthesis precise the locale in which the column will fill the valueNo
Website URL (en-GB)Text, the locale between parenthesis precise the locale in which the column will fill the valueNo
PriceNumberNo
Price CurrencyText, should be one of the known currencies. Refer to the utility sheetNo
Price TypeText, can be one of the known price type. Refer to the utility sheetNo
Price Start DateDate, MM/DD/YYYYNo
Price End DateDate, MM/DD/YYYYNo
Price Additional InformationsText of a json. fields can be found here: setup pricingNo
Pricing MethodText, can be one of the known pricing Method. Refer to the utility sheetNo
Pack AmountNumberNo
PercentageNumberNo
Direction ParameterText, should be width or height or depthNo
Direction ParametersText, should be one of the known Direction Parameters. Refer to the utility sheetNo
Rounding MethodText, should be one of the known Rounding Method. Refer to the utility sheetNo
Not Priced On Front EdgeBooleanNo
Model 3D HQText url. Should be a valid url.No
Model 3D MQText url. Should be a valid url.No
Model 3D LQText url. Should be a valid url.No
Model 2DText url. Should be a valid url.No
ThumbnailText url. Should be a valid url.No
MediaText url. Should be a valid url. Can be several urls, they should be separated with a spaceNo
Style TagsText, should be one or more of the known Style Tags. Refer to the utility sheet. If more that one, they should be separated with ;No
Room TagsText, should be one or more of the known Room Tags. Refer to the utility sheet. If more that one, they should be separated with ;No
Color TagText, should be one of the known Color Tag. Refer to the utility sheetNo
Material TagsText, should be one or more of the known Material Tags. Refer to the utility sheet. If more that one, they should be separated with ;No
Free TagsText, should be one or more of the known Free Tags. Refer to the utility sheet. If more that one, they should be separated with ;No
Target PositionText, should be one of the known Target Position. Refer to the utility sheetNo
Opening ShapeText, should be one of the known Opening Shape. Refer to the utility sheetNo
Default AltitudeNumber > 0No
Manip ModeText, should be one of the known Opening Shape. Refer to the utility sheetNo
UngroupableBooleanNo
Allow CollisionBooleanNo
ModularBooleanNo
ReplaceableBooleanNo
CodeTextNo
Code ManufacturerTextNo
Configurator IdText, should be one of the known Configurator Id. Refer to the utility sheetNo
Configuration DataTextNo
Catalog IdsText, should be one or more of the known Catalog ids. If more that one, they should be separated with ;No
ForceBooleanNo
Is GenericBoolean - True converts a classic product to generic; False on an existing generic product raises a non-blocking warning (field ignored)No

The template is available to be downloaded when clicking to the DOWNLOAD IMPORT TEMPLATE and then check the product:

Then click on DOWNLOAD

Once you have filled your excel with the data you want to import, you can now drop it into the drag and drop location ( you can also click and search your file through the explorer)

A preview of what will be imported is shown :

In this table, you are able to have a last look at your data before uploading them for real. A validation is done in order to minimize the possible webservice error after launching the import. If an issue is found on a line, an error icon appears at the beginning of the line. More information is shown when hovering the error icon.

in this example, we can see that the first id does not follow an url valid pattern. The error icon is therefore present, and the user is warn of what error is present.

If a line is on error, you will not be able to click on launch import.

When launching the import, a success icon appears on the lines that are really imported. Also, if an issue happened when calling the webservice, the error icon will appear. Hovering it will show you the webservice error. If an error icon appears after launching the import, it means that the line was not imported.

Update mode​

The Update mode field of the import dialog decides what a blank cell does on an existing product. You can change the mode using dropdown shown below in image. The preview is then validated again when mode is changed.

partial-update-with-delete

Partial update​

  • Partial update mode is previous default mode of import.

Partial update with delete​

  • Column not in the excel: the field is not modified.
  • Column in the excel, cell filled: the field is updated.
  • Column in the excel, cell blank: the current value is removed.
note
  • Reference, Brand, Product Type: required on a product without a parent product. A blank cell puts the row in error. partial-update-with-delete
  • Search Score: a blank cell sets it to 0.
  • Parent Product ID: a blank cell does not remove the link to the parent product.

Override management​

A child product inherits the values of its parent product, except for the fields it overrides (see Overrides). On a child product, Overridden field with a blank cell makes the field inherited again with some fields have exceptions as mentioned in the below table. And, Inherited field with a blank cell changes nothing. When a field cannot become inherited again, the preview shows a warning. It does not block the import.

Refer below table to understand behaviour of blank cell on an overridden field:

SheetColumnsWhat a blank cell does
ProductsReference, Brand, Manufacturer, Free Tags, MediaThe field becomes inherited again.
Product representation: Model 3D HQ, Model 3D MQ, Model 3D LQ, Model 2D, Thumbnail

The group becomes inherited again, but only if all the columns of the group are in the excel and blank. If one of them is filled or missing, the group stays overridden. See groups of columns for more information.

Behaviors: Target Position, Opening Shape, Default Altitude, Manip Mode, Ungroupable, Allow Collision, Modular, Replaceable

BOM settings: Code, Code Manufacturer
Name, Commercial Description, Short Description, Eco Description, Website URL

The value will be removed for the language. If all 5 fields of a language are empty after the import, the whole language will be removed. Once all the languages are removed, the commercial description becomes inherited again. See commercial description for more information.

Start Date, End DateThe date will be inherited from the parent product.
Catalog IdsThe child product will be delinked from all its catalogs.
Search ScoreThe search score will be set to 0.
Style Tags, Color Tag, Room Tags, Material Tags

The tags are emptied on the child product. They stay overridden and cannot become inherited again, so the preview shows a warning. See classifications for more information.

Product Type

The current product type is kept. It stays overridden and cannot become inherited again, so the preview shows a warning. See product type for more information.

AssetsModel 3D HQ, Model 3D MQ, Model 3D LQ, Model 2D, Thumbnail, Media

If product sheet is present then behaviour will depend on product sheet data. To make fields inherited again, leave the cells blank in the Products sheet instead. If Product sheet is not present then keep asset sheet fields blank to inherit.

Mappings, Prices, ParametersAll the columns, except the parameter definition columns

Blank cells do not make the section inherited again: it stays overridden. To make it inherited, mark all the items of the child product as deleted (Delete column set to true). See parameters, mappings and prices for more information.

Parameters linked to a parameter definition

Parameter Translation Key, Value Translation Key

Leave both cells blank to make the translation keys inherited from the parameter definition again. If only one of the two cells is blank, the translation keys stay overridden. See linked parameter definition for more information.

Editable, Default, Values, Magnitude, Allow any value, Tags, Free Tags, Step, Index UI

Leave a cell blank to make that column inherited from the parameter definition again. For example, a blank Default inherits the default value of the parameter definition, and the other columns stay as they are. See linked parameter definition for more information.

Groups of columns​

Some columns work together as a group, they are overridden and inherited together.

  • Make the group inherited: put all the columns of the group in the excel, all blank. Otherwise, the group stays overridden and only the columns of the excel are updated.
  • Make the group overridden: fill at least one column of the group. The whole group is then overridden.
Product representation

These columns are present in product as well as in Assets sheet, when product and asset sheet both are present then only the Products sheet can make them inherited again. As URLs information in product sheet and asset sheet for 2D, 3D and thumbnail assets is different, If both sheets fill the same column for the same product, the Assets row is in error to indicate that data is mismatch.

partial-update-with-delete

Classifications

Once overridden, Style Tags, Color Tag, Room Tags and Material Tags cannot become inherited again. A blank cell saves them as empty, and the preview shows a warning.

partial-update-with-delete

Free tags

Free Tags have their own override, so they can become inherited again even when the other tags cannot. If the parent product has no free tags, they are just emptied.

Product Type

Once overridden, Product Type cannot become inherited again. A blank cell keeps the current product type, and the preview shows a warning.

partial-update-with-delete

Commercial description​

The commercial description of a product is stored per language. Each language has 5 fields: Name, Commercial Description, Short Description, Eco Description and Website URL. In the excel, each field has one column per language. The language is written between parentheses, for example Name (en-US) or Short Description (fr-FR).

Check below rules applied to Partial update with delete mode.

Product without a parent product

  • A blank cell empties that field.
  • The language is never removed from the product.

Child product that inherits the commercial description

  • Blank cells change nothing: the commercial description stays inherited.
  • As soon as one cell is filled, the commercial description becomes overridden. The child product then has only the values of the excel. The other languages of the parent product are not copied.

Child product that overrides the commercial description

  • A blank cell empties that field.
  • A language is deleted when all its 5 fields (Name, Commercial Description, Short Description, Eco Description, Website URL) are empty after the import. To decide, the import looks at each field:
    • Column in the excel: the value of the excel is used. A blank cell counts as empty.
    • Column not in the excel: the value already saved on the product is used. So you do not need all 5 columns in the excel to remove a language. The columns you left out must be saved as empty on the product.
  • When the last language is removed, the commercial description becomes inherited again.

Examples

ProductBefore the importExcelAfter the importDescription
Child product that overrides the commercial description

Two languages: en-US and de-DE, both with their 5 fields filled.

The 5 columns of de-DE, all blank.

de-DE is removed. en-US does not change.

All 5 fields of de-DE are empty after the import, so the language is removed. The columns of en-US are not in the excel, so it is not touched.

One language: en-US, with Name, Commercial Description and Short Description filled. Eco Description and Website URL are already empty.

Only 3 columns: Name (en-US), Commercial Description (en-US) and Short Description (en-US), all blank.

en-US is removed. As no language is left, the commercial description is now inherited.

Eco Description and Website URL are not in the excel, but they were already empty. With the 3 blank columns, all 5 fields are empty after the import, so the language is removed.

One language: en-US (Name "Sofa", Short Description "Blue sofa").Only one column: Name (en-US), blank.en-US is kept, with an empty Name and Short Description "Blue sofa".

Short Description is not in the excel and is still filled. Not all 5 fields are empty, so only the name is removed and the language stays.

Product without a parent productTwo languages: en-US (Name "Sofa") and de-DE (Name "Sofa").Only one column: Name (de-DE), blank.The name of de-DE is emptied. de-DE is kept.On a product without a parent product, a language is never removed. Only the field is emptied.
Child product that inherits the commercial description

The commercial description is inherited from the parent product: en-US (Name "Sofa", Short Description "Blue sofa") and fr-FR (Name "Canapé").

Only one column: Name (en-US) = "Sofa".

The commercial description is now overridden, with only en-US and Name "Sofa". It has no Short Description and no fr-FR.

One filled cell is enough to override the commercial description. The child product then keeps only the values of the excel. Nothing is copied from the parent product.

Parameters, mappings and prices​

Each row of the Parameters, Mappings and Prices sheets is one item. Here, the rows decide inheritance, not the blank cells:

  • Delete an item: set the Delete column to true on its row.

  • Make the section inherited: list all the items of the child product in the excel and mark each of them as deleted (Delete set to true). If only some items are marked as deleted, the section stays overridden.

    partial-update-with-delete

  • Make the section overridden: add an item, or edit an inherited item. The section becomes overridden.

Exception for mappings in Partial update mode

In Partial update mode, marking all the mappings of an overridden child product as deleted makes the mapping section inherited again. A mapping section cannot stay overridden with no mapping in it.

Linked parameter definition​

A parameter definition is a parameter you create once and reuse on many products. In the Parameters sheet, fill the Parameter Definition ID column to link the parameter to a parameter definition.

A linked parameter inherits its values from the parameter definition, unless you override them on the product. In Partial update with delete mode, a blank cell removes the overridden value, and the column becomes inherited from the parameter definition again.

  • These columns update without any dependency: Editable, Default, Values, Magnitude, Allow any value, Tags, Free Tags, Step and Index UI. For example, if the parameter definition has a default of 600 and the product has 800, a blank Default sets it back to 600. It does not change the other columns.
  • Translation keys reset together: Parameter Translation Key and Value Translation Key become inherited from the parameter definition only when both cells are blank. For example, if only Value Translation Key is blank, the translation keys stay overridden.