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 file
  • HEADERDetails of the catalog, the supplier and the buyer
  • T_NEW_CATALOGComplete catalog with all items
  • ARTICLEOne item, repeated for every item in the catalog
  • SUPPLIER_AIDThe supplier's item number
  • ARTICLE_DETAILSShort and long description, manufacturer
  • ARTICLE_FEATURESClassification and features, such as ECLASS or UNSPSC
  • ARTICLE_ORDER_DETAILSOrder unit and quantities
  • ARTICLE_PRICE_DETAILSPrices with currency and validity
  • MIME_INFOReferences to images and data sheets
Simplified view for BMEcat 1.2. In BMEcat 2005, ARTICLE is called PRODUCT and SUPPLIER_AID is called SUPPLIER_PID.

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.

AreaContent
Header (HEADER)Catalog ID, catalog version, language, details of the supplier and the buying organization, defaults such as currency
TransactionType of delivery: new catalog (T_NEW_CATALOG), update of product data (T_UPDATE_PRODUCTS) or update of prices (T_UPDATE_PRICES)
Item dataSupplier item number, short and long description, manufacturer details, keywords
Classification and featuresAssignment to a classification system such as ECLASS or UNSPSC, plus features with values and units
Order detailsOrder unit, content unit, minimum quantity, quantity interval
PricesPrice type, amount, currency, tax rate, scales and validity
Media referencesReferences to images, data sheets and other documents (MIME_INFO)
Catalog groupsThe 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>
Heavily shortened example in BMEcat 1.2 notation. It shows the structure and is not a complete, valid catalog file.

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.

CriterionBMEcat 1.2BMEcat 2005
Publication2001November 2005
Name of the line itemArticle (ARTICLE, SUPPLIER_AID)Product (PRODUCT, SUPPLIER_PID)
FocusItem data, prices, order details, classification, media referencesAdditionally, among other things, multilingual content, more complex price models and configurable products
RelationshipPredecessorSuccessor 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.

CriterionBMEcat catalogOCI catalog (punchout)
TypeFile with catalog dataInterface to the supplier's shop
Where is the data?In the customer's purchasing system (hosted catalog)In the supplier's shop
UpdatesThrough a new delivery or an update fileIn the supplier's shop, without file exchange
Check by purchasingPossible before the catalog is approvedOn the cart that comes back from the shop
SearchTogether with other catalogs in the purchasing systemIn the respective supplier shop
Typical useFixed assortments with agreed pricesLarge 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.

CriterionECLASSUNSPSC
Responsible bodyECLASS e. V., CologneUnited Nations Development Programme (UNDP)
CodeEight digits, two per levelEight digits, two per level
LevelsSegment, main group, group, commodity classSegment, family, class, commodity
ScopeClasses plus properties for describing the productsClassification 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

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.