text only available in english.
For data suppliers who manage their product information on international level, the choice of a data exchange format is often BMEcat 2005. When suppliers want to use a BMEcat 2005, we strongly recommend to use at least the ETIM V4.0 guidelines, but we prefer the BMEcat 2005 ETIM V5.0 guidelines. If you are using an older BMEcat ETIM guideline version, we advice to update as soon as possible.
The previous BMEcat ETIM guideline versions do not sufficiently match the current data needs of the industry. The complete ETIM guideline can be downloaded at the download section of ETIM International
If you have files according to previous ETIM guideline versions, we recommend that you upgrade to the latest version 5.0 as soon as possible. Point your software or ICT partner to this online documentation of 2BA. It are not rules imposed by 2BA, but Extensible Markup Language rules, a standard of the World Wide Web Consortium.
Developing an XML message based on an XSD and the associated rules is a task that requires XML specialization.
To avoid disappointment, we recommend that you use a specialized software party with sufficient XML knowledge. Of course, there are also various PIM software parties affiliated with 2BA that export a valid dataset via an efficient route so that you can easily deliver your valuable data to 2BA.
BMEcat 2005 ETIM V4.0 messages must be validated without errors according to the accompanying scheme. ETIM International offers a validate tool (login required) for this purpose within the website.
2BA is conforming the data pool according to the Dutch standards of Ketenstandaard Bouw en Techniek with the INSBOU and DICO / SALES XML files. The supported exchange formats are mapped to the internal fields of the data model. Some internal fields may differ from the length or type as described in the guideline of the exchange formats. We create as much clarity as possible but there may be differences, which we mention in the mapping. For example, in BMEcat 2005 the short description has a length of 150 characters, in the data model only 70 characters.
T_NEW_CATALOG mapping of BMEcat 4.0
T_UPDATE_PRODUCTS mapping of BMEcat 4.0
Test dataset BMEcat 2005 ETIM V4.02
The BMEcat 2005 4.0 file should be validated according to the XSD to be sure of full compliance with 2BA.
We recommend using the ETIM BMEcat validation tool (ETIM account needed) to validate your file.
There are a few exceptions in the current XSD (filedate: 2019-05-01).
Corrections for the ETIM 4.0.2 Guidelines documentation (all are correct in XSD file) are:
Every country requires more fields then originally available in the BMEcat 2005 structure. In cooperation with ETIM Netherlands, we have defined country specific guidelines for the Netherlands.
Please use this UDX fields (UDX.EDXF.PRODUCT_CHARACTERISTICS) as defined in the ETIM guideline 4.0.2 starting at page 143 to page 162.
The BMEcat 2005 ETIM Guideline V4.0.2 contains clear examples of how to define them in your data file.
The header of the BMEcat with ETIM guidelines 4.0 should be like the example below:
<BMECAT xmlns="https://www.etim-international.com/bmecat/40" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://www.etim-international.com/bmecat/40 https://www.etim-international.com/bmecat_etim_40.xsd" version="2005">
<HEADER>
<GENERATOR_INFO>Name generator</GENERATOR_INFO>
<CATALOG>
<LANGUAGE>dut</LANGUAGE>
<CATALOG_ID>ETIM-BMEcat-4.0-01</CATALOG_ID>
<CATALOG_VERSION>01.01</CATALOG_VERSION>
<CATALOG_NAME>Catalogname</CATALOG_NAME>
<DATETIME type="generation_date">
<DATE>2018-02-26</DATE>
</DATETIME>
<TERRITORY>NL</TERRITORY>
<CURRENCY>EUR</CURRENCY>
<MIME_ROOT>optional</MIME_ROOT>
</CATALOG>
<BUYER>
<BUYER_ID type="gln">8714252005929</BUYER_ID>
<BUYER_NAME>2BA</BUYER_NAME>
</BUYER>
<SUPPLIER>
<SUPPLIER_ID type="gln">8712345678910</SUPPLIER_ID>
<SUPPLIER_NAME>Company name</SUPPLIER_NAME>
</SUPPLIER>
<USER_DEFINED_EXTENSIONS>
<UDX.EDXF.VERSION>4.0</UDX.EDXF.VERSION>
</USER_DEFINED_EXTENSIONS>
</HEADER>
</BMECAT>
2BA supports complete or update (mutation) files of the BMECat 4.0. A complete BMEcat files has to contain all active products. A new complete file will overwrite all records in the database!. To define the file as a complete file, use T_NEW_CATALOG. Existing productrecords which are not present in the complete file will be set as “expired”. Existing trade itemsrecords which are not present in the complete file will be deleted.
Delivery of mutation files is also possible.
EXAMPLE complete files:
<T_NEW_CATALOG>
<PRODUCT mode="new">
</PRODUCT
</T_NEW_CATALOG>
EXAMPLE mutation file:
<T_UPDATE_PRODUCTS>
<PRODUCT mode="update">
</PRODUCT>
</T_UPDATE_PRODUCTS>
2BA distinguishes two entities, the product information and related trade item information. Product information concerns data from the manufacturer about the manufactured product such as attachments and ETIM classification. The related trade item information contains all data indicating how to order the item such as gross price, order unit, minimum purchase amount and delivery time. In many cases (standard manufacturers), this information will be equal to each other, but a distinction can be made here for importers.
SUPPLIER_PID | Trade item number |
UDX.EDXF.GTIN | GTIN trade item |
MANUFACTURER_PID | Product number (smallest unpacked unit) |
INTERNATIONAL_PID type=”gtin” | GTIN product |
The product status codes are different between BMEcat 2005 ETIM V4.0 and the data model. The mapping is based on product status type, the value is informative (except for expired products). The product status will be set at product and trade item level (exept for expired products (model code 130).
Mapping of product status types versus the data model
BMEcat type | Data model descripiton | Data model code |
---|---|---|
core_product | Regular available | 126 or NULL |
others | Regular available | 126 or NULL |
new_product | New product | 84E |
new | New product | 84E |
old_product | Expiring product | 94E |
others | Expired product (only at product level; see important notes below) | 130 |
others | Suspended product (Product and trade item level: see important notes below) | 175 |
refurbished | Refurbished product (only at trade item level) | no modelcode; true/false indicator |
used | Used (second hand) product (only at trade item level) | no modelcode; true/false indicator |
EXAMPLE expired products:
<PRODUCT_STATUS type="others">discontinued</PRODUCT_STATUS>
EXAMPLE suspended products:
<PRODUCT_STATUS type="others">suspended</PRODUCT_STATUS>
It is possible for a manufacturer or supplier to distribute more than one type of package for the same product. According to the ETIM International Guidelines there are some strict rules:
For trade items, the logistic information can be given for each unique trade item in the elements UDX.EDXF.PACKING_UNITS, PRODUCT_LOGISTIC_DETAILS and UDX.EDXF.PRODUCT_CHARACTERISTIC. Measurements must be given in meters and weights must to be given in kilograms. If there are more than one trade items for the same product see chapter Multiple packing units for the same product. The mapping below applies to the packaging information for all trade items:
<UDX.EDXF.PACKING_UNITS>
<UDX.EDXF.PACKING_UNIT>
<UDX.EDXF.QUANTITY_MIN>1</UDX.EDXF.QUANTITY_MIN>
<UDX.EDXF.QUANTITY_MAX>1</UDX.EDXF.QUANTITY_MAX>
<UDX.EDXF.PACKING_UNIT_CODE>CT</UDX.EDXF.PACKING_UNIT_CODE>
<UDX.EDXF.PACKING_PARTS>1</UDX.EDXF.PACKING_PARTS>
<UDX.EDXF.WEIGHT>7.6</UDX.EDXF.WEIGHT>
<UDX.EDXF.LENGTH>0.34</UDX.EDXF.LENGTH>
<UDX.EDXF.WIDTH>0.52</UDX.EDXF.WIDTH>
<UDX.EDXF.DEPTH>0.52</UDX.EDXF.DEPTH>
<UDX.EDXF.GTIN>GTIN trade item</UDX.EDXF.GTIN>
</UDX.EDXF.PACKING_UNIT>
</UDX.EDXF.PACKING_UNITS>
Mapping of packing codes versus 2BA
The country of origin is the country of shipment of the order. The country of production is the actual production location. Please use the country specific UDX.EDXF.PRODUCT_CHARACTERISTIC field “Country of production origin” with code “NL_006”, see chapter 11 of the ETIM 4.0 guideline.
<PRODUCT_LOGISTIC_DETAILS>
<CUSTOMS_TARIFF_NUMBER>
<CUSTOMS_NUMBER>12345678</CUSTOMS_NUMBER>
</CUSTOMS_TARIFF_NUMBER>
<COUNTRY_OF_ORIGIN>NL</COUNTRY_OF_ORIGIN>
</PRODUCT_LOGISTIC_DETAILS>
<UDX.EDXF.PRODUCT_CHARACTERISTIC>
<UDX.EDXF.PRODUCT_CHARACTERISTIC_CODE>NL_006</UDX.EDXF.PRODUCT_CHARACTERISTIC_CODE>
<UDX.EDXF.PRODUCT_CHARACTERISTIC_NAME> Country of production origin </UDX.EDXF.PRODUCT_CHARACTERISTIC_NAME>
<UDX.EDXF.PRODUCT_CHARACTERISTIC_VALUE_STRING>DE</UDX.EDXF.PRODUCT_CHARACTERISTIC_VALUE_STRING>
</UDX.EDXF.PRODUCT_CHARACTERISTIC>
For each trade item can be defined how the trade item can be ordered, on which unit the price is based and how the product can be used. The mapping of the order and price details in the import of BMEcat 4.0 differs from older guideline versions.
Data model: | Formula: | |
---|---|---|
QuantityOfUseUnits | = | NO_CU_PER_OU * UDX.EDXF.QUANTITY_MIN |
Gross price | = | PRICE_AMOUNT |
Gross price per purchase unit | = | (PRICE_AMOUNT / PRICE_QUANTITY) * PRICE_FACTOR |
Gross price per content unit | = | ((PRICE_AMOUNT / PRICE_QUANTITY) * PRICE_FACTOR) / (NO_CU_PER_OU * UDX.EDXF.QUANTITY_MIN) |
Please note, the nonbinding recommended (retail) price (nrp), suggested retail price is within BMEcat specified including sales tax. The import proces reduces the speciied value with the specified VAT, because the suggested price in the data model is without sales tax.
The surcharge type “WEEE” is mapped to the Dutch “Afvalbeheersbijdrage”, model code ‘AEO’. Other material surcharge types are mapped to the model code ‘Overig’, model code ‘ADR’. The mapping of surcharge types versus the data model is available here.
<UDX.EDXF.SURCHARGE_LIST>
<UDX.EDXF.SURCHARGE>
<UDX.EDXF.SURCHARGE_TYPE>recycling WEEE</UDX.EDXF.SURCHARGE_TYPE>
<UDX.EDXF.SURCHARGE_MANNER>base</UDX.EDXF.SURCHARGE_MANNER>
<UDX.EDXF.SURCHARGE_PRICE_AMOUNT>0.28</UDX.EDXF.SURCHARGE_PRICE_AMOUNT>
</UDX.EDXF.SURCHARGE>
</UDX.EDXF.SURCHARGE_LIST>
Given the various purposes, different types of descriptions are possible to describe a trade item or product. There are three possibilities:
<PRODUCT_DETAILS>
<DESCRIPTION_SHORT lang="dut">BG/SR 611-4/6-0 SM Brievenbus</DESCRIPTION_SHORT>
<DESCRIPTION_SHORT lang="eng">BG/SR 611-4/6-0 SM Letterbox</DESCRIPTION_SHORT>
<DESCRIPTION_LONG lang="dut">Vrijstaande brievenbus met staande buis voor de opname van een brievenbus- of opbergvakmodule. 8 moduleplaatsen voor de opname van infobordmodules, vlaklampen en functiemodules in het bovenste deel. Spraakmodule en verdere functiemodules in een ergonomisch gemakkelijk te bedienen bereik. Aluminiumprofiel met bodemflens. Brievenbusbehuizing met aluminium achterwand kompleet met coating resp. gelakt. Kompleet met brievenbusbehuizing, staande buis en bodemflens met bevestigingsaccessoires zoals duvels voor zware lasten etc.</DESCRIPTION_LONG>
<DESCRIPTION_LONG lang="eng">Free-standing letterbox with standpipes to accommodate a letterbox or storage compartment module. 8 module slots to accommodate info sign modules, surface area lights and function modules in the upper section. Intercom module and additional functional modules within easy ergonomical operating reach. Aluminium profile with base flange. Letterbox housing with aluminium rear panel with complete coating / paintwork finish. Complete with letterbox housing, standpipes and base flange with fixing accessories such as heavy-duty dowels, etc.</DESCRIPTION_LONG>
</PRODUCT_DETAILS>
<UDX.EDXF.PRODUCT_CHARACTERISTIC>
<UDX.EDXF.PRODUCT_CHARACTERISTIC_CODE>NL_008</UDX.EDXF.PRODUCT_CHARACTERISTIC_CODE>
<UDX.EDXF.PRODUCT_CHARACTERISTIC_NAME>Long ERP description</UDX.EDXF.PRODUCT_CHARACTERISTIC_NAME>
<UDX.EDXF.PRODUCT_CHARACTERISTIC_VALUE_STRING>This field is used for a long ERP description</UDX.EDXF.PRODUCT_CHARACTERISTIC_VALUE_STRING>
<UDX.EDXF.PRODUCT_CHARACTERISTIC_VALUE_STRING lang="dut">NL Dit veld wordt gebruikt als lange omschrijving</UDX.EDXF.PRODUCT_CHARACTERISTIC_VALUE_STRING>
<UDX.EDXF.PRODUCT_CHARACTERISTIC_VALUE_STRING lang="eng">ENG This field is used for a long ERP description</UDX.EDXF.PRODUCT_CHARACTERISTIC_VALUE_STRING>
</UDX.EDXF.PRODUCT_CHARACTERISTIC>
When a Safety Data Sheet (SDS) is applicable, these three elements are mandatory:
<SPECIAL_TREATMENT_CLASS type="SDS">true</SPECIAL_TREATMENT_CLASS> <UDX.EDXF.MIME> <UDX.EDXF.MIME_SOURCE>MD03.pdf</UDX.EDXF.MIME_SOURCE> <UDX.EDXF.MIME_CODE>MD03</UDX.EDXF.MIME_CODE> <UDX.EDXF.MIME_FILENAME>safety data sheet MD03</UDX.EDXF.MIME_FILENAME> </UDX.EDXF.MIME> <UDX.EDXF.PRODUCT_CHARACTERISTIC>< <UDX.EDXF.PRODUCT_CHARACTERISTIC_CODE>NL_005</UDX.EDXF.PRODUCT_CHARACTERISTIC_CODE> <UDX.EDXF.PRODUCT_CHARACTERISTIC_NAME> List date_MSDS</UDX.EDXF.PRODUCT_CHARACTERISTIC_NAME> <UDX.EDXF.PRODUCT_CHARACTERISTIC_VALUE_STRING>2018-05-31</UDX.EDXF.PRODUCT_CHARACTERISTIC_VALUE_STRING> </UDX.EDXF.PRODUCT_CHARACTERISTIC>
When Registration, Evaluation, Authorization and restriction of Chemicals (REACH) is applicable for the record, these three elements are mandatory:
<UDX.EDXF.REACH> <UDX.EDXF.REACH.LISTDATE>2018-02-23</UDX.EDXF.REACH.LISTDATE> <UDX.EDXF.REACH.INFO>true</UDX.EDXF.REACH.INFO> </UDX.EDXF.REACH> <UDX.EDXF.MIME> <UDX.EDXF.MIME_SOURCE>https://www.deeplink.nl/Reach.pdf</UDX.EDXF.MIME_SOURCE> <UDX.EDXF.MIME_CODE>MD05</UDX.EDXF.MIME_CODE> <UDX.EDXF.MIME_FILENAME>reach deeplink MD05</UDX.EDXF.MIME_FILENAME> </UDX.EDXF.MIME>
In the SPECIAL_TREATMENT_CLASS other certificates and regulation codes can be given (see page 65 of the ETIM guidelines). For example the United Nations number is a four digit number, ideally preceded by the letters “UN” (for example, “UN2500”). This number is not mentioned in the ETIM 4.0 Guidelines, 2BA does accept it.
For the maritime sector, the DIN and ISO number is mandatory, using the UDX.EDXF.PRODUCT_CHARACTERISTIC codes NL_002-1 and NL_002-2. If there are any attachments, the UDX.EDXF.MIME can be used (see page 59 of the ETIM 4.0 guidelines). The DIN number is the German institute for standardisation number. The ISO number is the International Organization for Standardization norm number.
<SPECIAL_TREATMENT_CLASS type="ECCN">3A001</SPECIAL_TREATMENT_CLASS> <SPECIAL_TREATMENT_CLASS type="UN">UN2500</SPECIAL_TREATMENT_CLASS> <UDX.EDXF.PRODUCT_CHARACTERISTIC> <UDX.EDXF.PRODUCT_CHARACTERISTIC_CODE>NL_002-1</UDX.EDXF.PRODUCT_CHARACTERISTIC_CODE> <UDX.EDXF.PRODUCT_CHARACTERISTIC_NAME>DIN-number</UDX.EDXF.PRODUCT_CHARACTERISTIC_NAME> <UDX.EDXF.PRODUCT_CHARACTERISTIC_VALUE_NUMERIC>1</UDX.EDXF.PRODUCT_CHARACTERISTIC_VALUE_NUMERIC> </UDX.EDXF.PRODUCT_CHARACTERISTIC> <UDX.EDXF.PRODUCT_CHARACTERISTIC> <UDX.EDXF.PRODUCT_CHARACTERISTIC_CODE>NL_002-2</UDX.EDXF.PRODUCT_CHARACTERISTIC_CODE> <UDX.EDXF.PRODUCT_CHARACTERISTIC_NAME>ISO-number</UDX.EDXF.PRODUCT_CHARACTERISTIC_NAME> <UDX.EDXF.PRODUCT_CHARACTERISTIC_VALUE_NUMERIC>500</UDX.EDXF.PRODUCT_CHARACTERISTIC_VALUE_NUMERIC> </UDX.EDXF.PRODUCT_CHARACTERISTIC>
The element PRODUCT_FEATURES can be used for the ETIM Classification. REFERENCE_FEATURE_SYSTEM_NAME must be filled with the ETIM version of the data. In the format ETIM-x.x. or like DYNAMIC.
If a value cannot be assigned, according to the ETIM guideline the data supplier has the opportunity to use a minus sign. Values with a minus sign will be skipped by 2BA. Instead use one of the following reasons in FVALUE_DETAILS:
<REFERENCE_FEATURE_SYSTEM_NAME>ETIM-7.0</REFERENCE_FEATURE_SYSTEM_NAME> <REFERENCE_FEATURE_GROUP_ID>EC000905</REFERENCE_FEATURE_GROUP_ID> <FEATURE> <FNAME>EF008618</FNAME> <FVALUE>2</FVALUE> <FEATURE> <FNAME>EF007515</FNAME> <FVALUE>-10</FVALUE> <FVALUE>60</FVALUE> </FEATURE> <FEATURE> <FNAME>EF001366</FNAME> <FVALUE>-</FVALUE> <FVALUE_DETAILS>NA</FVALUE_DETAILS> </FEATURE> </FEATURE>
<REFERENCE_FEATURE_SYSTEM_NAME>ETIM-7.0</REFERENCE_FEATURE_SYSTEM_NAME> <REFERENCE_FEATURE_GROUP_ID>EC000000</REFERENCE_FEATURE_GROUP_ID> <FEATURE> <FNAME>-</FNAME> <FVALUE>-</FVALUE> </FEATURE>
According to the 4.0 Guidelines the UDX.EDXF.MIME_INFO element should be used to exchange attachments. Because of the different export formats the predefined values (MD codes) are mapped to the attachment type code list.
Mapping of MD codes versus the data model
<UDX.EDXF.MIME> <UDX.EDXF.MIME_SOURCE>MD01.jpg</UDX.EDXF.MIME_SOURCE> <UDX.EDXF.MIME_CODE>MD01</UDX.EDXF.MIME_CODE> <UDX.EDXF.MIME_FILENAME>Low resolution picture</UDX.EDXF.MIME_FILENAME> <UDX.EDXF.MIME_DESIGNATION>normal</UDX.EDXF.MIME_DESIGNATION> </UDX.EDXF.MIME? <UDX.EDXF.MIME> <UDX.EDXF.MIME_SOURCE>MD01.tif</UDX.EDXF.MIME_SOURCE> <UDX.EDXF.MIME_CODE>MD01</UDX.EDXF.MIME_CODE> <UDX.EDXF.MIME_FILENAME>High resolution picture</UDX.EDXF.MIME_FILENAME> <UDX.EDXF.MIME_DESIGNATION>detail</UDX.EDXF.MIME_DESIGNATION> </UDX.EDXF.MIME> <UDX.EDXF.MIME> <UDX.EDXF.MIME_SOURCE>https://www.2ba.nl/productpage</UDX.EDXF.MIME_SOURCE> <UDX.EDXF.MIME_CODE>MD04</UDX.EDXF.MIME_CODE> </UDX.EDXF.MIME> </UDX.EDXF.MIME_INFO>
The import routine automatically creates an MD5 Hash from each downloaded attachment/file. A MD5 Hash makes it possible to determine whether it is a new file or a duplicate. The MD5 Hash is sent per attachment with a dataset export using the attachment attribute AttachmentHash. In addition, the original file name published by the data supplier is also included in the OrginalFileSource attribute. Unfortunately, unlike the DICO/SALES005 format, the BMEcat 2005 ETIM exchange format does not provide the ability to communicate such attributes. Optionally, you can also request an overview of attachments including associated attributes via the AttachmentIndex exchange format. The AttachmentIndex is standard within the PAB exchange format.
In the data model reference items will be mapped at product level, not on trade item level.
Mapping of product references versus the data model
<PRODUCT_REFERENCE type="consists_of" quantity="4"> <PROD_ID_TO>252525</PROD_ID_TO> <REFERENCE_DESCR>test reference consists</REFERENCE_DESCR> </PRODUCT_REFERENCE> <PRODUCT_REFERENCE type="similar" quantity="1"> <PROD_ID_TO>252525</PROD_ID_TO> <REFERENCE_DESCR>test reference similar</REFERENCE_DESCR> </PRODUCT_REFERENCE>