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 A/B, 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 and Set up BMEcat 2005 Bundled-features Approach export channel for more information on the legacy exports.

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 Classification export.

  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 A/B from your ETIM site's menu and select the cogwheel icon () next to your ETIM-7.0 Classification or ETIM-8.0 Classification exports.

    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 A/B 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.

    BMEcat export channels
  3. In Exports A/B, select the cogwheel icon () next to the added export channel.

  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.

    Add destination
  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 A/B. BMEcat 1.2 accepts values in plain language and doesn't require converting data to ETIM or another classification standard.

  1. Go to Exports A/B 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 Exports A/B, select the cogwheel icon () next to the added export channel.

  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.

    Add destination
  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 Client Success Manager or support at support@productsup.com.

Optimize your indexed attributes in the data feed

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 that states the relationship between these sub-attributes.

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:

Note

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

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

Note

BMEcat 1.2 only uses Article Features as an indexed attribute. Article Feature corresponds to Product Feature in BMEcat 2005. All the other attributes are absent in the BMEcat 1.2 index.

The following table list the user-defined extensions:

Attribute name

Sub-attribute name

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

To optimize the attributes of your product catalog:

  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 Optimize your product data with rule boxes for more information.