SetKit ◾️ Применение кассовых механик к заказу в зависимости от онлайн-канала продаж

Публичное пространство

SetKit ◾️ Применение кассовых механик к заказу в зависимости от онлайн-канала продаж

https://crystals.atlassian.net/browse/SR-8950

https://crystals.atlassian.net/browse/CR-15327

SETRETAIL 10.5.0.0

SETKIT 4.13.0

Описание

Начиная с версии 10.5.0.0 реализована возможность применять кассовые механики (например, начисление бонусов или предоставление скидки) на кассе по признаку онлайн-канала продаж, указанному в заказе SetKit. При создании заказа внешняя система передаёт в SetKit атрибут onlineSubchannel — идентификатор подканала из справочника «Каналы продаж» в SetCentrum. На основании этого атрибута касса определяет, какие канал-зависимые механики должны быть применены к позициям заказа.

Ценность

Возможность настраивать отдельные программы вознаграждений для разных онлайн-каналов продаж (маркетплейсы, сайт, мобильное приложение, ПВЗ и т.п.) и корректно рассчитывать итоговую стоимость онлайн-заказа при его выкупе на кассе магазина.

Логика работы

Справочник Каналы продаж ведётся в SetCentrum в разделе Служебные данные и имеет двухуровневую структуру:

  • Канал — верхний уровень (например, Маркетплейсы, код 110872).

  • Подканал — дочерний уровень внутри канала (например, Озон, код 110873; WB, код 110874).

При создании или обновлении заказа в SetKit внешняя система передаёт атрибут onlineSubchannel — уникальный код подканала из справочника. Атрибут указывается на верхнем уровне заказа (мягкого чека) и распространяется на все его позиции.

При восстановлении мягкого чека на кассе SetRetail применяются следующие правила:

  1. Если в заказе указан onlineSubchannel, касса применяет:

    • механики, в которых указан канал, являющийся родительским для переданного подканала (например, механика на канал Маркетплейсы 110872 сработает для подканала Озон 110873);

    • механики, в которых указан подканал, совпадающий с переданным значением;

    • механики без условия по каналу продаж — применяются независимо от наличия onlineSubchannel.

  2. Если onlineSubchannel не передан или передано значение, не существующее в справочнике, канал-зависимые механики не применяются. Поведение кассы остаётся прежним.

Информация о канале продаж передаётся в экспорте чеков из SetRetail в ERP при условии, что при создании заказа в атрибуте additionalinfo указан onlineSubchannel. В выгрузке чека это выглядит как:

<plugin-property key="sc.num.{номер_заказа}" value="onlineSubchannel={код_подканала}"/>

Пример работы

Создание мягкого чека

Внешняя система присылает в SetKit созданный заказ, с указанием признака onlineSubchannel (код онлайн-канала продаж) и данными о клиенте:

{ "status": "READY_TO_PAYMENT", "dateCreated": "2023-02-05 14:00", "isEditable": true, "positionsAddingAllowed": true, "totalPrice": 49.00, "discountsValue": 0.0, "onlineSubchannel": 110873, "additionalInfo": "onlineSubchannel=110873", "positions": [ { "positionOrder": 1, "code": "45034", "barcode": "4810167000258", "quantity": 1, "unitPrice": 49.00, "discountValue": 0.0, "totalPrice": 49.00, "canChangePrice": false, "isFixedPrice": false, "isFixedDiscounts": false } ], "client": { "guid": "100021", "cardNumber": "90001234", "email": "test@test.ru", "firstName": "Иван", "lastName": "Иванов" } }

Работа на кассе

  1. Покупатель приходит забирать заказ в магазин.

  2. Кассир сканирует штрихкод заказа и переходит к расчету.

  3. В чеке применяется акция Кешбэк 5% при заказе из маркетплейса Ozon — механика срабатывает, т. к. в заказе передан онлайн-подканал Озон (110873). Покупателю будут начислены бонусы в размере 5% от суммы чека.

image-20260703-080034.png
  1. Кассир принимает оплату и закрывает чек.

Данные в операционном дне

В разделе Операционный деньЧеки [Чек] отображаются данные о бонусном начислении по акции Кешбэк 5% при заказе из маркетплейса Ozon.

image-20260703-075941.png

Экспорт данных в ERP

Пример выгрузки чека с информацией о канале продаж:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <purchases count="1"> <purchase tabNumber="11112" userName="Иванов Иван Иванович" operationType="true" cashOperation="INCOME" operDay="2026-07-02+03:00" shop="779" cash="2" shift="170" number="1" saletime="2026-07-02T17:56:30.532+03:00" begintime="2026-07-02T17:56:02.807+03:00" amount="49.00" discountAmount="0.00" inn="1234567890" fiscalDocNum="345;1"> <plugin-property key="sc.num.SK91769266733040" value="onlineSubchannel=110873"/> <plugin-property key="PROMO_PRINT_DISABLED" value="true"/> <plugin-property key="FISCAL_DOC_ID" value="345"/> <plugin-property key="FN_DOC_NUM_IN_SHIFT" value="2"/> <plugin-property key="CASHIER_NAME" value="Иванов Иван Иванович"/> <plugin-property key="UID_PURCHASE" value="21d7acfd-dc40-4bae-8001-9beedd59927b"/> <plugin-property key="KPP" value="987654321"/> <plugin-property key="CASH_TIME_ZONE" value="+03:00"/> <positions> <position order="1" departNumber="583" goodsCode="45034" barCode="4810167000258" count="1.000" cost="49.00" nds="20.0" ndsSum="8.17" discountValue="0.00" costWithDiscount="49.00" amount="49.00" softCheckNumber="SK91769266733040" dateCommit="2026-07-02T17:56:02.843+03:00" insertType="10"> <plugin-property key="lineNumberAfterRegistration" value="1"/> <plugin-property key="countryName" value="Россия"/> <plugin-property key="salesTax" value="0"/> <plugin-property key="ffdTag2108"/> </position> </positions> <payments> <payment order="0" typeClass="CashPaymentEntity" amount="49.00" description="Оплата наличными"/> </payments> <discountCards> <discountCard>90001234</discountCard> </discountCards> <card type="INTERNAL" number="90001234" addedBy="SCANNER"/> </purchase> </purchases>

Ограничения

  • Справочник Каналы продаж ведётся вручную в интерфейсе SetCentrum.

  • Атрибут onlineSubchannel опциональный.

  • Информация о канале продаж передаётся в экспорте чеков из SetRetail в ERP только при условии, что при создании заказа в атрибуте additionalInfo явно указан onlineSubchannel (например, additionalinfo="onlineSubchannel=110873").

Настройки

Внешний процессинг

Настройка процессинга службы мягких чеков осуществляется по инструкции.

Для передачи в экспорте чека дополнительной информации additionalinfo , в настройках процессинга Служба мягких чеков SetKitX установите флажок image-20260703-071826.png Сохранять в чековых данных дополнительную информацию из МЧ → нажмите СОХРАНИТЬ → перезагрузите кассовый модуль.

image-20260702-152550.png

Каналы продаж

Доступ к разделу

Для доступа к разделу пользователю Set Centrum требуется привилегия Каналы продаж, добавление каналов.

Для включения привилегий перейдите в раздел Персонал Роли пользователей → выберите нужную роль → откройте вкладку Служебные данные Каналы продаж → кликните по названию привилегии Каналы продаж, добавление каналов → нажмите кнопку Добавить к роли → нажмите кнопку Сохранить.

image-20260702-120610.png

Создание канала

  1. Перейдите в раздел Служебные данные → Каналы продаж.

  2. Нажмите кнопку + Добавить.

  3. В появившемся окне введите произвольное название канала в поле Название (например, Маркетплейсы).

  4. Нажмите Сохранить.

image-20260702-103328.png
  1. В открывшейся карточке канала нажмите кнопку + Добавить для создания подканалов.

  2. Заполните поле Название — произвольное название подканала (например, Озон).

  3. Нажмите Сохранить.

image-20260702-103222.png
  1. При необходимости повторите шаги 5–7 для добавления других подканалов.

Каждому каналу и подканалу присваивается уникальный числовой код (ID), который используется при интеграции, в том числе в атрибуте onlineSubchannel при создании заказа через API SetKit.

image-20260702-103423.png

Кассовая механика

Создайте кассовую механику (акцию) на выдачу вознаграждения покупателям в соответствии с вашими бизнес-процессами. Ключевое условие настройки – ограничьте действие акции по каналам продаж. Пример представлен ниже.

  1. В разделе Инструменты лояльности → Кассовые механики нажмите image2022-9-15_22-5-57.png .

image-20260702-101641.png
  1. Введите название кассовой механики → введите дату начала и окончания срока действия акции либо установите флажок image-20260703-071826.png Бессрочно → установите флажок image-20260703-071826.png Всегда суммировать результат с другими акциями, используя цены ранее рассчитанных акций → установите флажок image-20260703-071826.png Для всей сети или задайте конкретную зону охвата → нажмите кнопку image-20260702-100444.png в поле Каналы продаж → выберите нужный канал продаж из предварительно созданного в одноименном разделе списка.

image-20260702-094340.png
  1. Выберите принцип срабатывания Безусловно → нажмите кнопку добавить 02-07-2026.jpg в поле Результат.

image-20260702-100010.png
  1. Установите тип вознаграждения, выдаваемый по акции, например, зачисление бонусов: на вкладке Бонусы и электронные фишки задайте правило начисления бонусов в размере 5% от суммы чека -> нажмите ПРИМЕНИТЬ.

image-20260702-094457.png
  1. Нажмите кнопку ЗАПУСТИТЬ.

image-20260702-094655.png

Статьи по теме