pixi

BMEcat Syntax Specifications for the item import via XML format

This documentation describes the structure of the XML file for importing items from your shop or PIM system to pixi.


Structure of the XML

Every valid BMEcat document starts with the root element BMECAT and contains a header section (HEADER) and a transaction section (pixi supports only T_NEW_CATALOG). The BMEcat version and information about the used XML version (XML Info) is optional (but not the root tag <BMECAT>…</BMECAT>).

<?xml version="1.0" encoding="UTF-8"?>
<BMECAT version="1.0">
<HEADER>
...
</HEADER>
<T_NEW_CATALOG>
...
</T_NEW_CATALOG>
</BMECAT>

For complex text blocks containing special characters such as &'<"®™>¿ we recommend the use of CDATA rather than encodiing via XML/HTML entities.


Header part: HEADER

The header part contains basic information about the sender (author) and the receiver of the xml file, the catalog version and ID.

Note: pixi also accepts the xml if the header information is missing, only the item information in the transaction section is important.


<HEADER>
<GENERATOR_INFO>Name of your shop system - BMEcat Export</GENERATOR_INFO>
<CATALOG>
<LANGUAGE>eng</LANGUAGE>
<CATALOG_ID>catalog1</CATALOG_ID>
<CATALOG_VERSION>1.0</CATALOG_VERSION>
<CATALOG_NAME> 13.10.2011 BMECat Export</CATALOG_NAME>
<CURRENCY>EUR</CURRENCY>
<DATABASE>Name of the pixi database</DATABASE>
<SHOPID>Shop ID</SHOPID>
<DATEEXPORT>UNIX timestamp</DATEEXPORT>
<EXPORT_DATE>date timestamp</EXPORT_DATE>
</CATALOG>
<BUYER>
...
</BUYER>
<SUPPLIER>
...
</SUPPLIER>
</HEADER>

Name of XML Tag

Description

GENERATOR_INFO

Information about the creator of the XML file; Value: [Name of your shop systems] – BMEcat Export

CATALOG

Information for identification and description of the product catalog and the BMEcat document

LANGUAGE

Language of the catalog document, e.g. eng = English

CATALOG_ID

Unique identifier of the product catalog

CATALOG_VERSION

Version of the product catalog

CATALOG_NAME

Name to describe the product catalog

CURRENCY

Currency that is used in the price information of the product catalog, e.g. EUR

DATABASE

Name of the pixi database, e.g. pixi_ABC

SHOPID

ID of the shop, e.g. XYZ

Mandatory if you are using multi-currency functionality (see below)

DATEEXPORT

UNIX timestamp from export, e.g. 1192710892

EXPORT_DATE

Transformed UNIX timestamp from export, e.g. 2013-10-18 14:34:52

BUYER

Information about the buying company, i.e. the receiver of the catalog, e.g.

<BUYER>
<BUYER_ID>1234</BUYER_ID>
<BUYER_NAME>Fraunhofer IAO</BUYER_NAME>
<ADDRESS type="buyer">
<NAME>Fraunhofer IAO</NAME>
<NAME2>Marktstrategieteam Electronic Business Systems</NAME2>
<STREET>Holzgartenstrasse 17</STREET>
<ZIP>70174</ZIP>
<CITY>Stuttgart</CITY>
<COUNTRY>Germany</COUNTRY>
</ADDRESS>
</BUYER>
 

SUPPLIER

Information about the delivering company (the sender of the catalog) – i.e. the online shop, e.g.
This information is not related to a pixi supplier.

<SUPPLIER>
<SUPPLIER_ID type="supplier_specific">DEM</SUPPLIER_ID>
<SUPPLIER_NAME>DEMO-Shop</SUPPLIER_NAME>
<ADDRESS type="supplier">
<NAME>ShopBetreiber</NAME>
<CONTACT>Max Mustermann</CONTACT>
<STREET>Universitaetsstr. 9</STREET>
<ZIP>45117</ZIP>
<CITY>Essen</CITY>
<COUNTRY>Germany</COUNTRY>
</ADDRESS>
</SUPPLIER>

Back to top

Transaction part: T_NEW_CATALOG

The transaction part provides the detailed item data in repeating ARTICLE sections. The element ARTICLE contains the unique item number of the shop (SUPPLIER_AID) and sub-elements that contain information about description, prices and other features of the item. The transaction T_NEW_CATALOG can contain any number of items.

Note: Please notice that pixi does not exactly follow the standard BMEcat specification. Only content of the elements within ARTICLE are imported, all other elements that can be within T_NEW_CATALOG are not processed.

<T_NEW_CATALOG> 
<ARTICLE>

</ARTICLE>
<ARTICLE>

</ARTICLE>

</T_NEW_CATALOG>


ARTICLE

Each ARTICLE section contains one item or variant item with primary key (unique item code) and the concerning details of the item, like prices, supplier, item name etc. It is possible to assign more than one supplier per item, the URL to the item image can also be imported.

<ARTICLE>
<SUPPLIER_AID>Primary key of the item, Shop Item Number</SUPPLIER_AID>
<ARTICLE_DETAILS>...</ARTICLE_DETAILS>
<ARTICLE_FEATURES>...</ARTICLE_FEATURES>
<ARTICLE_ORDER_DETAILS>...</ARTICLE_ORDER_DETAILS>
<ARTICLE_PRICE_DETAILS>...</ARTICLE_PRICE_DETAILS>
<MIME_INFO>...</MIME_INFO>
<ITEMTAGS>...</ITEMTAGS>
<ITEM_BUNDLE>...</ITEM_BUNDLE>
</ARTICLE>
 

 

Element name

Description

Possible values and constraints

Example

SUPPLIER_AID

Unique item number of the „supplier“ which refers to the sender of the BMEcat file, i.e. this tag needs to contain the shop item number

Has to be unique, should not change over time, max. 50 characters, only numbers and/or letters, point and dash

18100-B180.200

ARTICLE_DETAILS

Contains data elements to identify and describe an item

Mandatory element, can occur only once.


ARTICLE_FEATURES

Within this element the item is classified and described with certain features.

Contains mandatory elements and is therefore mandatory, can occur multiple times.


ARTICLE_ORDER_DETAILS

Contains information about order conditions and packaging properties of the item.

Optional element, can occur only once


ARTICLE_PRICE_DETAILS

Specifies price information of an item

Contains mandatory elements and is therefore mandatory, can occur multiple times, e.g. to import net and gross price of an item.


MIME_INFO

Reference to multimedia sources of an item

Optional element, can occur only once


ITEMTAGS

Import of item tags. It is not possible to remove existing tags, only addition of new tags to an item is possible.

Optional element, can occur multiple times. This element is pixi specific and does not correspond to the official BMEcat specification. ITEMTAGS is only available with Imports 2.0.


ITEM_BUNDLE

Definition of an item as bundle and listing of all items in the bundle, or deletion of a bundle.

Optional element, can occur multiple times. This element is pixi specific and does not correspond to the official BMEcat specification.

See also Import of Bundles

Back to top

ARTICLE_DETAILS

The element ARTICLE_DETAILS contains data fields to identify and describe an item.

<ARTICLE_DETAILS>
<DESCRIPTION_SHORT>Item name (incl. variant)</DESCRIPTION_SHORT>
<DESCRIPTION_LONG>Item Description</DESCRIPTION_LONG>
<EAN>EAN/Barcode of the item</EAN>
<MANUFACTURER_NAME>Name of the manufacturer</MANUFACTURER_NAME>
<MANUFACTURER_TYPE_DESCR>Alternative item name</MANUFACTURER_TYPE_DESCR>
<SEGMENT>Category in shop</SEGMENT>
<WEIGHT>Weight in kg</WEIGHT>
<INTERNAL_ITEM_NUMBER>Internal item number</INTERNAL_ITEM_NUMBER>
</ARTICLE_DETAILS>

 

Element name

Description

Possible values and constraints

Example

DESCRIPTION_SHORT

Item name incl. Variant (optional)

max. 100 characters; is overwritten by Tag <FNAME>Anzeigetitel</FNAME in ARTICLE FEATURES if provided

Matratze Comfort Plus, Größe: 180 x 160 cm, Farbe: weiß

DESCRIPTION_LONG

Item description

Import available from pixi AVA Official on. The item description (max 4.000 characters) must be within the CDATA section or the tag for line break needs to be converted to <br> or <br />

Examples:

<DESCRIPTION_LONG><![CDATA[Description <br /> -newline <br/> -newline <br/> -newline]]></DESCRIPTION_LONG> <DESCRIPTION_LONG>Description <br /> newline <br /> newline <br /> newline</DESCRIPTION_LONG>

EAN

EAN/Barcode of the item

Max. 13 digits, numbers and letters. If no EAN is available from shop, value „0“ has to be provided. Setting BMECatImport_Update_EANUPC has to be enabled to support the update of the barcode for items.

Important: The barcode must not comprise of the following characters reserved for Personalized Items: #, &, $

4000652231235

MANUFACTURER_NAME

Name of the manufacturer



MANUFACTURER_TYPE_DESCR

Name of the item provided by the manufacturer

Is used as item name in case DESCRIPTION_SHORT and <FNAME>Anzeigetitel</FNAME> in ARTICLE_FEATURES are not provided.


SEGMENT

Category of the item in shop

Max. 50 characters, if database setting BMECat_ExtendCategory50Chars is enabled (from pixi LOU Update 6 on), letters and numbers or empty if no value available.

From pixi LOU Update 1 on: In case a category is not defined in the XML, pixi adds the default one (Sonstige) to the item. Otherwise items are not put to the picklist correctly.

T-Shirts

WEIGHT

Weight of the item

Optional, in kg with dot as separator. This element is pixi specific and does not correspond to the official BMEcat specification.

1.23

INTERNAL_ITEM_NUMBER

Internal item number of the item – new from pixi AVA Milestone 1 on. Enables choosing of own number format for items.

Max. 50 characters. This element is pixi specific and does not correspond to the official BMEcat specification.


Back to top

ARTICLE_FEATURES

The FEATURE elements within ARTICLE_FEATURES classify an item. The properties need to be unique, i.e. the feature name FNAME needs to be different for all elements in ARTICLE_FEATURES section. One FEATURE element describes a property of an item by providing name (</FNAME>) and value (</FVALUE>).

<ARTICLE_FEATURES>
<FEATURE>
<FNAME>Europe1PriceFactory.PTG</FNAME>
<FVALUE>VAT rate</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>WEIGHT</FNAME>
<FVALUE>Weight of the item</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>ID OXID</FNAME>
<FVALUE>shop item number</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>ID SupplierID</FNAME>
<FVALUE>supplier item number</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>EK SupplierID</FNAME>
<FVALUE>supplier price</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>MIN_STOCK_QTY</FNAME>
<FVALUE>Minimum Stock Quantity (Reorder Level)</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>Anzeigetitel</FNAME>
<FVALUE>Name of the item</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>WIDTH</FNAME>
<FVALUE>12</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>HEIGHT</FNAME>
<FVALUE>2</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>LENGTH</FNAME>
<FVALUE>3</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>TARGET_STOCK</FNAME>
<FVALUE>6</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>STATUS</FNAME>
<FVALUE>ACTIVE or INACTIVE</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>BookAccountEu</FNAME>
<FVALUE>XXX</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>BookAccountNonEu</FNAME>
<FVALUE>XXX</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>BookAccountEuCompanies</FNAME>
<FVALUE>XXX</FVALUE>
</FEATURE>

<SerialNumberRequired>0</SerialNumberRequired>
<CustomsTariffNumber>12456</CustomsTariffNumber>
<CustomsCountryOfOrigin>DE</CustomsCountryOfOrigin>
<CustomsTariffText>Plastics</CustomsTariffText>

</ARTICLE_FEATURES>

 

Element name (FNAME)

Description (Value in FVALUE is used for)

Possible values and constraints

Example

Europe1PriceFactory.PTG

VAT rate of the item

Mandatory

Possible values:

  • 'MWST_HIGH' or 'H'

  • 'MWST_LOW' or 'L'

  • 'MWST_NONE' or 'N' (only with Imports 2.0)

MwSt_High

WEIGHT

Weight of the item

In "kg" with 2 digits after dot as separator or empty if no value available. Is overwritten by tag </WEIGHT> in ARTICLE_DETAILS if provided.

1.23

ID XYZ

Supplier item number (XYZ refers to name of the supplier)

Max. 50 characters (numbers and letters)

Note: If setting BMECatImport_Update_EANUPC is enabled, the EAN provided in ARTICLE_DETAILS is also used to update the barcode for this supplier.

Important:

The Import maps the supplier given in the XML to an existing supplier in pixi if and only if the value of XYZ in the XML exactly matches one of the following values in pixi:

  1. supplier name

  2. supplier number, max. 4 chars

Otherwise, pixi creates a new supplier and sets its number (SupplNr) to:

  1. the first four letters of the value for XYZ, if they are not used for another supplier yet

  2. otherwise a random 4 letter hex code

18/1235-56

EK XYZ

Supplier price of supplier XYZ

Money value with dot as separator and 2 digits. Value is only processed if element “ID XZY” is also provided.

3.55

ID OXID oder ID MGS

Supplier item number of the standard supplier MGS, but „ID OXID“ has priority (i.e. if ID OXID and ID MGS are provided the value of ID OXID is used as supplier item number for MGS)

Max. 40 characters, letters and numbers. If setting OxidAddItemNrToTitle is enabled, the item number from ID OXID is added in brackets to the item name.

4556-52/08

MIN_STOCK_QTY

Minimum stock quantity/Reorder level

Only integer or empty if no value available.

From pixi ELI on: If setting BMECatImport_Update_MinStockQty is enabled, the value is imported as reorder level for all locations.

5

MIN_ORDER_QTY

Minimum order quantity

Only integer or empty if no value is available.

Not supported anymore from pixi ELI on.

3

Anzeigetitel

Item name

Max. 120 characters, overwrites value of elements DESCRIPTION_SHORT in ARTICLE_DETAILS.


WIDTH

Item's width

In full "cm" - max. 4 digits. Import rules:

  • 12345 > 1234

  • 123,56 > 123, > 123

  • 12,56 > 12,5 > 13

Note: If you want to use the item dimensions with ASFP and 1SS make sure to set dimensions according to perhaps needed stuffing.

Negative values are replaced with NULL

12

HEIGHT

Item's height

2

LENGTH

Item's length

3

TARGET_STOCK

Item's target stock

Only integer or empty if no value available.

If setting "BMECat, Import of Target Stock" is enabled (it is disabled by default), the value is imported as target stock for all locations.

6

STATUS

Item status

ACTIVE or INACTIVE

ACTIVE

FELD1

If the database setting BMECatGetPriceFromFeld1 is enabled, the gross selling price is imported from this field.

Money value with dot as separator and 2 or 4 digits

Not supported anymore from pixi ELI on.

5.56

FELD2

If the database setting BMECatGetSupplPriceFromFeld2 is enabled, the supplier price is imported from this field.

Money value with dot as separator and 2 or 4 digits

5.78

It is possible to provide DATEV account numbers on the item level. The DATEV Export needs to be enabled in pixi Control Center (database setting BookExportDatevUseAccountsFromItemsForBookkeeping in folder Payments > DATEV Export). Since an item has only one VAT rate assigned (High or Low), the account numbers need to be provided according to the VAT rate of the item.

BookAccountEu

Account for turnover within EU from B2C business

Accounts for income: invoices from customers are booked to these accounts

BookAccountNonEu

Account for turnover from outside EU

BookAccountEuCompanies

Account for turnover from EU companies, i.e. without VAT

Some information can be provided in the section ARTICLE_FEATURES without FNAME and FVALUE structure:

Element name

Description

Possible values and constraints

SerialNumberRequired

Item requires serial number.

„0“ for not required or „1“ for required (i.e. the system tag for serial number will be added to the item), but note that the same behaviour as for normal item tags applies: if the serial number tag was added to the item once it cannot be removed by BMEcat import

If packages are send to foreign countries specific parameters like customs tariff number or country of origin are needed for the export declaration. Therefore 3 parameters can be imported with BMEcat which can then be printed on the invoice. The transfer of those 3 parameters to the shipping vendors is not possible.

CustomsTariffNumber

Customs Tariff Number


CustomsCountryOfOrigin

Country of origin of the item

ISO-2 code of the country

CustomsTariffText

Group of goods


Back to top

ARTICLE_ORDER_DETAILS

The element ARTICLE_ORDER_DETAILS contains information about order conditions and packaging properties. pixi uses only the tag ORDER_UNIT to provide the package unit of the item:

<ARTICLE_ORDER_DETAILS>
<ORDER_UNIT>Package unit</ORDER_UNIT>
</ARTICLE_ORDER_DETAILS>

Notes:
-
In case the tag is missing, the value is empty, a blank space or 0, it uses 1 as the packing unit.
- A system constraint blocks the import in case the packing unit in the XML is a decimal number (with a dot as the decimal separator, e.g., "2.3"), the value is not numeric or the value is negative. (Available from pixi AVA Update 4 on)
-
If a decimal number with comma as separator is imported, e.g. "2,3", the decimal places are cut and only the value in front of the comma is imported, in the example it's "2".


ARTICLE_PRICE_DETAILS

The section ARTICLE_PRICE_DETAILS specifies the price information of an item. It is possible to provide different prices per item, for example the net and gross selling prices by using attribute “price_type” of element ARTICLE_PRICE).

<ARTICLE_PRICE_DETAILS>
<ARTICLE_PRICE price_type="gros_list">
<PRICE_AMOUNT>Gross selling price</PRICE_AMOUNT>
<PRICE_CURRENCY>EUR</PRICE_CURRENCY>
<SUPPLPRICE_AMOUNT>Net supplier price</SUPPLPRICE_AMOUNT>
</ARTICLE_PRICE>
</ARTICLE_PRICE_DETAILS>

<ARTICLE_PRICE_DETAILS>
<ARTICLE_PRICE price_type="net_list">
<PRICE_AMOUNT>Net selling price</PRICE_AMOUNT>
<PRICE_CURRENCY>EUR</PRICE_CURRENCY>
<SUPPLPRICE_AMOUNT>Net supplier price</SUPPLPRICE_AMOUNT>
</ARTICLE_PRICE>
</ARTICLE_PRICE_DETAILS>

Note: pixi supports item prices up to 999.999,99. If item price in the XML for item import is higher, then 999.999,99 is used instead and the item will not be imported in case constraint "Difference between net and gross price has to match existing VAT rate" is activated.

 

Element name

Description

Possible values and constraints

Example

ARTICLE_PRICE price_type="gros_list”

To provide the gross selling price of the item



ARTICLE_PRICE price_type="net_list”

To provide the net selling price of the item



PRICE_AMOUNT

Price

Mandatory, can occur only once. Money value with 2 or 4 digits and dot as separator.

29.95

PRICE_CURRENCY

Currency of the prices

Mandatory if you are using multi-currency functionality

EUR

SUPPLPRICE_AMOUNT

Net supplier price (independent from value of price_type attribute)

Optional, money value with 2 or 4 digits and dot as separator. Updates supplier prices of all suppliers except MGS unless specific supplier price is provided in ARTICLE_FEATURES section.

18.78

Back to top

MIME_INFO

The element MIME_INFO provides information about multimedia documents of an item. Therefore, it is possible to import information about item images or additional description documents. The element MIME_INFO can contain two MIME elements. Every MIME tag represents exactly one reference to an additional document. The definition of the MIME information follows the official MIME format (Multipurpose Internet Mail Extensions) for transfer of data in the internet.

Tip: If the permission “Show Item Image” is assigned to the current user role, the item image from the imported URL is shown in pixi Customer Service when creating returns or replacements (available from pixi LOU Update 7 on).


<MIME_INFO>
<MIME>
<MIME_TYPE>image/jpeg</MIME_TYPE>
<MIME_SOURCE>Url to the image</MIME_SOURCE>
<MIME_PURPOSE>normal</MIME_PURPOSE>
</MIME>
</MIME_INFO>

Element name

Description

Possible values and constraints

MIME_TYPE

Type of the document/file

According to MIME format, e.g. image/jpeg, image/gif

MIME_SOURCE

Relative path and file name or URL address

Sub directories are separated by slashes („/“), e.g. /public/document/demo.pdf.

MIME_PURPOSE

Desired purpose of the MIME document in the target system

normal = normal image (normal)

thumbnail = thumbnail (small)


ITEMTAGS

With the ITEMTAGS element it is possible to assign new tags for an item in pixi. It is not possible to remove existing tags from an item.

<ITEMTAGS>
<ITEMTAG>Geschenke</ITEMTAG>
<ITEMTAG>Wohnen</ITEMTAG>
<ITEMTAG>Bar-Equippment</ITEMTAG>
<ITEMTAG>Fantasy</ITEMTAG>
<ITEMTAG>Uhren</ITEMTAG>
</ITEMTAGS>

Back to top

Import of Bundles

Definition of a bundle

You can define an item that is imported via BMEcat also as a bundle. Therefore, the items in the bundle need to be listed.

<ARTICLE>
...
<ITEM_BUNDLE>
<BUNDLE_ITEM>
<BUNDLE_ITEMNRINT>SUPPLIER_AID</BUNDLE_ITEMNRINT>
<BUNDLE_ITEMQTY>Quantity</BUNDLE_ITEMQTY>
</BUNDLE_ITEM>
<BUNDLE_ITEM>
<BUNDLE_ITEMNRINT>SUPPLIER_AID</BUNDLE_ITEMNRINT>
<BUNDLE_ITEMQTY>Quantity</BUNDLE_ITEMQTY>
</BUNDLE_ITEM>
</ITEM_BUNDLE>
...
</ARTICLE>

Notes:
-
The ITEM_BUNDLE element can be repeated within ARTICLE. All items within BUNDLE_ITEM tags are added as items to the bundle.
- Creation of bundles is possible if the bundle and bundled items are in the same XML. Re-import is not necessary anymore. If an XML includes the NO_BUNDLE part and the imported item is in a bundle, but not used in any existing order, it changes back to a non-bundle item.

 

Element name

Description

Possible values and constraints

Example

BUNDLE_ITEMNRINT

Shop item number of the item in the bundle

Mandatory

18100-B180.200

BUNDLE_ITEMQTY

Quantity of this item in the bundle

Mandatory, integer value

3


Delete a bundle

An item that was defined as a bundle can be deleted from pixi with the following XML structure:

<ITEM_BUNDLE> 
<BUNDLE_ITEM>
<BUNDLE_ITEMNRINT>NO_BUNDLE</BUNDLE_ITEMNRINT>
<BUNDLE_ITEMQTY>1</BUNDLE_ITEMQTY>
</BUNDLE_ITEM>
</ITEM_BUNDLE>

Back to top

Import of customs tariff number

If specific information like customs tariff number or country of origin of an item are needed to ship to foreign countries, there are 3 parameters to import this information to pixi. These values can then also be printed on the invoice. Therefore the invoice template may have to be adapted. A transfer to shipping vendors, e.g. DHL, GLS, DPD, UPS, is not supported.

Please also consider, that the shop connection needs to be adapted in order to import the 3 additional parameters. In case of questions please contact pixi support.

Available Parameters

The following parameter can be imported via BMEcat to pixi

 <CustomsTariffNumber>123456</CustomsTariffNumber>
<CustomsCountryOfOrigin>DE</CustomsCountryOfOrigin>
<CustomsTariffText>Plastics</CustomsTariffText>

The parameter <CustomsTariffNumber> contains the customs tariff number, the parameter <CustomsCountryOfOrigin> the country of origin of the item and <CustomsTariffText> describes the group of goods.


Example

Example for the correct syntax:

 (...)
<FEATURE>
<FNAME>Europe1PriceFactory.PTG</FNAME>
<FVALUE>MwSt_High</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>ID MGS</FNAME>
<FVALUE>123456</FVALUE>
</FEATURE>
<CustomsTariffNumber>123456</CustomsTariffNumber>
<CustomsCountryOfOrigin>DE</CustomsCountryOfOrigin>
<CustomsTariffText>Plastics</CustomsTariffText>
</ARTICLE_FEATURES>
<ARTICLE_PRICE_DETAILS>
<ARTICLE_PRICE price_type="gros_list">
<PRICE_AMOUNT>9.99</PRICE_AMOUNT>
<PRICE_CURRENCY>EUR</PRICE_CURRENCY>
(...)


Back to top

Using multi-currency functionality

If multi-currency functionality in pixi is enabled some specific behaviors need to be considered when using the BMEcat structure to import items to pixi. The main advantage is the possibility to import the exact selling prices for items in different currencies. The imported price in the specific currency is then used when an item is added manually to an order that is created in that same currency.

A complete XML example to demonstrate the required structure can be found below.


Mandatory elements

If the multi-currency functionality in pixi is enabled, the following tags are mandatory when importing items to pixi:

  • SHOPID: Based on the shop and the assigned shop currency, pixi validates that the prices are provided in the required currency.

  • PRICE_CURRENCY: As the whole <ARTICLE_PRICE> block can be included more than once per item, to allow import of prices in multiple currencies, it is mandatory that the <PRICE_CURRENCY> is also provided in each of the blocks (also when there is only one <ARTICLE_PRICE> block).


Import price of an item in multiple currencies

It is mandatory that the selling price of an item is provided in either the shop currency or in the home currency. When the price of a new item is not provided in the home currency, it is calculated from the price in the shop currency, using the exchange rate from ECB that is valid on the day of import. When the price of a new item is neither provided in home currency nor in shop currency, the item will not be imported.

Note: when an item is re-imported, the price in the home currency is only updated when it is provided (i.e. it is not re-calculated from the shop currency).


Import of supplier prices

The buying process in pixi do not support multi-currency yet, therefore the supplier prices can only be imported in the home currency.

Import the supplier price per supplier

If supplier price is provided per supplier by using the FEATURE elements, the amount has to be in the home currency (with current XML structure it is not possible to set the currency additionally).


Example:

<FEATURE>
<FNAME>EK ABCD</FNAME>
<FVALUE>6.35</FVALUE>
</FEATURE>

The supplier price for supplier with ID "ABCD" is 6,35 - price currency is the home currency.


Import the supplier price per item (same price for all the suppliers)

If you want to set the same supplier price for all suppliers of an item (or only one supplier is assigned to the item), the supplier price can be imported to pixi by using the ARTICLE_PRICE element. Only the supplier price is considered which is part of the ARTICLE_PRICE block where PRICE_CURRENCY is the home currency.

Example - home currency is set to EUR:

<ARTICLE_PRICE_DETAILS>
<ARTICLE_PRICE price_type="gros_list">
<PRICE_AMOUNT>11.00</PRICE_AMOUNT>
<SUPPLPRICE_AMOUNT>6.19</SUPPLPRICE_AMOUNT>
<PRICE_CURRENCY>EUR</PRICE_CURRENCY>
</ARTICLE_PRICE>
<ARTICLE_PRICE price_type="gros_list">
<PRICE_AMOUNT>13.00</PRICE_AMOUNT>
<SUPPLPRICE_AMOUNT>7.33</SUPPLPRICE_AMOUNT>
<PRICE_CURRENCY>USD</PRICE_CURRENCY>
</ARTICLE_PRICE>

The supplier price of 6,19 EUR from the <SUPPLPRICE_AMOUNT> tag is used for all the the suppliers where the specific supplier price is not provided in the FEATURE elements. The supplier price provided in other ARTICLE_PRICE block(s) where price currency is not the home currency is ignored.

When supplier price is not provided at all or not provided in the database currency, it is set to 0 for the item. This is only valid for new items.
In case an item is re-imported and supplier price missing in the XML, then the existing supplier price is not updated to 0.

See also: Multi-currency, Terminology

Back to top

Complete BMEcat XML Example

<?xml version="1.0" encoding="UTF-8"?>
<BMECAT version="1.2">

<HEADER>

<GENERATOR_INFO>Name Ihres Shop-Systems - BMEcat Export</GENERATOR_INFO>

<CATALOG>
<LANGUAGE>deu</LANGUAGE>
<CATALOG_ID>catalog1</CATALOG_ID>
<CATALOG_VERSION>1.0</CATALOG_VERSION>
<CATALOG_NAME> 13.10.2011 BMECat Export</CATALOG_NAME>
<CURRENCY>EUR</CURRENCY>
<DATABASE>Name der pixi Datenbank</DATABASE>
<SHOPID>Mandanten ID</SHOPID>
<DATEEXPORT>UNIX-Zeitstempel</DATEEXPORT>
<EXPORT_DATE>Datums-Zeitstempel</EXPORT_DATE>
</CATALOG>

<BUYER>
<BUYER_ID>1234</BUYER_ID>
<BUYER_NAME>Fraunhofer IAO</BUYER_NAME>
<ADDRESS type="buyer">
<NAME>Fraunhofer IAO</NAME>
<NAME2>Marktstrategieteam Electronic Business Systems</NAME2>
<STREET>Holzgartenstrasse 17</STREET>
<ZIP>70174</ZIP>
<CITY>Stuttgart</CITY>
<COUNTRY>Germany</COUNTRY>
</ADDRESS>
</BUYER>

<SUPPLIER>
<SUPPLIER_NAME/>
<ADDRESS type="supplier">
<NAME>OXID eShop 4</NAME>
<STREET>Musterstr.10</STREET>
<ZIP>79098</ZIP>
<CITY>Musterstadt</CITY>
<COUNTRY>Deutschland</COUNTRY>
</ADDRESS>
</SUPPLIER>

</HEADER>

<!--Transaction section - mandatory-->
<T_NEW_CATALOG>

<ARTICLE>

<SUPPLIER_AID>18201-180160-bl</SUPPLIER_AID>

<ARTICLE_DETAILS>
<DESCRIPTION_SHORT><![CDATA[Matratze Comfort Plus, Größe: 180 x 160 cm, Farbe: blau]]></DESCRIPTION_SHORT>
<DESCRIPTION_LONG><![CDATA[7-Zonen Komfortschaummatratze für einen guten Schlaf, <br/> Komfort- und
  Entlastungszone im Schulter-, Lenden- und Beckenbereich, <br/> Atmungsaktiver Doppeltuchbezug, <br/>
  Bezug geprüft nach Öko-Tex Standard 100, <br/> Für Allergiker geeignet]]></DESCRIPTION_LONG>
<EAN>4000053269821</EAN>
<MANUFACTURER_NAME>Comfort</MANUFACTURER_NAME>
<SEGMENT>Matratzen</SEGMENT>
<WEIGHT>10</WEIGHT>
<INTERNAL_ITEM_NUMBER>UnsereArtikelnummer</INTERNAL_ITEM_NUMBER>
</ARTICLE_DETAILS>

<ARTICLE_FEATURES>
<FEATURE>
<FNAME>ID Comfort</FNAME>
<FVALUE>12345</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>EK Comfort</FNAME>
<FVALUE>99.00</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>Europe1PriceFactory.PTG</FNAME>
<FVALUE>MWST_HIGH</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>MIN_STOCK_QTY</FNAME>
<FVALUE>5</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>TARGET_STOCK</FNAME>
<FVALUE>6</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>STATUS</FNAME>
<FVALUE>ACTIVE</FVALUE>
</FEATURE>

<SerialNumberRequired>0</SerialNumberRequired>
<CustomsTariffNumber>12456</CustomsTariffNumber>
<CustomsCountryOfOrigin>DE</CustomsCountryOfOrigin>
<CustomsTariffText>Betten</CustomsTariffText>

</ARTICLE_FEATURES>

<ARTICLE_PRICE_DETAILS>
<ARTICLE_PRICE price_type="gros_list">
<PRICE_AMOUNT>119</PRICE_AMOUNT>
<PRICE_CURRENCY>EUR</PRICE_CURRENCY>
<SUPPLPRICE_AMOUNT>95</SUPPLPRICE_AMOUNT>
</ARTICLE_PRICE>
<ARTICLE_PRICE price_type="net_list">
<PRICE_AMOUNT>100</PRICE_AMOUNT>
<PRICE_CURRENCY>EUR</PRICE_CURRENCY>
<SUPPLPRICE_AMOUNT>95</SUPPLPRICE_AMOUNT>
</ARTICLE_PRICE>
</ARTICLE_PRICE_DETAILS>

<!--optional-->
<ITEMTAGS>
<ITEMTAG>Wohnen</ITEMTAG>
<ITEMTAG>Geschenke</ITEMTAG>
</ITEMTAGS>

<!--optional-->
<MIME_INFO>
<MIME>
<MIME_TYPE>image/jpeg</MIME_TYPE>
<MIME_SOURCE>http://www.madgeniuses.net/images/Bild.jpg</MIME_SOURCE>
<MIME_PURPOSE>normal</MIME_PURPOSE>
</MIME>
</MIME_INFO>

<!--optional-->
<ARTICLE_ORDER_DETAILS>
<ORDER_UNIT>10</ORDER_UNIT>
</ARTICLE_ORDER_DETAILS>

</ARTICLE>
</T_NEW_CATALOG>
</BMECAT>


Back to top

Example when using multi-currency functionality

The following example shows an item import XML for the shop ABC for which GBP is set as shop currency. The home currency is set to EUR.

<BMECAT version="1.2">
<HEADER>
<GENERATOR_INFO>OXID eShop Professional Edition BMECat Export</GENERATOR_INFO>
<CATALOG>
<LANGUAGE>1</LANGUAGE>
<CATALOG_ID>4e96c808be6bf</CATALOG_ID>
<CATALOG_VERSION/>
<CATALOG_NAME> 13.05.2015 BMECat Export</CATALOG_NAME>
<DATABASE>pixi_TEST</DATABASE>
<SHOPID>ABC</SHOPID>
<DATEEXPORT>2015-05-13 13:14:15</DATEEXPORT>
</CATALOG>
...
</HEADER>
<T_NEW_CATALOG>
<ARTICLE>
...
<ARTICLE_FEATURES>
<FEATURE>
<FNAME>ID XYZ</FNAME>
<FVALUE>9842912363377</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>ID PIXI</FNAME>
<FVALUE>9842912363377</FVALUE>
</FEATURE>
<FEATURE>
<FNAME>EK XYZ</FNAME>
<FVALUE>6.35</FVALUE>
<!-- 6,35 EUR is imported as supplier price for supplier XYZ -->
</FEATURE>
...
</ARTICLE_FEATURES>
...
<ARTICLE_PRICE_DETAILS>
<ARTICLE_PRICE price_type="gros_list">
<PRICE_AMOUNT>11.00</PRICE_AMOUNT>
<SUPPLPRICE_AMOUNT>6.19</SUPPLPRICE_AMOUNT>
<!-- 6,19 EUR is imported as supplier price for supplier PIXI -->
<PRICE_CURRENCY>EUR</PRICE_CURRENCY>
</ARTICLE_PRICE>
<ARTICLE_PRICE price_type="gros_list">
<PRICE_AMOUNT>13.00</PRICE_AMOUNT>
<SUPPLPRICE_AMOUNT>7.33</SUPPLPRICE_AMOUNT>
<!-- Supplier price is ignored -->
<PRICE_CURRENCY>USD</PRICE_CURRENCY>
</ARTICLE_PRICE>
<ARTICLE_PRICE price_type="gros_list">
<PRICE_AMOUNT>10.00</PRICE_AMOUNT>
<SUPPLPRICE_AMOUNT>5.05</SUPPLPRICE_AMOUNT>
<!-- Supplier price is ignored -->
<PRICE_CURRENCY>GBP</PRICE_CURRENCY>
</ARTICLE_PRICE>
</ARTICLE_PRICE_DETAILS>
</ARTICLE>
</T_NEW_CATALOG>
</BMECAT>

Back to top

Item Code Settings in Control Center

In Control Center there are several settings that affect the behaviour of item codes in pixi. The following table lists all of those settings, and additionally it listed in what objects (procedures, triggers) they are used.


Name

Description

Usage

Show Item Nr. Suppl. from MGS supplier

If set to ON, item number supplier from MGS supplier (if exists) is always displayed for the item. If set to OFF, item number supplier from last supplier update is displayed for the item.

If they import their own Item Nr. Suppl. in ID OXID, this has to be ON.

If this setting AddItems_DoNotUpdateItemNrSupplOnInsert on ON then must be also the settings BMECatImport_Update_SupplPrice to ON

(Full setting name: AddItems_DoNotUpdateItemNrSupplOnInsert)

Used in: Additems_I, Additems_U, Additems_D

If set to 1, the supplier (GRM, MGS) is used (if exists in table Additems).

Otherwise the supplier in table items is not changed.

Suppliers, only keep last supplier

By enabling this option, only the most recently imported supplier will be kept for the item in pixi.
All other existing suppliers (including manually created) will be deleted as soon as the item is imported from shop or manually added to a supplier delivery of a supplier, which is currently not assigned to the item.

If there are more suppliers in a single XML, the supplier with the lowest supplier price is taken.

(Full setting name: BMECatImport_KeepOnlyLastSupplier )

Used in Pixi_C_ApplyItemsToMainTables and GOSInsertAdditemXML

if set to 1, then only MGS and last supplier stays in table Additems

BMECat, Import and update EAN/Barcodes

Allow item import to update barcodes

(Full setting name: BMECatImport_Update_EANUPC)

If set to 1, then the EANUPC from XML is used.

BMECat, Import Supplier Data/Information

If this setting is enabled the Supplier Nr.(SupplNr) and the Supplier Item Nr (ItemNrSuppl) will be imported with Item Import.

Updates on Supplier Item Prices (EK) can be controlled with the former setting ("BMECatImport_Update_SupplPrice")

(Full setting name: BMECatImport_Update_SupplData)

Used in: Pixi_C_ApplyItemsToMainTables

If set to 1, then imported data is used (else existing) for: SupplierId, SupplierNr, ItemNrSuppl

BMECat, Import and update Supplier Prices

If Setting is enabled it allows updates on item supplier prices (SupplPrice aka EK).

Updates on Supplier Nr.(SupplNr) and the Supplier Item Nr (ItemNrSuppl) can be controlled with the new setting ("BMECatImport_Update_SupplData).
After LEO Update 5: SupplPrice, SupplNr. and ItemNrSuppl. are updated if setting is enabled.
Before LEO Update 5: only Suppl. Price is updated at item import.

Setting also works with Imports 2.0.

(Full setting name: BMECatImport_Update_SupplPrice)

Used in: Pixi_C_ApplyItemsToMainTables

If set to 1, then imported data is used (else existing) for: SupplPrice

Create new barcode if case of double barcodes

Create new barcode if case of double barcodes during item import.

(Full setting name: CreateNewOnDoubleBarcodes)

Used in: pixi_C_GenerateNewBarcodesForDuplicates

If set to 1, then no new barcode is generated for duplicates.

BMECat, Keep existing Supplier Data on Item Import

When this setting is enabled, existing suppliers are kept in the database and item codes will not be overwritten with new data.
Instead, new supplier records will be created on item import. This can result in multiple records for the same supplier.

If an item is re-imported without a value for the EAN code and the database setting BMECat, keep supplier data on import is enabled, no new data records are created for suppliers with a new EAN.

(BMECatImport_KeepExistingSupplierData_MultipleEAN)


Back to top