Supplier catalogs

How to keep only selected categoryId values in a supplier YML feed

2026-06-29
Task

The supplier YML feed contains active categories 101 and 205, while archive category 999 must not be imported.

Short answer

Add an export condition to the offer node: categoryId must match the regular expression ^(101|205)$ (matches a value that is exactly 101 or 205).

How to do it in Eofferix

  1. In the XML/YML snapshot, select the repeated offer node.

  2. Open the node settings.

    Opening offer settings
    The animation shows opening the repeated product node settings.
  3. Add an export condition for categoryId: categoryId ^(101|205)$.

    Export condition on offer
    The condition is applied to the whole item.

Before / after

Before

source data
<yml_catalog date="2026-06-29 10:00">
  <shop>
    <offers>
      <offer id="YML-1001" available="true"><name>Hudson lamp</name><categoryId>101</categoryId><price>24.90</price></offer>
      <offer id="YML-1002" available="true"><name>Parker chair</name><categoryId>205</categoryId><price>139.00</price></offer>
      <offer id="YML-1003" available="true"><name>Harbor shelf</name><categoryId>999</categoryId><price>16.40</price></offer>
    </offers>
  </shop>
</yml_catalog>

After

result
<yml_catalog date="2026-06-29 10:00">
  <shop>
    <offers>
      <offer id="YML-1001" available="true"><name>Hudson lamp</name><categoryId>101</categoryId><price>24.90</price></offer>
      <offer id="YML-1002" available="true"><name>Parker chair</name><categoryId>205</categoryId><price>139.00</price></offer>
    </offers>
  </shop>
</yml_catalog>

What to keep in mind

  • Place the condition on offer so the whole product is excluded.
  • If the category list is long, keep it separately and update the expression deliberately.

Process data faster with Eofferix

Create a free account to automate catalogs and price lists around your own rules.

Sign up