BMEcat: the XML Format for Electronic Product Catalogs
Structure, versions and classification with ECLASS and UNSPSC
BMEcat is an XML-based standard that suppliers use to transfer their product catalogs to buying organizations. This entry explains structure and versions, distinguishes BMEcat from OCI and punchout, and puts the classification systems ECLASS and UNSPSC into context.
- Structure of a BMEcat file
- Versions 1.2 and 2005
- BMEcat or OCI catalog
- ECLASS and UNSPSC
What Is BMEcat?
BMEcat is an XML-based standard for the electronic exchange of product catalogs between suppliers and buying organizations. It is published by the German association Bundesverband Materialwirtschaft, Einkauf und Logistik e. V. (BME). A BMEcat file contains item data, prices, order details, classification and references to images and documents in a defined structure, so the receiving system can read it without manual entry.
BMECATThe catalog fileHEADERDetails of the catalog, the supplier and the buyerT_NEW_CATALOGComplete catalog with all itemsARTICLEOne item, repeated for every item in the catalogSUPPLIER_AIDThe supplier's item numberARTICLE_DETAILSShort and long description, manufacturerARTICLE_FEATURESClassification and features, such as ECLASS or UNSPSCARTICLE_ORDER_DETAILSOrder unit and quantitiesARTICLE_PRICE_DETAILSPrices with currency and validityMIME_INFOReferences to images and data sheets
What BMEcat Is For
A supplier with many customers and a purchasing department with many suppliers need a common format for catalog data. Without a standard, every supplier delivers a differently structured spreadsheet, and every file has to be adapted individually.
BMEcat defines which details a catalog contains, what they are called and in which order they appear. The supplier generates the file from its ERP or product data system. The customer's purchasing system reads it and provides the items as a hosted catalog.
The standard was created on the initiative of the BME. The first version appeared in 1999, version 1.2 was presented in 2001, and BMEcat 2005 followed in November 2005. BMEcat 2005.1 followed in 2012; according to the BME, the current version is 2005.2.
Structure of a BMEcat File
A BMEcat file is an XML document with the root element BMECAT. It consists of a header and a transaction part.
| Area | Content |
|---|---|
| Header (HEADER) | Catalog ID, catalog version, language, details of the supplier and the buying organization, defaults such as currency |
| Transaction | Type of delivery: new catalog (T_NEW_CATALOG), update of product data (T_UPDATE_PRODUCTS) or update of prices (T_UPDATE_PRICES) |
| Item data | Supplier item number, short and long description, manufacturer details, keywords |
| Classification and features | Assignment to a classification system such as ECLASS or UNSPSC, plus features with values and units |
| Order details | Order unit, content unit, minimum quantity, quantity interval |
| Prices | Price type, amount, currency, tax rate, scales and validity |
| Media references | References to images, data sheets and other documents (MIME_INFO) |
| Catalog groups | The supplier's own structure in which the items are sorted for navigation |
<BMECAT version="1.2">
<HEADER>
<CATALOG>
<LANGUAGE>eng</LANGUAGE>
<CATALOG_ID>OFFICE-SUPPLIES-2026</CATALOG_ID>
<CATALOG_VERSION>001.000</CATALOG_VERSION>
</CATALOG>
<BUYER>...</BUYER>
<SUPPLIER>...</SUPPLIER>
</HEADER>
<T_NEW_CATALOG>
<ARTICLE>
<SUPPLIER_AID>4711</SUPPLIER_AID>
<ARTICLE_DETAILS>
<DESCRIPTION_SHORT>Copy paper A4, 80 g, 500 sheets</DESCRIPTION_SHORT>
</ARTICLE_DETAILS>
<ARTICLE_FEATURES>
<REFERENCE_FEATURE_SYSTEM_NAME>...</REFERENCE_FEATURE_SYSTEM_NAME>
<REFERENCE_FEATURE_GROUP_ID>...</REFERENCE_FEATURE_GROUP_ID>
</ARTICLE_FEATURES>
<ARTICLE_ORDER_DETAILS>
<ORDER_UNIT>C62</ORDER_UNIT>
</ARTICLE_ORDER_DETAILS>
<ARTICLE_PRICE_DETAILS>
<ARTICLE_PRICE price_type="net_customer">
<PRICE_AMOUNT>4.20</PRICE_AMOUNT>
<PRICE_CURRENCY>EUR</PRICE_CURRENCY>
</ARTICLE_PRICE>
</ARTICLE_PRICE_DETAILS>
<MIME_INFO>
<MIME>
<MIME_SOURCE>4711.jpg</MIME_SOURCE>
</MIME>
</MIME_INFO>
</ARTICLE>
</T_NEW_CATALOG>
</BMECAT>Images and documents are not contained in the XML file. The file only refers to them; the files themselves are transferred separately.
BMEcat 1.2 and BMEcat 2005
In catalog projects you will mainly encounter two versions. Which one applies is determined by the system that reads the catalog.
| Criterion | BMEcat 1.2 | BMEcat 2005 |
|---|---|---|
| Publication | 2001 | November 2005 |
| Name of the line item | Article (ARTICLE, SUPPLIER_AID) | Product (PRODUCT, SUPPLIER_PID) |
| Focus | Item data, prices, order details, classification, media references | Additionally, among other things, multilingual content, more complex price models and configurable products |
| Relationship | Predecessor | Successor with renamed elements. Whether a target system reads both versions depends on the system. |
Before the first delivery, clarify which version, which mandatory fields and which classification the receiving system expects. A formally valid BMEcat file is not yet a catalog that can be read without rework.
BMEcat and OCI Catalog: the Difference
BMEcat and OCI are often mentioned in the same breath, but they solve different tasks. BMEcat is a file format for catalog data. OCI is an interface through which a user moves from the purchasing system into the supplier's web shop and brings the cart back.
| Criterion | BMEcat catalog | OCI catalog (punchout) |
|---|---|---|
| Type | File with catalog data | Interface to the supplier's shop |
| Where is the data? | In the customer's purchasing system (hosted catalog) | In the supplier's shop |
| Updates | Through a new delivery or an update file | In the supplier's shop, without file exchange |
| Check by purchasing | Possible before the catalog is approved | On the cart that comes back from the shop |
| Search | Together with other catalogs in the purchasing system | In the respective supplier shop |
| Typical use | Fixed assortments with agreed prices | Large or frequently changing assortments, configurable products |
Many companies use both side by side: hosted catalogs for the core assortment and punchout for suppliers whose assortment cannot sensibly be maintained as a file.
Classification in the Catalog: ECLASS and UNSPSC
A classification system assigns every item to a class in a fixed hierarchy. Purchasing uses this assignment for navigation in the catalog, for reporting by category and for mapping to material groups in the ERP. BMEcat transports the classification but does not prescribe which system is used.
ECLASS, formerly written eCl@ss, is a standard for classifying and describing products and services. It is published by ECLASS e. V., based in Cologne. The classes are organized in four levels: segment, main group, group and commodity class. In addition to the classes, ECLASS defines properties that allow products to be described consistently.
An eCl@ss number is the eight-digit code of an ECLASS class. Each of the four levels takes two digits. The first two digits identify the segment, and all eight digits together identify the commodity class to which an item is assigned. ECLASS is maintained in releases, so the number always goes together with the release used.
UNSPSC stands for United Nations Standard Products and Services Code. The code was developed in 1998 by the United Nations Development Programme (UNDP) together with Dun & Bradstreet. Until the end of 2024, GS1 US managed the code on behalf of the UNDP; since 2025 maintenance has been back with the UNDP. UNSPSC also uses eight-digit codes in four levels: segment, family, class and commodity.
| Criterion | ECLASS | UNSPSC |
|---|---|---|
| Responsible body | ECLASS e. V., Cologne | United Nations Development Programme (UNDP) |
| Code | Eight digits, two per level | Eight digits, two per level |
| Levels | Segment, main group, group, commodity class | Segment, family, class, commodity |
| Scope | Classes plus properties for describing the products | Classification of products and services |
The two systems are built independently of each other. The same eight-digit code means something different in ECLASS than in UNSPSC, so a catalog must always state which system and which version its codes refer to.
Where BMEcat Imports Fail in Practice
- Version or mandatory fields do not match what the receiving system expects.
- The supplier's units of measure do not correspond to the units in the customer's ERP.
- Classification codes are missing, outdated or come from a different system than agreed.
- Prices appear in the catalog without validity, without currency or with the wrong price unit.
- References to images and data sheets point to files that were not delivered.
- Short descriptions are so brief or inconsistent that requesters cannot find the item in search.
Related Terms and Matching Ovenca Modules
- OCI catalog
The catalog that stays in the supplier's shop.
- Punchout catalog
How a punchout session works and how it differs from a hosted catalog.
- cXML
The XML protocol for punchout and document exchange.
- Catalog data quality
Typical errors in supplier catalogs and how they surface before approval.
- Catalog Management
Import, check, map and approve supplier catalogs.
- Vendor Portal
Suppliers submit catalogs and correct errors themselves.
How a BMEcat Catalog Reaches Purchasing
From the supplier's export to the orderable item, regardless of the system used
Created by the Supplier
The supplier generates the BMEcat file from its ERP or product data system. It delivers the assortment agreed with the customer, with the agreed prices and the agreed classification.
- Agreed assortment
- Customer-specific prices
- Classification and features
Transferred and Checked
The file is handed over to the purchasing system. What is checked there depends on the system. Structure, mandatory fields, units of measure, prices and classification codes are common.
- Structure check of the XML file
- Mandatory fields and units
- Prices and classification
Approved and Ordered
After the check, purchasing approves the catalog. Only then do the items appear for requesters. Price changes and assortment changes arrive with a new delivery of the catalog.
- Approval by purchasing
- Items in catalog search
- Updates by new delivery
BMEcat Catalogs in Ovenca
Ovenca imports supplier catalogs as CSV, Excel or BMEcat and takes them through checking and approval before they can be ordered.
- Import in Three Formats
- Suppliers deliver their catalog as CSV, Excel or BMEcat. Suppliers without a BMEcat export are therefore not excluded.
- Check on Submission
- Ovenca checks a catalog as soon as it is submitted. The supplier sees a problem list per item in the Vendor Portal and corrects the errors itself.
- Approval by Purchasing
- Purchasing approves a catalog before its items can be ordered in the Catalog Shop.
- Mapping to ERP Values
- In Catalog Management, the suppliers' units of measure and UNSPSC classification are mapped to the values of your ERP.
- Punchout Alongside the Hosted Catalog
- Suppliers whose assortment stays in their own shop are connected as a punchout catalog via OCI or cXML.
BMEcat: Questions and Answers
Related pages
Bring Checked Supplier Catalogs into the Catalog Shop
We show you how suppliers submit their catalogs, how errors surface before approval and how the items become orderable for your requesters.