Каталоги поставщиков

Как сложить остатки по складам в XML-фиде поставщика

2026-06-29
Задача

Поставщик отдает в XML несколько складов внутри одного offer: warehouse/stock для северного и южного склада. Для импорта нужен один общий stock_total.

Короткий ответ

Сначала создайте новый дочерний узел stock_total внутри offer, затем откройте его настройки и добавьте правило суммы значений по пути {/catalog/offers/offer/warehouse/stock}. Eofferix сложит все stock внутри текущего товара.

Как сделать в Eofferix

  1. В XML-структуре создайте новый дочерний узел stock_total внутри повторяющегося offer.

  2. Откройте настройки значения.

    Открытие stock_total в XML
    Анимация показывает выбор поля, куда записывается общий остаток.
  3. Добавьте правило: условие Любое значение, действие Сумма значений, источник {/catalog/offers/offer/warehouse/stock}.

    Правило суммы stock_total
    Правило суммирует складские остатки текущего товара.

Было / стало

Было

исходные данные
<catalog>
  <offers>
    <offer id="2001">
      <sku>SKU-2001</sku>
      <name>Лампа Ладога</name>
      <warehouse code="north">
        <stock>4</stock>
      </warehouse>
      <warehouse code="south">
        <stock>8</stock>
      </warehouse>
    </offer>
    <offer id="2002">
      <sku>SKU-2002</sku>
      <name>Кресло Волга</name>
      <warehouse code="north">
        <stock>0</stock>
      </warehouse>
      <warehouse code="south">
        <stock>3</stock>
      </warehouse>
    </offer>
  </offers>
</catalog>

Стало

результат
<catalog>
  <offers>
    <offer id="2001">
      <sku>SKU-2001</sku>
      <name>Лампа Ладога</name>
      <warehouse code="north">
        <stock>4</stock>
      </warehouse>
      <warehouse code="south">
        <stock>8</stock>
      </warehouse>
      <stock_total>12</stock_total>
    </offer>
    <offer id="2002">
      <sku>SKU-2002</sku>
      <name>Кресло Волга</name>
      <warehouse code="north">
        <stock>0</stock>
      </warehouse>
      <warehouse code="south">
        <stock>3</stock>
      </warehouse>
      <stock_total>3</stock_total>
    </offer>
  </offers>
</catalog>

Обрабатывайте данные быстрее с Eofferix

Создайте бесплатный аккаунт, чтобы автоматизировать каталоги и прайс-листы под ваши правила.

Зарегистрироваться