Skip to main content

Set up BMEcat 2005 and BMEcat 1.2 exports

Standardize and simplify product catalog exchanges between suppliers and purchasing companies by setting up the BMEcat 2005 and BMEcat 1.2 exports in Productsup.

Introduction

BMEcat is a product data exchange format based on the Extensible Markup Language (XML) that lets you standardize and simplify product catalog exchanges between suppliers and purchasing companies. A range of product databases, procurement systems, and marketplaces, such as 2BA, EFO, and Mercateo, require submitting data in the BMEcat format.

Often, partner systems require BMEcat combined with ETIM or another classification standard.

Productsup supports the following BMEcat versions:

  • BMEcat 2005 v4.0.2

  • BMEcat 2005 v4.0.3

  • BMEcat 2005 v5.0.1

  • BMEcat 1.2

BMEcat 1.2 and BMEcat 2005 versions mainly differ in the following aspects:

BMEcat 1.2

BMEcat 2005

  • Supports a single language catalog per file.

  • Uses ARTICLE for attribute naming.

  • Has the AGREEMENT attribute.

  • Doesn't require values coded with ETIM or another classification and accepts values in plain language, such as <FNAME>width</FNAME>.

  • Supports multiple languages in a catalog per file.

  • Uses PRODUCT for attribute naming.

  • Doesn't have the AGREEMENT attribute.

  • Supports customizable products, including adapted prices.

See the BMEcat official website to learn more about the differences between versions.

In Exports, you can choose a needed channel depending on the version required by the partner system to which you export your data.

The configuration of the BMEcat 2005 exports is similar regardless of the specific BMEcat version (v4.0.2, v4.0.3, v5.0.1). See Add and set up the BMEcat 2005 export for the BMEcat 2005 exports setup information.

The configuration of the BMEcat 1.2 export slightly differs. See Add and set up the BMEcat 1.2 export channel for the BMEcat 1.2 export setup information.

Note

The platform still supports the legacy exports BME 2005 - Single-feature Approach and BMEcat 2005 - Bundled-features Approach export channels if you started using them before the new exports became available. See Set up BMEcat 2005 Single-feature Approach export channel (legacy document) and Set up BMEcat 2005 Bundled-features Approach export channel (legacy document) for more information on the legacy exports.

Tip

Learn more about BMEcat and ETIM on our Academy website by taking the video course Distribution PX - Export Data.

Add and set up BMEcat 2005 (v4.0.2, v4.0.3, v5.0.1) with ETIM

Usually, you need to set up the BMEcat 2005 export in combination with a classification standard. This section demonstrates how to set up BMEcat with ETIM. But you can use the same setup principle with another classification standard.

If you need to set up the BMEcat 2005 export without a classification, skip the following section and see Add and set up the BMEcat 2005 export.

Prerequisites

To set up the BMEcat 2005 export with the ETIM classification standard, you need to:

  1. Create and set up an ETIM-specific site. See Create or copy a site.

  2. Add the ETIM export to your ETIM site. See Set up ETIM Classes exports.

  3. Create and set up a BMEcat site. See Create or copy a site.

  4. Set up the data source for BMEcat with ETIM. See Set up the data source for BMEcat with ETIM.

Then, you can add and set up a necessary BMEcat 2005 export. See Add and set up the BMEcat 2005 export.

Set up the data source for BMEcat with ETIM

  1. Go to Exports from your ETIM site's menu and select the name of your ETIM export in the Export name column.

    Note

    To fulfill this step, first, you must do steps 1 to 3 from the Prerequisites.

  2. Scroll down to the Filename section and select the file link to download the export file with the ETIM classification data for your product feed.

  3. Go to Data Sources from your BMEcat site and add the main and additional data sources:

    • For Main Data Source, select the same data source as in the ETIM site or a different one as desired.

    • For Additional Data Source, reuse the link of the file exported with the ETIM export channel. See Step 2.

    See Add the main data source and Add an additional data source to learn how to add data sources.

  4. Select the cogwheel icon () next to the additional data source.

  5. Go to the Advanced Settings tab and select I/O Settings.

  6. Select Add next to Transform XML with XSLT.

    advanced_settings.png
  7. Copy and paste the following XSLT code into the XSL Template field:

    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        xmlns:xs="http://www.w3.org/2001/XMLSchema"
        exclude-result-prefixes="#all"
        xmlns:fun="urn:com:productsup:xslt:functions"
        version="2.0">
    
    <xsl:output indent="yes" encoding="UTF-8" cdata-section-elements="Name" />
    <xsl:strip-space elements="*"/>
    
    <xsl:template match="node()|@*">
        <xsl:copy>
            <xsl:apply-templates select="node()|@*"/>
        </xsl:copy>
    </xsl:template>
    
    <xsl:template match="FEATURE">
        <xsl:element name="FEATURE">
            <xsl:apply-templates select="FNAME"/>
            <xsl:for-each select="FVALUE">        
                <xsl:if test=". = ''">
                    <xsl:element name="FVALUE">
                        <xsl:text>-</xsl:text>
                    </xsl:element>
                </xsl:if>
                <xsl:if test=". != ''">
                    <xsl:element name="FVALUE">
                        <xsl:value-of select="." />
                    </xsl:element>
                </xsl:if>
            </xsl:for-each>
            <xsl:choose>
                <xsl:when test="FVALUE_DETAILS">
                    <xsl:element name="FVALUEDETAILS">
                      <xsl:value-of select="FVALUE_DETAILS"/>
                    </xsl:element>
                </xsl:when>
                <xsl:otherwise>
                   <xsl:element name="FVALUEDETAILS">
                        <xsl:text>-</xsl:text>
                   </xsl:element>
                </xsl:otherwise>
            </xsl:choose>
            <xsl:choose>
                <xsl:when test="FUNIT">
                    <xsl:element name="FUNIT">
                      <xsl:value-of select="FUNIT"/>
                    </xsl:element>
                </xsl:when>
                <xsl:otherwise>
                   <xsl:element name="FUNIT">
                        <xsl:text>-</xsl:text>
                   </xsl:element>
                </xsl:otherwise>
             </xsl:choose>
    
            <!--<xsl:apply-templates select="FUNIT"/>-->
        </xsl:element>     
    </xsl:template>
    
    <xsl:template match="ARTICLES">
        <xsl:element name="ARTICLES">
            <xsl:apply-templates select="*"/>
        </xsl:element>
    </xsl:template>
    
    </xsl:stylesheet>
  8. Select Save.

  9. Go to the Overview tab and scroll to the Content Options section.

  10. Select XML Settings from the left-hand side menu and enter 1 in Bundle repeating nodes. Enter <###> in Bundle delimiter and select Save all settings.

    XML Settings

    Bundling lets you pass the ETIM information to BMEcat without creating an attribute in Dataflow for every feature. Now you have four (4) new columns in the import stage:

    • FNAME – A feature name.

    • FVALUE – A feature value.

    • FUNIT – A feature unit of measure.

    • FVALUE_DETAILS – Feature value details.

Add and set up the BMEcat 2005 export

Create a BMEcat site and add a necessary version of the BMEcat export.

  1. Go to Exports from your BMEcat site's main menu and select ADD EXPORT.

  2. Search for a necessary BMEcat 2005 export, hover over it, and select Add. The platform redirects you to Exports.

    BMEcat export channels
  3. In Overview, select the name of the added export channel in the Export name column.select the added export.

  4. Select the pen icon at the top of the page and give your export a custom name as desired.

  5. Select Add Destination and choose Productsup Server from the Destination drop-down menu. Give it a name as desired and select Save.

    Select a destination new
  6. Go to the Settings tab and toggle Export as XML to ON.

  7. Enter the BMEcat header information into the fields shown in the following screenshot. These fields correspond to the HEADER section of your XML file.

    BMEcat 2005 attributes 1
    BMEcat 2005 - attributes 2 new

    Note

    The BMEcat header doesn't contain and send product descriptions. It only sends information about the identification and validity of the catalog, catalog creator, and receiver.

    The BMEcat header contains default values, such as language and currency, applied to all products.

  8. Toggle XSD Validation to yes to activate the validation analysis that appears in the Notification panel during the export.

  9. Select Save.

Add and set up the BMEcat 1.2 export channel

If your partner system requires data in the BMEcat 1.2 format, you can add and configure the BMEcat 1.2 export in Exports. BMEcat 1.2 accepts values in plain language and doesn't require converting data to ETIM or another classification standard.

  1. Go to Exports from your site's main menu and select ADD EXPORT.

  2. Search for the BMEcat 1.2 export, hover over it, and select Add.

  3. In Overview, select the name of the added export channel in the Export namecolumn.

  4. Select the pen icon at the top of the page and give your export a custom name as desired.

  5. Select Add Destination and choose Productsup Server from the Destination drop-down menu. Give it a custom name as desired and select Save.

    Select a destination new
  6. Go to the Settings tab and toggle Export as XML to ON.

  7. Enter the BMEcat header information in the fields shown in the following screenshot.

    BMEcat 1.2 attributes 1
    BMEcat 1.2 attributes 2
  8. Select Save.

Map the BMEcat attributes in Dataflow

To continue the BMEcat setup in Dataflow, you should map the attributes between import and export. See Map your product data for more information.

Remember that only structural elements containing values appear in the export stage of the BMEcat 2005 exports.

As shown in the following screenshot, the export stage contains the higher-level elements that store values under the main element PRODUCT. The SUPPLIER_PID element appears in the export stage because it carries a value. In contrast, the PRODUCT_DETAILS element doesn't appear in the export stage because it is a structural element and stores no values. Lower-level elements under PRODUCT_DETAILS, such as DESCRIPTION_SHORT and DESCRIPTION_LONG, appear in the export stage because these elements also store a value.

Map for attributes of BMEcat2005

Important

You can see all the possible BMEcat 2005 attributes in the export stage. You mustn't create any additional attributes for the export channel manually, as the platform doesn't add them to the final BMEcat 2005 file. If you don't see an attribute you need, contact your Customer Success Manager or support at support@productsup.com.

Optimize your indexed attributes in the data feed for the BMEcat 2005 export

Some attributes can appear more than once in the file, for example, product descriptions in several languages for an item. You can refer to these attributes as indexed attributes. Some of the indexed attributes consist of several sub-attributes. All attributes have an index number counted by the platform that states the relationship between these sub-attributes.

For example, each FNAME value corresponds to the FVALUE value according to their position in the line: EF001622 to EV000138, EF010804 to EV000899, and so on.

FNAME

FVALUE

EF001622<###>EF010804<###>EF000060<###>EF011789

EV000138<###>EV000899<###>EV000154<###>EV004200

To escape creating an individual column for every indexed attribute, you can add several indexed attributes separated by the delimiter <###> within a field. For example, if an attribute has short descriptions in German, French, and Italian, you must populate the three (3) sub-attributes as follows:

  • DESCRIPTION_SHORT@default-lang: deu

  • DESCRIPTION_SHORT@lang: deu<###>fra<###>ita

  • DESCRIPTION_SHORT: Hochwertiges Werkzeug<###>High quality tool<###>Outil de haute qualité

If one of the sub-attributes is missing for an indexed attribute, you must use an empty value such as first-value<###><###>third-value. Skipping it leads to inconsistencies within the output file.

The following table lists the indexed attributes for BMEcat 2005 exports and their sub-attributes:

Attribute name

Sub-attribute name

Description Short

DESCRIPTION_SHORT@lang

DESCRIPTION_SHORT

DESCRIPTION_SHORT@default-lang

Description Long

DESCRIPTION_LONG@lang

DESCRIPTION_LONG

Product Details

KEYWORD

REMARKS

Product Feature

FNAME

FVALUE

FUNIT

FVALUE_DETAILS

Price

PRICE@price_type

PRICE_AMOUNT

PRICE_CURRENCY

TAX

LOWER_BOUND

MIME

MIME_TYPE

MIME_SOURCE

MIME_DESCR

MIME_PURPOSE

MIME

UDX.EDXF.MIME_SOURCE

UDX.EDXF.MIME_CODEx

UDX.EDXF.MIME_FILENAME

UDX.EDXF.MIME_DESIGNATION

UDX.EDXF.MIME_ALT

UDX.EDXF.MIME_ISSUE_DATE

UDX.EDXF.MIME_EXPIRY_DATE

Description Very Short

UDX.EDXF.DESCRIPTION_VERY_SHORT@lang

UDX.EDXF.DESCRIPTION_VERY_SHORT

Packing Unit

UDX.EDXF.GTIN

UDX.EDXF.GS1_128

UDX.EDXF.QUANTITY_MIN

UDX.EDXF.QUANTITY_MAX

UDX.EDXF.PACKING_UNIT_CODE

UDX.EDXF.PACKING_UNIT_NAME

UDX.EDXF.PACKAGE_BREAK

UDX.EDXF.PACKING_PARTS

UDX.EDXF.VOLUME

UDX.EDXF.WEIGHT

UDX.EDXF.LENGTH

UDX.EDXF.WIDTH

UDX.EDXF.DEPTH

UDX.EDXF.DIAMETER

Product Characteristic

UDX.EDXF.PRODUCT_CHARACTERISTIC_CODE

UDX.EDXF.PRODUCT_CHARACTERISTIC_NAME

UDX.EDXF.PRODUCT_CHARACTERISTIC_VALUE_NUMERIC

UDX.EDXF.PRODUCT_CHARACTERISTIC_VALUE_STRING

UDX.EDXF.PRODUCT_CHARACTERISTIC_VALUE_BOOLEAN

UDX.EDXF.PRODUCT_CHARACTERISTIC_VALUE_RANGE_FROM

UDX.EDXF.PRODUCT_CHARACTERISTIC_VALUE_RANGE_TO

UDX.EDXF.PRODUCT_CHARACTERISTIC_VALUE_SET

UDX.EDXF.PRODUCT_CHARACTERISTIC_VALUE_SELECT

UDX.EDXF.PRODUCT_CHARACTERISTIC_VALUE_UNIT_CODE

UDX.EDXF.PRODUCT_CHARACTERISTIC_REFERENCE_GTIN

Note

When using the ETIM export, the XSLT code from step 7 takes care of Product Features and requires no additional manual adjustments.

To optimize the attributes of your product catalog in Dataflow:

  1. Go to Dataflow from your site's main menu.

  2. Map all the attributes you want to add to your BMEcat from import to export.

  3. Go to Data View to review the data and, if required, add rule boxes to optimize your values. See Add a rule box and Find the needed rule box category for more information.

Using multiple Article Features in BMEcat 1.2

BMEcat 1.2 only uses Article Features as an indexed attribute. Article Feature corresponds to Product Feature in BMEcat 2005.

If you have only one (1) Article Feature, you can use single Article Feature attributes and map them in Dataflow:

  • REFERENCE_FEATURE_SYSTEM_NAME

  • REFERENCE_FEATURE_GROUP_ID

  • FNAME

  • FVALUE

  • FUNIT

  • FORDER

  • FDESCR

  • FVALUE_DETAILS

To use the multiple Article Features, add custom attributes in Dataflow and connect them from import to export. See Create new attributes to learn how to do it.

Warning

If you have single and multiple Article Features, disconnect single Article Features in Dataflow to prevent system conflicts.

Each Article Features attribute should have the number in the attribute name, such as ARTICLE_FEATURES/1/{FEATURE_NAME}. For example:

ARTICLE_FEATURES/1/REFERENCE_FEATURE_SYSTEM_NAME: Name

ARTICLE_FEATURES/1/REFERENCE_FEATURE_GROUP_ID: 12345

ARTICLE_FEATURES/1/FNAME: NameA<###>NameB<###>NameC

ARTICLE_FEATURES/1/FVALUE: 1<###>2<###>3

ARTICLE_FEATURES/1/FORDER: 1

ARTICLE_FEATURES/1/FDESCR: ArticleDetails

ARTICLE_FEATURES/1/FUNIT: mm<###>mm<###>mm

ARTICLE_FEATURES/2/REFERENCE_FEATURE_SYSTEM_NAME: Name

ARTICLE_FEATURES/2/REFERENCE_FEATURE_GROUP_ID: 12345

ARTICLE_FEATURES/2/FNAME: NameD<###>NameF<###>NameG

ARTICLE_FEATURES/2/FVALUE: 1<###>2<###>3

ARTICLE_FEATURES/2/FORDER: 2

ARTICLE_FEATURES/2/FDESCR: ArticleDetails

ARTICLE_FEATURES/2/FUNIT: mm<###>mm<###>mm

All Article Features under the same number belong to each other. You can add as many custom attributes as needed. You can add multiple values to the same attribute field, separating the values by the delimiter <###>.

Note

Depending on your data, you can use many ways to add values to the same field in Dataflow or Data View. For example, you can use the Append/Prepend Column rule box in Data View. To add a delimiter, select Text Before in the drop-down menu and enter <###> in the field next to it. See Append/Prepend Column.

Append/Prepend Column with delimiter