BMEcat 2005 ETIM Version 5.0

For data suppliers who manage their product information on international level, the choice of a data exchange format is often the BMEcat 2005. This is also the recommended format by ETIM International. When suppliers want to use a BMEcat 2005, we strongly recommend to use the ETIM V5.0 guidelines. If you are using an older BMEcat ETIM guideline version, we advice to update as soon as possible.

We have tried to achieve as much similarity as possible between the BMEcat 5.0 (and 4.0) and the Dutch format DICO (previuously named as SALES005) managed by Ketenstandaard. The complete ETIM guideline can be downloaded at the download section of ETIM International

Latest version 5.0.1

ETIM International has published a revision of the recently released BMEcat 2005 ETIM V5.0 on August 24, 2021. The following changes have been made:

  • UDX.EDXF.PREDECESSOR_PID has become multiple. Our datamodel only accepts the first specified productcode
  • UDX.EDXF.ROHS_INDICATOR has become optional.

Both changes have been made to our import routine.

Please note that the Guideline and XSD still carry version 5.0 as notation.

Think twice before you start

If you have files according to previous ETIM guideline versions, we recommend that you upgrade to the latest version release August 24, 2021 (5.0.1) 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.

Common mistakes:
  • Incorrect specified headers
  • Missing mandatory elements
  • No closed elements (only <ELEMENT> but missing </ELEMENT>)
  • No open elementes (missing <ELEMENT> only </ELEMENT>)
  • Empty optional elements (<ELEMENT></ELEMENT>)
  • Improperly defined NL Characteristics (e.g. wrong specified field types)
  • Failure to follow the order specified in the XSD
  • Not escaping symbols within strings such as an ampersand (&).

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.


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.


The BMEcat 2005 ETIM V5.0.1 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: 2021-06-30).

  • ETIM classification is not mandatory for 2BA in the T_NEW_Catalogue.

Extra information:

  • The file name (page 9 of the ETIM 5.0 guidelines is free adjustable when it will be uploaded to the datapool.
  • According to the BMEcat 2005 ETIM V5.0, each optional element can be marked as mandatory on the level of an individual ETIM country.

Country specific characteristics

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 5.0 starting at page 157 to page 172. The NL characteristics for BMEcat 2005 ETIM V5.0.1 differ from version 4.0. Please note that NL characteristics that are no longer present will not be accepted when you submit a BMEcat 2005 ETIM V5.0 dataset

The BMEcat 2005 ETIM V5.0 contains clear examples of how to define them in your data file.

NL_004Single use quantity
NL_005List date_SDS
NL_006Country of production origin
NL_007Delivery time
NL_008Long ERP description
NL_011Buying group
NL_012Orderable indicator
NL_014Fragile on package
NL_015Best before date on package
NL_016-1Cuttable indicator
NL_016-2Maximum cutting length
NL_018Code VAT rate

Deleted NL Characteristics

A small number of NL characteristics are included in the regular product line. As a result, these have been removed as NL Characteristic:

DELETED NL CHARACTERISTICNameExplanationSubstitute element

The header of the BMEcat with ETIM guidelines 5.0 should be like the example below:

<BMECAT xmlns="" xmlns:xsi="" xsi:schemaLocation="" version="2005">
           <GENERATOR_INFO>Name generator</GENERATOR_INFO>
               <DATETIME type="generation_date">
               <BUYER_ID type="gln">8714252005929</BUYER_ID>
               <SUPPLIER_ID type="gln">8712345678910</SUPPLIER_ID>
               <SUPPLIER_NAME>Company name</SUPPLIER_NAME>
Important notes:
  1. GENERATOR_INFO has to contain the name of the PIM software or BMEcat generator.
  2. LANGUAGE will be used as default language when no language is set at the description elements. The use of language codes at the descriptions is highly recommended!
  3. MIME_ROOT is optional, if the local attachments are stored in a folder, the folder name should be specified. If no folder is used, please do not use the element.
  4. BUYER_ID specifies the GLN number of the specific datapool;
    1. 2BA: <buyer_id type=”gln”>8714252005929</buyer_id>
    2. InstallData: <buyer_id type=”gln”>8714252005929</buyer_id>
  5. SUPPLIER_ID is a mandatory field within the datapool. The GLN- or DUNS number is of the specific data supplier is expected;
    1. GLN: <buyer_id type=”gln”><buyer_id>
    2. DUNS: <buyer_id type=”duns”><buyer_id>
  6. <UDX.EDXF.VERSION>5.0</UDX.EDXF.VERSION> must be used to define the ETIM 5.0 Guideline version.

Transaction settings

2BA supports complete or update (mutation) files of the BMECat 5.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:

     <PRODUCT mode="new">

EXAMPLE mutation file:

    <PRODUCT mode="update">


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_PIDTrade item number
MANUFACTURER_PIDProduct number (smallest unpacked unit)
INTERNATIONAL_PID type=”gtin”GTIN product
Important notes:
  1. When UDX.EDXF.GTIN is empty, the INTERNATIONAL_PID type=”gtin” will be set as trade item GTIN.

Product status / Statuscode

The product status codes are different between BMEcat 2005 ETIM V5.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).

The mapping of product status types versus the data model is available here:

Important notes:
  1. PRODUCT_STATUS is optional within BMEcat V5.0 format, when no product status is given the productrecord and trade item record will be intrepreted as core_product.
  2. Refurbished products can be specified via type “refurbished” where the value will be skipped. The trade item will be specified through the indicator “Refurbished”= true.
  3. Second-hand (reuse) products can be specified via type “used” where the value will be skipped. The trade item will be specified through an indicator.
  4. Expired products (model code 130) can be specified via type “others” in combination with the value “discontinued” or “expired”. The product record will be specified as ‘expired product’ (model code ‘130’) and the trade item record (e.g. pricing and logistical info) will not be imported (T_NEW_CATALOG) or will be deleleted (T_UPDATE_PRODUCTS)

EXAMPLE expired products:

<PRODUCT_STATUS type="others">discontinued</PRODUCT_STATUS>

EXAMPLE suspended products:

<PRODUCT_STATUS type="others">suspended<PRODUCT_STATUS>

Multiple packing units for the same product

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.

Important notes:
  1. Only the values within the packing unit with the matching GTIN or else, when no GTINs are used, the lowest UDX.EDXF.QUANTITY_MIN will be used to import the logistic information. Other specified packing units elements will be ignored by default.
  2. Normally, the complete product structure must be given for every unique trade item number (from to ). In case of multiple packing units there is an exception: when a reference to a MANUFACTURER_PID is used more than once (from more than one SUPPLIER_PID’s) after the first appearance, the fields below don’t have to be given in order to avoid redundant data:
    • Attachments: UDX.EDXF.MIME_INFO
    • ETIM classification: PRODUCT_FEATURES
    • Brand, series, type: will be ignored during the import
  3. While the defaults are to import each BMEcat productline to one trade item, there is a setting available (please contact us) to convert the additional packings, especially when they contain a GTIN, to extra trade item records.

Logistic information

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.GTIN>GTIN trade item</UDX.EDXF.GTIN>
Important notes:
  1. <DELIVERY_TIME> is mapped to minimum delivery time and will be overruled by NL characteristic NL_007
  2. In the Netherlands we define delivery time in calendar days in stead of working days as mentioned in the BMEcat ETIM V5.0 guidelines
  3. ETIM has determined that C62 is interpreted as unpacked (we also support packing unit NE)
  4. ETIM has determined that PA is interpreted as blister
  5. Not recommended:
    • BE (Bundle)
    • PR (Pair)
    • SET (set)
    • Z2 (Chest)
    • Z3 (Cask)
    • WR (Wrap)
  6. Not accepted:
    • CQ (Cartridge)

The mapping of packing codes versus 2BA is available here

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 5.0 guideline.


Order price details

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 5.0 differs from older guideline versions.

  • The QUANTITY_MIN defines the minimum order quantity of the trade item, expressed in ORDER_UNIT. The quantity steps in which the trade item can be ordered is the QUANTITY_INTERVAL.
Applied formulas:
Data model: Formula:
Gross price=PRICE_AMOUNT
Gross price per purchase unit=(PRICE_AMOUNT / PRICE_QUANTITY) * PRICE_UNIT_FACTOR
Important notes:
  1. Gross price: @price_type “net_list” should be used as gross price.
  2. Gross price: @price_type “net_customer” should be used as net price.
  3. TAX will be multiplied with 100.
  4. DAILY_PRICE “true” is mapped as “price on request”.
  5. Suggested price: @price_type “nrp” should be used as suggested price.

Please note, the nonbinding recommended (retail) price (nrp), suggested retail price is within BMEcat specified including sales tax. The import proces reduces the specified value with the specified VAT, because the suggested price in the data model is without sales tax.

BMEcat supports an unlimited number of prices per trade item. Future prices can additionally be included in the message where the effective date of the price VALID_START_DATE is in the future. Price information with a future effective date will only be available for an export in BMEcat format when the specified date has been reached.

You cannot remove previously specified future prices from the data pool. If you want to correct a future price, you can submit a new future price with the same effective date as that of the “incorrect” price. The old future price is then overwritten.


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.



Given the various purposes, different types of descriptions are possible to describe a trade item or product. There are three possibilities:

  1. DESCRIPTION_SHORTdescribes the product short and concise, to recognize its kind and function among a large quantity of products – preferably unambiguous.. The maximum field length within the data pool is 70 characters (not 150 characters according to the XSD of BMEcat). If the short description contains more characters the description will be cut to length of 70 characters.
  2. DESCRIPTION_LONG is mapped to the marketing text with a maximum of 1.000 characters. If the long description contains more characters, the description will be cut to specified length of 1.000 characters.
    <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>
  1. The long description to support the short description is defined in the country specific UDX.EDXF.PRODUCT_CHARACTERISTIC “Long ERP description” with code “NL_008” and has a maximum of 256 characters.
Important notes:
  1. The descriptions (short, long and long ERP description) should not contain any HTML tags or font formatting like bold, italic, underline, etc.
  2. The descriptions (short, long and long ERP description) should not contain controls characters like CR & LF (Enter / Return), tabs, and other non-western characters. Please use the Character Entity Reference Table to specify new lines, lists, special characters etc.
  3. The element LANGUAGE in the header is used as default language when no language code is specified at descriptions.
  4. The default language is Dutch and is mandatory. If no Dutch description is set, the English description will be adopted as Dutch description.
  5. If neither a Dutch nor an English description is specified the specific record will blocked.
  6. The mapping of the language codes versus 2BA is available here
Brand, serie and type
Wholesalers uses the structure of brand, serie, type as a filtering method and search engine optimisation (SEO), for example on their webshop. For this reason these fields are mandatory for each product record. For records which are only used as trade item data, these fields can be skipped (see chapter: multiple packing units for the same product). Some manufactures don’t use serie and type grouping. In this case use the value RNV_NA. More information click here.
In older BMEcat guidelines there were more mappings and 2BA UDX fields, these fields and mappings are no longer supported.

Hazardous substances and certificates

Safety Data Sheets

When a Safety Data Sheet (SDS) is applicable, these three elements are mandatory:

  1. The indication that SDS is applicable for this product in SPECIAL_TREATMENT_CLASS. Only the value true or false is expected in this string field.
  2. There must be an attachment with code MD03 in UDX.EDXF.MIME.
  3. The SDS listdata must be filled in the UDX.EDXF.PRODUCT_CHARACTERISTIC with code NL_005.

When Registration, Evaluation, Authorization and restriction of Chemicals (REACH) is applicable for the record, these three elements are mandatory:

  1. The indication that REACH is applicable for this product in UDX.EDXF.REACH.INFO.
  2. The REACH revision date must be filled in the UDX.EDXF.REACH.LISTDATE.
  3. There must be a website location to the document, given as attachment with code MD05 in UDX.EDXF.MIME.
Important notes:

Pay attention. If the REACH certificate attachment is missing, the value for REACH, as described in the ETIM Guideline, will be exported as ‘no data’ for a BMEcat 2005 export.

ETIM Classification

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.

  1. REFERENCE_FEATURE_GROUP_ID is the ETIM class of the product. According to the 5.0 guidelines this field is mandatory and must be filled with “EC000000” if the product has no known ETIM class. For 2BA this field is not mandatory.
  2. FNAME is the ETIM Feature. According to the 5.0 guidelines this field is mandatory and must be filled with “EF000000” or “-” when there is no feature. For 2BA this field is not mandatory.
  3. FVALUE is the ETIM value. According to the 5.0 guidelines this field is mandatory and must be filled with “EV000000” or “-” when there is no feature. For 2BA this field is not mandatory.
  4. In case of a range, the element FVALUE is used twice. 2BA will use the first element as the lowest value, and the second value as the highest.

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:

  • NA; Not applicable (this feature is not applicable in the context of a product in this class).
  • MV; Missing value (an alphanumeric feature is relevant, but no correct value exists in this ETIM version).
  • UN; Unknown (currently, the data supplier is not able to specifiy a value; but basically it is possible).


MIME Information

According to the ETIM 5.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.

The mapping of MD codes versus the data model is available here


Important notes:
  • By default, an attachment is downloaded and added to the product data. If an attachment should remain as a reference to the source (URL), this can be arranged outside the exchange format via the parameter.xml. Per MIME code can be specified whether the original source should be kept with the exception of MIME code MD01
  • UDX.EDXF.MIME_DESIGNATION specifies if an attachment is in high resolution (detail) or low resolution (normal) picture. If UDX.EDXF.MIME_DESIGNATION is not specified, the picture will be specified as a low resolution picture (PPI). The element UDX.EDXF.MIME_DESIGNATION will be also used to specify the description of the attachment. The value normal or detail will be skipped as description
  • We strongly recommend to specify only one primary image as MD01 and specifiy other images as MD02 (simular picture).
  • The minimum quality of a high resolution should be 300 DPI for 1772×1772 pixels (15x15cm).
  • If only a high resolution (detail) MD01 picture is specified, the import system will generate a low resolution picture.
  • The MIME_ROOT can define a root map for attachments. This field is used in combination with UDX.EDXF.MIME_SOURCE. Be careful not to use the same directory structure in both fields.
  • The UDX.EDXF.MIME_SOURCE is used for the file name or URL. When the value starts with an URL, the import system will download the attachment.
  • Per UDX.EDXF.MIME_SOURCE can be indicated trough a language code in which language the content is written. If the language code is not specified the specified header language code will be used. with the exception of the product picture MD codes: MD01, MD02, MD20, MD23, MD24, MD25, MD26, MD27, MD28, MD29, MD30, MD47, MD59, MD65.
  • The UDX.EDXF.MIME_CODE defines the type of attachment with MD codes.
  • The MIME_CODE MD04 will be saved as (data) deeplink and is not mapped as an attachment type. If you specify multiple deeplinks (mime code MD04), the deeplinks will be imported as attachment model type ‘other’ (OTA).
  • MD06, Energy label must be a JPG
  • MD47 (thumbnail) is not imported by 2BA.
File Hash and OriginalFileSource

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.

Reference items

In the data model reference items will be mapped at product level, not on trade item level.

The mapping of product references versus the data model is available here.

Important notes:
  • BMEcat code “others” can only be used in combination with REFERENCE_DESCR “fits to” and “predecessor”.
  • BMEcat code “Base product” is used for hierarchy, see chapter 10 hierarchy.
  • BMEcat code “Followup” can be used to refer to a successor at product level (not for trade items).
  • The BMEcat standard assumes an implicit unit for a specified quantity; since it is a trade item (or product) to trade item (or product) relation, pieces (PCE) are assumed.
  • A spare part or accessory of a product can be specified with product reference ‘sparepart’ or ‘consist_of’.

Files containing data from multiple data suppliers

  • In case of catalogue messages containing products of more than one manufacturer, on every product the field the country specific UDX.EDXF.PRODUCT_CHARACTERISTIC field “Manufacturer_IDref” with code “NL_010” must be used, see chapter 11.
  • In case of a multi supplier catalogue, every trade item needs to be identified with the GLN of the supplier, the field the country specific UDX.EDXF.PRODUCT_CHARACTERISTIC field “Supplier_IDref” with code “NL_009” must be used, see chapter 11.
  • When a multi catalogue message contains multiple suppliers of the same product, redundant product information should be avoided. The ETIM classification and “mime info” should only be added the first time it is mentioned in the catalogue. The function PRODUCT_REFERENCE “base_product” must be used on all the other trade items elements which refer to the same product.
Wat biedt 2BA voor u als Installateur Wat biedt 2BA voor u als Groothandel Wat biedt 2BA voor u als Fabrikant Wat biedt 2BA voor u als Software Partner
This site is registered on as a development site.