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.
|
SUPPLIER |
Information about the delivering company (the sender of the catalog) – i.e. the online shop, e.g.
|
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 |
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:
|
|
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. |
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 |
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:
Otherwise, pixi creates a new supplier and sets its number (SupplNr) to:
|
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:
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. | ||
Customs Tariff Number |
||
Country of origin of the item |
ISO-2 code of the country |
|
Group of goods |
||
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 |
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>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>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>
(...)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
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>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>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.
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).
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.
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) |