Правила списания
- Списание баллов
- Использование баллов
- Правила списания в системе
- Параметры правила списания
- Ограничения и фильтрация
- Дата начала действия
- Дата окончания действия
- Минимальная сумма баллов
- Максимальная сумма баллов
- Минимальный процент от суммы
- Максимальный процент от суммы
- Минимальный % оплаты
- Глобальные суммовые ограничения
- Фильтр – Целевая аудитория
- Фильтр по чекам
- Фильтр по позициям
- Фильтр по времени
- Ограничение по группе баллов
- Ограничения по списку кампаний
- Ограничения по списку правил
- Минимальная розничная цена
- Распределение баллов при списании
- Включение оплаты баллами в общую скидку по чеку
- Округление баллов при списании
- Подтверждение операции списания проверочным кодом
Правила списания – это алгоритмы, согласно которым накопленные ранее бонусные или статусные баллы могут быть использованы для оплаты совершённых покупок, а также для выпуска купонов (для получения дополнительных скидок по купону). Если в системе нет ни одного активного правила списания, то использовать накопленные баллы при совершении покупок нельзя, даже если активный баланс контакта или карты позволяет это сделать.
Списание баллов
Баллы – это вид поощрения участника программы лояльности, который участник может использовать их для каких-то поощрений по своему усмотрению: он может получить за баллы скидку, может поменять их на купон, дающий какие-то привилегии в партнёрской сети и т.д.
Наиболее распространённый вариант – это получение отложенной скидки на следующую покупку. Получаемая таким образом скидка может быть линейной, а может быть нелинейной. Линейная скидка – это алгоритм конвертации накопленных баллов в какое-то количество рублей скидки по заранее известному курсу. Например, накопив 100 баллов активного баланса, участник может впоследствии учесть их в покупке и получить скидку в 10 рублей на всю покупку или на какие-то определённые товары в этой покупке.
Нелинейная скидка – это конвертация баллов баланса в скидку, когда наличие баллов является основанием применения процентной или абсолютной скидки. Предоставление нелинейной скидки регламентируется дисконтными товарными акциями гашения баллов (в текущей версии реализовано как алгоритм использования электронных наклеек). В товарной акции указывается, что она предназначена для гашения баллов, а также в ней указывается количество баллов, которое необходимо списать на одну единицу товара данной акции, чтобы была предоставлена заданная в товарной акции скидка.
Предоставление линейной скидки регламентируется в системе правилами списания.

Рис. Справочник правил списания
Использование баллов
Если в системе есть активные правила списания, то клиенту для оплаты автоматически будут доступны все свои баллы, накопленные на всех своих картах лояльности (активных, блокированных, закрытых). Также необходимо иметь в виду, что при предъявлении для операции карты, входящей в мастер-счёт с соответствующим статусом участия, могут быть использованы баллы с других карт этого мастер-счета.
Баллы хранятся в системе порциями. Каждая порция – это связанная с правилом начисления (или заданием по расписанию, или ручной операцией, или запросом начисления баллов) запись некоторого количества бонусных баллов. Если баллы начислены по позиционному правилу, то порция баллов также связана с той позицией чека, на которую эта порция была начислена.
Каждая порция бонусных баллов имеет свой срок действия или срок активности. Сумма остатков всех действующих на текущий момент порций бонусных баллов, связанных с какой-то картой лояльности, составляет активный баланс баллов по данной карте. Активные баллы можно использовать для оплаты покупок, если это разрешено алгоритмами правил списания. При оплате баллами оператор POS-терминала совершает запрос активного баланса по предъявленной карте (в ответ на запрос могут выводиться все активные баллы участника, в том числе баллы остальных карт и баллы мастер-счёта). Далее он согласовывает с клиентом, какую именно сумму он желает оплатить баллами, после чего кассового ПО отправляет в систему запрос мягкого чека. В случае линейного списания, когда в алгоритмах правил списания не настроены различные ограничения, для оплаты покупок доступны все баллы активного баланса, поэтому запрос мягкого чека можно не отправлять.
Если списание нелинейное, например, оплачивать баллами можно строго в определённое время, или какой-то определённый процент от суммы покупки, то в этом случае запрос мягкого чека обязателен, поскольку может случиться так, что баллов для оплаты не хватает, хотя активный баланс позволяет оплатить покупку. Например, если совершается покупка на 1000 рублей, при этом установлено ограничение на оплату баллами не более 25% от суммы покупки; при попытке оплатить баллами, скажем 500 рублей, система вернёт на POS-терминал сообщение об ошибке. Ошибка будет заключаться в том, что баллов недостаточно для оплаты такой покупки.
Нелинейность списания может заключаться в различных ограничениях: алгоритмы правил списания можно настроить таким образом, что не вся сумма активного баланса баллов может быть использована для совершения покупки. Параметры списания можно настроить так, что они будут зависеть от параметров конкретной покупки: конкретного товара, количества строк в чеке, сумм по позициям и так далее. Например, разрешается оплачивать только строго определённые товары, или разрешается оплатить баллами только 50% от суммы чека при условии, что в чеке есть строго определённый товар, например, мобильный телефон конкретной марки.
Помимо этого, может быть установлен лимит оплаты покупки денежными средствами. Такой лимит называется лимитом актуальной оплаты или «Минимальный % оплаты». Данный лимит может быть установлен непосредственно в правиле списания, но может быть установлен и глобально – значениями системных настроек. Данный лимит учитывает не только оплату покупки баллами, но и предоставленные скидки. Например, установлен лимит оплаты 50%, при этом предоставлена скидка 10%. Соответственно, по покупке в 1000 рублей обязательно нужно оплатить деньгами 500 рублей, и с учётом предоставленной скидки в 10%, всего можно оплатить тогда баллами 400 рублей.
В общем случае, особенно при всевозможных нелинейных ограничениях на списание, перед тем как совершить оплату покупки, POS-терминал посылает в систему запрос мягкого чека. Система обрабатывает запрос мягкого чека и отправляет ответ на POS-терминал. В ответе, в частности, содержится: сколько баллов доступно для оплаты по данному конкретному чеку в целом и по каждой позиции. Также в ответе содержится: какая сумма и сумма по позиции может быть оплачена бонусными баллами. Значения баллов и суммы, которая может быть оплачена бонусными баллами, могут быть различными при коэффициентах конвертации, отличных от единицы.
После согласования оплаты баллами с клиентом на POS-терминале формируется фискальный чек, который регистрируется в системе и происходит регистрация списания баллов.
Если начисленные баллы – это записи с положительными значениями, то списанные баллы – это записи с отрицательными значениями. При начислении отдельной порции баллов в момент начала действия баллов изменяется поле «Остаток» по порции. В это поле записывается количество начисленных баллов. Если бонусные баллы начислены, но ещё не начали действовать, остаток будет нулём до начала времени действия.
Списание также производится порционно на основании доступных порций начисленных баллов. Положительные порции при этом гасятся. Если порция гасится полностью, то в поле остаток по порции записывается ноль. Если же порция гасится не полностью, то остаток уменьшается на списанное количество баллов.
Количество баллов, доступных для оплаты чека, определяется только величиной остатков положительных порций. Необходимо иметь в виду, что если на карте имеются непогашенные отрицательные порции, которые могут быть образованы после проведения чека возврата, то эти отрицательные порции не учитываются.
Правила списания в системе
Для настройки правила, определяющего порядок списания бонусных баллов, используются карточка Правила списания, которая содержит поля:
| Поле | Описание | Обязательное поле | Редактирование |
| Активно | Признак того, что правило списания активно и используется в процессинге. Возможные значения:
Значение по умолчанию Неактивно. Активация правила списания производится аналогично активации правила начисления (см. 4.2.16). | Да | Поле доступно для редактирования, заполняется вручную |
| Ответственный | Пользователь, ответственный за создание и ведение данной записи. | Да | Поле доступно для редактирования. Заполняется из справочника пользователей. |
| Подразделение | Подразделение, к которому относится данная запись. | Да | Поле доступно для редактирования. Заполняется из справочника подразделений. |
| Общие сведения | |||
| Наименование | Наименование правила списания. | Да | Поле доступно для редактирования, заполняется вручную
|
| Внешний идентификатор | Код интеграции с внешними системами. | Нет | Поле доступно для редактирования, заполняется вручную |
| Дата начала действия | Дата, с которой действует правило списания. | Да | Поле доступно для редактирования, заполняется вручную |
| Дата окончания действия | Дата, до которой действует правило списания. | Да | Поле доступно для редактирования, заполняется вручную |
| Описание | Подробное описание правила списания и цели его создания. | Нет | Поле доступно для редактирования, заполняется вручную |
| Параметры | |||
| Тип операции | Операция, которую регламентирует данное правило списания. Возможные значения:
Значение по умолчанию: Обработка чека. | Да | Поле доступно для редактирования, заполняется вручную |
| Приоритет | Приоритет правила списания (от 0 до 100). Если одновременно действующих правил списания несколько, то они срабатывают согласно указанному приоритету от большего к меньшему. | Да | Поле доступно для редактирования, заполняется вручную |
| Тип объекта обработки | Тип объекта обработки. Возможные значения:
Значение по умолчанию: пусто. В случае значения «Чек» правило и фильтры правила применяются к параметрам чека как целого, при этом игнорируются параметры позиций. Если значение равно «Все позиции чека», то правило и фильтры применяются к отдельным позициям чека, однако ограничения действуют по правилу целиком. Если значение равно «Одна позиция чека», то правило также применяется к отдельным позициям и ограничения распространяются на отдельную позицию. | Да | Поле доступно для редактирования, заполняется вручную |
| Порядок списания бонусных баллов | Порядок списания бонусных баллов по данному правилу. Возможные значения:
Значение по умолчанию: FIFO. | Да | Поле доступно для редактирования, заполняется вручную |
| Коэффициент конвертации | Количество списываемых баллов на одну денежную единицу оплаты. | Да | Поле доступно для редактирования, заполняется вручную |
| Тип бонуса | Балл, который будет списываться данным правилом. Возможные значения:
Значение по умолчанию: Обычный бонус. | Да | Поле доступно для редактирования, заполняется вручную |
| Сортировка статусных баллов | Порядок списания баллов, если «Тип бонуса» равен «Статусный и обычный бонус». Возможные значения:
Значение по умолчанию: Обычный бонус первым. | Да | Поле доступно для редактирования, заполняется вручную |
| Требует наличие оффера | Признак, по которому правило списания применяется к карте контакта, в зависимости от наличия у него принятого действующего оффера. | Нет | Поле доступно для редактирования, активируется вручную |
| Оффер | Ссылка на справочник офферов. Содержит фильтрованное представление офферов по параметру «Для выбора участником»=Да. | Нет | Поле доступно для редактирования, заполняется вручную |
| Ограничения | |||
| Мин. сумма баллов | Минимальная сумма покупки (или части покупки), которая может быть оплачена баллами по данному правилу (если тип объекта «Чек» или «Все позиции чека») или по обрабатываемой правилом позиции чека (если тип объекта «Одна позиция чека»). | Да | Поле доступно для редактирования, заполняется вручную |
| Макс. сумма баллов | Максимальная сумма покупки (или части покупки), которая может быть оплачена баллами по данному правилу (если тип объекта «Чек» или «Все позиции чека») или по обрабатываемой правилом позиции чека (если тип объекта «Одна позиция чека»). | Да | Поле доступно для редактирования, заполняется вручную |
| Мин. % от суммы | Минимальный процент от суммы покупки со скидкой (или части покупки), который должен быть оплачен баллами для списания по данному правилу (если тип объекта «Чек» или «Все позиции чека») или по обрабатываемой правилом позиции (если тип объекта «Одна позиция чека»). | Да | Поле доступно для редактирования, заполняется вручную |
| Макс. % от суммы | Максимальный процент от суммы со скидкой покупки, который может быть оплачен баллами для списания по данному правилу (если тип объекта «Чек» или «Все позиции чека») или по обрабатываемой правилом позиции (если тип объекта «Одна позиция чека»). | Да | Поле доступно для редактирования, заполняется вручную |
| Минимальный % оплаты | В случае указания в данном поле значения Х, правило списания будет позволять списывать максимально такое количество баллов, чтобы сумма для оплаты не баллами составляла не менее Х% от первоначальной суммы чека. | Нет | Поле доступно для редактирования, заполняется вручную |
| Целевая аудитория | |||
| Фильтр по контактам и картам | Включение и исключение из правила списания наборов контактов. Возможные значения:
Значение по умолчанию: Включаемые. | Да | Поле доступно для редактирования, заполняется вручную |
| Включает фильтры по контактам | Раздел формы, в котором отображаются связанные с правилом наборы фильтров по контактам, которые относятся к правилу как включаемые. | ||
| Исключает фильтры по контактам | Раздел формы, в котором отображаются связанные с правилом наборы фильтров по контактам, которые относятся к правилу как исключаемые. | ||
| Фильтр по чекам | |||
| Фильтр по чекам | Включение и исключение из правила списания наборов чеков. Возможные значения:
Значение по умолчанию: Не используется | Да | Поле доступно для редактирования, заполняется вручную |
| Включает фильтры по чекам | Раздел формы, в котором отображаются связанные с правилом наборы фильтров по чекам, которые относятся к правилу как включаемые. | ||
| Исключает фильтры по чекам | Раздел формы, в котором отображаются связанные с правилом наборы фильтров по чекам, которые относятся к правилу как исключаемые. | ||
| Фильтр по позициям | |||
| Фильтр по позициям | Включение и исключение из правила списания наборов позиций. Возможные значения:
Значение по умолчанию: Не используется. | Да | Поле доступно для редактирования, заполняется вручную |
| Включает фильтры по позициям чеков | Раздел формы, в котором отображаются связанные с правилом наборы фильтров по позициям чеков, которые относятся к правилу как включаемые. | ||
| Исключает фильтры по позициям чеков | Раздел формы, в котором отображаются связанные с правилом наборы фильтров по позициям чеков, которые относятся к правилу как исключаемые. | ||
| Фильтр по времени | |||
| Фильтр по времени | Включение и исключение из правила списания наборов ограничений по времени. Возможные значения:
Значение по умолчанию: Не используется. | Да | Поле доступно для редактирования, заполняется вручную |
| Включает фильтры по времени | Раздел формы, в котором отображаются связанные с правилом наборы фильтров по времени, которые относятся к правилу как включаемые. | ||
| Исключает фильтры по времени | Раздел формы, в котором отображаются связанные с правилом наборы фильтров по времени, которые относятся к правилу как исключаемые. | ||
| Зависимости | |||
| Включает список групп баллов | Ссылка на список групп баллов, который относится к правилу как включаемый. | Нет | Поле доступно для редактирования, заполняется вручную |
| Исключает список групп баллов | Ссылка на список групп баллов, который относится к правилу как исключаемый. | Нет | Поле доступно для редактирования, заполняется вручную |
| Включает список кампаний | Ссылка на список кампаний, который относится к правилу как включаемый. | Нет | Поле доступно для редактирования, заполняется вручную |
| Исключает список кампаний | Ссылка на список кампаний, который относится к правилу как исключаемый. | Нет | Поле доступно для редактирования, заполняется вручную |
| Включает список правил начисления | Ссылка на список правил начисления, который относится к правилу списания как включаемый. | Нет | Поле доступно для редактирования, заполняется вручную |
| Исключает список правил начисления | Ссылка на список правил начисления, который относится к правилу списания как исключаемый. | Нет | Поле доступно для редактирования, заполняется вручную |
Рис. Карточка правила списания – Основные параметры, Ограничения

Рис. Карточка правила списания – Целевая аудитория, Фильтр по чекам

Рис. Карточка правила списания – Фильтр по позициям, Фильтр по времени, Зависимости
Параметры правила списания

Тип операции
Параметр «Тип операции» разграничивает функциональность правил для различных операций списания бонусных или статусных баллов.

Параметр «Тип операции» может иметь значения:
- Обработка чека;
- Сгорание окончившихся баллов;
- Выпуск купонов.
Значение «Обработка чека» означает, что данное правило списания будет работать в случае, если в систему передаётся запрос чека с POS-терминала.
Значение «Сгорание окончившихся баллов» означает, что данное правило списания будет работать в случае, когда ежедневно запускается процедура управления баллами. Она запускается раз в сутки ночью в 02:05. Все баллы, срок действия которых закончился, гасятся до нулевых остатков. Также правило с данным типом применяется для списания баллов в случае завершения карты по окончанию действия карты. Требуется создавать одно активное правило с таким типом, которое одновременно будет списывать и бонусные, и статусные баллы. Для корректного сгорания бонусов в системе запрещается создавать более одного активного правила списания с таким типом операции.
Значение «Выпуск купонов» означает, что данное правило списания будет работать в случае, если по заданию по расписанию или по правилу выпуска купонов выпускаются купоны, которые стоят для клиента какое-то количество либо бонусных, либо статусных баллов.
Приоритет правила списания
В отличие от правил начисления, в которых приоритет используется только тогда, когда в кампании установлен метод расчёта «Приоритет» (что обычно крайне редко), правила списания всегда обрабатываются согласно их приоритету. То есть в правиле списания приоритет всегда важен, и он задаёт очерёдность применения правил списания (если правило списания одно в системе, то тогда приоритет можно поставить любой).

Рис. Карточка правила списания – Параметр «Приоритет»
В случае, когда может быть одновременно применено несколько правил списания, порядок их применения соответствует указанному приоритету. Вначале применяется правило с самым большим значением приоритета (приоритет может быть от 0 до 100). Например, есть чек на 100 руб., который должен быть оплачен баллами. В системе есть два правила. Правило большого приоритета, но по нему есть ограничение – по данному правилу можно оплатить не более 20 баллов. Второе правило меньшего приоритета, но по нему нет ограничений, зато оно списывает баллы с коэффициентом конвертации 1 к 2. В примере чека будут применены оба правила: по первому правилу будет списано 20 баллов, по второму остальные 160 (как 80*2), если, конечно, на активном балансе клиента такое количество баллов есть в наличии.
Тип объекта обработки
Правило списания может обрабатывать чек в целом, все позиции чека и отдельно позицию. Если правило обрабатывает чек, то для его алгоритмов и ограничений можно использовать только общие параметры чека: время чека, где он выписан, например, магазин, общую сумму чека и так далее. Фильтры по позициям в этом случае игнорируются.

Рис. Карточка правила списания – Параметр «Тип объекта обработки»
Если правило обрабатывает все позиции чека, то оно применяется к каждой позиции, но ограничивающие параметры по баллам и процентам суммы оплаты относятся ко всему правилу. Например, правило обрабатывает все позиции, при этом включает только определённые товары и имеет ограничение на оплату баллами в количестве 100 баллов. Касса сформировала чек, в котором определённых товаров три позиции на сумму 300, остальные товары чека произвольные. В этом случае, доступных для оплаты баллов будет 100, даже если активный баланс позволяет оплатить всю покупку. И в этом случае, баллы будут распределяться по позициям пропорционально сумме со скидкой каждой позиции и будут относиться только к позициям, которые могут быть оплачены баллами. Например, в чеке правило списания может примениться только к позициям, суммы со скидкой которых есть такие: 1-ая позиция – 100 руб., 2-ая позиция – 200 руб., 3-я позиция – 300 руб. Эти позиции оплачиваются баллами в количестве 100 (1 балл = 1 рубль). Соответственно, к первой позиции будет отнесено 16.667 баллов, ко 2-ой – 33.333 баллов, к 3-ей – 50 баллов.
Если правило обрабатывает одну позицию чека, то ограничивающие параметры относятся к каждой позиции. Например, правило обрабатывает одну позицию, при этом включает только определённые товары и имеет ограничение на оплату баллами в количестве 70 баллов. Касса сформировала чек, в котором определённых товаров три позиции на сумму 300, остальные товары чека произвольные. В этом случае, доступных для оплаты баллов будет 210, поскольку чек содержит 3 интересующих позиции и ограничение по каждой равно 70. В этом случае, изменяется и распределение баллов по позициям. Списываемые баллы распределяются по позициям в порядке их передачи в чеке. Вначале баллами оплачивается первая позиция, максимально возможным образом, потом вторая и так далее. Например, чек состоит из трёх позиций: 1-ая позиция – 100 руб., 2-ая позиция – 200 руб., 3-я позиция – 300 руб. Все они могут быть обработаны правилом списания, при этом чек оплачивается 150 баллами. Соответственно, распределение баллов по позициям будет таким: 1-ая позиция – 70 баллов, 2-ая позиция – 70 баллов, 3-я позиция – 10 баллов.
Порядок списания бонусных баллов
Активные бонусные баллы списываются в определённом порядке. Дело в том, что начисляемые бонусные баллы имеют определённый срок начала действия и определённый срок окончания. Устанавливая нужным образом параметр «Порядок списания бонусных баллов», можно регулировать очерёдность списания баллов.

Рис. Карточка правила списания – Параметр «Порядок списания бонусных баллов»
Значения порядка списания бонусных баллов могут быть: FIFO, LIFO, FEFO, LEFO. Если значение равно FIFO, то первыми будут списываться баллы, у которых самая ранняя дата начала действия. Если LIFO, то в первую очередь будут списываться баллы с самой поздней датой начала действия. Если FEFO, то первыми будут списываться баллы с самой ранней датой окончания действия (самый лояльный порядок списания для клиентов). Если LEFO, то с самой поздней датой окончания действия.
Следует иметь в виду, что в таком порядке будут списываться все баллы контакта и мастер-счёта. Если у клиента несколько карт, к тому же некоторые входят в мастер-счёт, то при оплате автоматически могут быть использованы все эти баллы. Поэтому иногда баллы могут быть списаны не с карты, которая предъявлена для операции на POS-терминале, а с другой карты этого контакта. Это может быть, например, по той причине, что баллы другой карты начинают действие раньше, чем баллы карты операции, если алгоритм списания ФИФО.
Коэффициент конвертации
При списании можно установить, сколько будет списываться баллов с баланса за одну денежную единицу стоимости. За это отвечает параметр коэффициент конвертации.

Рис. Карточка правила списания – Параметр «Коэффициент конвертации»
Например, если коэффициент конвертации равен 3, то за каждую денежную единицу, например, рубль, которую необходимо оплатить баллами, будет списываться 3 бонусных или статусных балла.
Тип бонуса
Значение, которое определяет, какие именно баллы будут списываться данным правилом.

Рис. Карточка правила списания – Параметр «Тип бонуса»
Правило может списывать только бонусные баллы, или только статусные баллы. Однако правило может одновременно списывать и статусные, и бонусные баллы.
Сортировка статусных баллов
Используется в случае, когда правило одновременно списывает и статусные, и бонусные баллы. Определяет порядок списания, при этом алгоритм списания также учитывается.
Рис. Карточка правила списания – Параметр «Сортировка статусных баллов»
Если преимущественно списываются бонусные баллы по алгоритму ФИФО, то они так и будут порциями по ФИФО списываться, пока активный баланс баллов не станет равным 0. Если их не хватает для оплаты, то начнут по тому же алгоритму списываться статусные баллы. Если приоритет списания одинаковый, то и бонусные баллы, и статусные баллы из общего их множества списываются по алгоритму правила. В этом случае возможно перемешивание баллов в зависимости от конкретного алгоритма списания.
Требует наличия оффера и Оффер
Для владельцев определенных офферов можно настраивать дополнительное списание бонусов. Процент списания рассчитывается как сумма из всех примененных к контакту правил списания. Возможность увеличивать процент списания бонусов вероятнее всего повысит привлекательность таких предложений, как например, платная подписка.
Если у правила списания в поле "Требует наличия оффера" стоит значение "Да", и присутствует ссылка на оффер, то правило списания применяется к карте контакта при одновременном выполнении следующих условий:
- наличие обязательной связи контакта и оффера;
- активный оффер;
- действующий оффер - даты начала действия и окончания действия оффера актуальны относительно даты чека/заказа;
- дата выхода из оффера не обозначена на дату чека/заказа.

Если у карты нет контакта, то правило списания с признаком "Требует наличия оффера" в значении "Да" не будет применяться к чека/заказу.
Если при создании заказа правило списания применилось, оно также применяется при апдейте заказа, даже если в промежуток между запросами по заказу:
- Наступила дата окончания оффера.
- Оффер стал неактивным
- Контакт вышел из оффера.
Ограничения и фильтрация
Дата начала действия
Дата и время, начиная с которого правило списания начинает действовать и по нему можно списывать бонусные баллы.
Дата окончания действия
Дата и время, до которой правило списания действует и по нему можно списывать бонусные баллы.

Рис. Карточка правила списания – Даты начала и окончания действия правила списания
Минимальная сумма баллов
Минимальное значение суммы в денежных средствах, которую предполагается оплачивать баллами по данному правилу. В случае чекового правила – минимальная часть суммы покупки. В случае правила для всех позиций – минимальная часть суммы покупки позиций, прошедших условия фильтрации правила. В случае правила для одной позиции – минимальная часть оплачиваемой суммы для каждой позиции, прошедшей условия фильтрации правила.

Рис. Карточка правила списания – Параметр «Мин. сумма баллов»
Также следует иметь в виду, что данное значение задаётся в денежных средствах. В случае отличного от единицы коэффициента конвертации, это значение не совпадает с количеством списываемых баллов.
Максимальная сумма баллов
Максимальное значение суммы в денежных средствах, которую предполагается оплачивать баллами по данному правилу. В случае чекового правила – максимальная часть суммы покупки. В случае правила для всех позиций – максимальная часть суммы покупки позиций, прошедших условия фильтрации правила. В случае правила для одной позиции – максимальная часть оплачиваемой суммы для каждой позиции, прошедшей условия фильтрации правила.

Рис. Карточка правила списания – Параметр «Макс. сумма баллов»
Также следует иметь в виду, что данное значение задаётся в денежных средствах. В случае отличного от единицы коэффициента конвертации, это значение не совпадает с количеством списываемых баллов.
Минимальный процент от суммы
Значение, ограничивающее сумму оплаты баллами по правилу снизу, если правило применяется к чеку или всем позициям чека. Рассчитывается относительно суммы со скидкой. Например, если сумма со скидкой чека равна 500 и есть правило с данным ограничением 50%, то при оплате баллами необходимо оплатить не менее 250 (меньше система не позволит).

Рис. Карточка правила списания – Параметр «Мин. % от суммы»
Если правило чековое – то ограничение рассчитывается от суммы со скидкой чека. Если правило для всех позиций – от суммы со скидкой позиций, прошедших условия фильтрации правила. Если правило применяется к одной позиции, то данное значение есть процент от суммы со скидкой по каждой позиции из тех, что прошли условия фильтрации.
Максимальный процент от суммы
Значение, ограничивающее сумму оплаты баллами по правилу сверху, если правило применяется к чеку или всем позициям чека. Рассчитывается относительно суммы со скидкой. Например, если сумма со скидкой чека равна 500 и есть правило с данным ограничением 50%, то при оплате баллами необходимо оплатить не более 250 (больше система не позволит).

Рис. Карточка правила списания – Параметр «Макс. % от суммы»
Если правило чековое – то ограничение рассчитывается от суммы со скидкой чека. Если правило для всех позиций – от суммы со скидкой позиций, прошедших условия фильтрации правила. Если правило применяется к одной позиции, то данное значение есть процент от суммы со скидкой по каждой позиции из тех, что прошли условия фильтрации.
Если к чеку или позиции применятся сразу несколько правил списания, то ограничения каждого суммируются. Например, одно правило позволяет оплатить 30%, другое 60% - совместное действие правил приведёт к возможности оплатить баллами 90% от суммы со скидкой чека или позиции.
Минимальный % оплаты
Данный параметр задает минимальный процент оплаты актуальной оплаты чека или позиции чека. То есть это такая часть суммы чека, которая обязательно должна быть оплачена денежными средствами. Параметр учитывается только для алгоритма списания. Если по чеку предоставляется скидка, выходящая за пределы актуальной оплаты – скидка предоставлена будет, но никакую часть суммы чека уже невозможно будет оплатить баллами.

Рис. Карточка правила списания – Параметр «Минимальный % оплаты»
Например, чек на 1000 рублей, к чеку применяется правило списания с ограничением в 60% актуальной оплаты. По чеку предоставлена скидка 10%. В этих условиях можно оплатить баллами только 300 рублей из всей суммы чека.
Например, чек на 1000 рублей, к чеку применяется правило списания с ограничением в 60% актуальной оплаты. По чеку предоставлена скидка 50%. В этих условиях никакую часть суммы чека невозможно уже оплатить баллами. В случае попытки оплаты будет возвращена ошибка о недостаточности доступных баллов для оплаты чека.
Если правило чековое – минимальный процент оплаты относится к сумме чека в целом. Если правило позиционное с обработкой всех позиций – минимальный процент оплаты относится к сумме позиций, прошедших фильтрацию правила. Если правило позиционное с обработкой по одной позиции чека – минимальный процент относится к сумме каждой позиции чека.
Если одновременно применяется несколько правил – их эффект суммируется. Например, есть правило более высокого приоритета, в котором задан минимальный процент оплаты равным 60%, есть правило более низкого приоритета, в котором задан минимальный процент оплаты равным 40%. Обрабатываем чек на сумму 1000 рублей, со скидкой 10%. Для первого правила условия таковы, что 600 рублей чека необходимо оплатить денежными средствами, но по чеку уже предоставлена скидка в 100 рублей, поэтому остаётся, что для первого правила максимально можно оплатить баллами 300 рублей. Для второго правила необходимо 400 рублей оплатить денежными средствами, с учётом скидки в 100 рублей на оплату баллами максимально остаётся 500 руб. Таким образом при суммарном действии двух правил максимально можно будет оплатить 800 рублей из суммы чека.
Минимальная сумма оплаты для чека и для позиции может быть установлена только кратно 1 денежной единицы (рублю, доллару, евро и т.п.). Нельзя устанавливать минимальные суммы оплаты в мелких денежных единицах (копейках, центах, евроцентах и т.п.).
Глобальные суммовые ограничения
Функциональность минимального процента оплаты может также регулироваться глобально по всем, одновременно применяющимся к чеку, правилам списания с помощью партнёрских или системных настроек Loyalty.Processing.WriteOff.Min.Percentage.ActualPayment, Loyalty.Processing.WriteOff.Min.Percentage.ActualPaymentI. Значение первой настройки определяет, какой минимальный процент суммы чека в целом должен быть оплачен способом, отличным от способа оплаты баллами. Значение второй настройки определяет, какой минимальный процент суммы отдельной позиции должен быть оплачен способом, отличным от способа оплаты баллами.
В случае наличия таких ограничений одновременно по настройкам и в правилах – применяться будет наиболее жёсткое ограничение.
Помимо глобальных ограничений на процент актуальной оплаты предусмотрено ограничение на максимальный процент оплаты от суммы чека. Если в правилах суммовое процентное ограничение относится к сумме со скидкой, то глобальные проценты суммового ограничения относятся к сумме. Задать глобальные ограничения можно посредством установки значений для партнёрских или системных настроек: Loyalty.Processing.WriteOff.Max.Percentage.Sum – задаёт максимальный процент оплаты баллами для чека в целом, Loyalty.Processing.WriteOff.Max.Percentage.SumI – задаёт максимальный процент оплаты баллами для каждой отдельной позиции.
В случае установки ограничения относительно суммы чека в целом – возможно перераспределение суммы списания на другие позиции, если по какой-то позиции невозможно произвести списание в полном объёме. Например, установлено глобальное ограничение в 50% от суммы чека, в чеке 2 позиции по 1000 рублей каждая, по одной позиции есть МРЦ в размере 900 рублей. 50% от 2000 рублей – это 1000 рублей, поэтому максимально по чеку в целом можно оплатить баллами 1000 рублей, но по позиции с МРЦ можно оплатить только 100 рублей, поскольку установлено МРЦ, равное 100 рублей. Соответственно, по позиции без МРЦ можно максимально оплатить баллами 900 рублей.
Если же ограничение устанавливается в отношении отдельной позиции, то перераспределения списания на другие позиции уже не будет. В предыдущем примере, позиции с МРЦ можно максимально оплатить баллами в размере 100 рублей, позицию без МРЦ можно максимально оплатить баллами в размере 500 рублей. В итоге по чеку в целом в этих условиях можно максимально оплатить баллами сумму, равную 600 рублям.
Фильтр – Целевая аудитория
Когда клиент совершает покупку, то он предъявляет на POS-терминал карту лояльности, по которой он идентифицируется. Правило списания можно ограничить таким образом, чтобы оно могло быть применено только к каким-то конкретным картам, динамические или статические параметры которых подпадают под условия фильтрации, задаваемые фильтрами по контакту и/или связанными с фильтрами списками карт и контактов. Для этого используются фильтры по контактам.

Рис. Карточка правила списания – Целевая аудитория
Фильтр по контактам – это динамический набор параметров, которые устанавливают степень фильтрации карт, контактов или одновременно и карт, и контактов. Если параметры карты, например, общая сумма покупок, укладываются в диапазон значений набора, то по данной карте возможно применение правила списания, с которым связан данный набор. Если не укладывается, то правило не применяется, и списать баллы с данной карты невозможно.
Применимость правила можно ограничить списком определённых карт, для этого надо к фильтру отнести этот список.
Набор можно использовать как включаемый, тогда правило списания будет применяться к картам, параметры которых укладываются в соответствующие диапазоны фильтра. Также можно использовать как исключаемый. В этом случае правило будет применяться ко всем картам, кроме тех, параметры которых укладываются в соответствующие диапазоны фильтра.
Можно также использовать одновременно оба фильтра. Однако, если параметры карты или контакта укладываются в соответствующие диапазоны и включаемого набора, и исключаемого набора, то правило списания не будет применено. Исключение имеет приоритет над включением.
К правилу может относиться несколько фильтров. Если параметры карты или контакта укладываются в соответствующие диапазоны хотя бы одного включаемого фильтра, то к такой карте будет применено правило списания. Если параметры карты или контакта укладываются в соответствующие диапазоны хотя бы одного исключаемого фильтра, то к такой карте правило списания не будет применено и покупку нельзя будет оплатить баллами, даже если позволяет активный баланс.
Фильтр по чекам
Чек, который формируется на POS-терминале, имеет множество параметров. Это сумма чека, сумма со скидкой, магазин, в котором чек выписан, партнер, которому принадлежит магазин и т.д. Эти параметры также могут использоваться для ограничения применения правил списания. Для этого используются фильтры по чекам.

Рис. Карточка правила списания – Фильтр по чекам
Фильтр по чекам – это динамический набор параметров, которые определяют степень фильтрации чеков. Если параметры чека укладываются в соответствующие диапазоны, то чек проходит условия фильтрация. Если чек проходит условия фильтра, который указан в правиле как включаемый, то к данному чеку может быть применено правило списания, и он может быть оплачен баллами. Если чек проходит условия фильтра, который указан как исключаемый, то правило к данному чеку не применяется, и он не может быть оплачен баллами. В этом случае, оплаченными баллами могут быть только те чеки, параметры которых не проходят условия фильтрации.
К правилу могут относиться несколько фильтров. Причём несколько включаемых и несколько исключаемых. Если параметры чека укладываются в соответствующие диапазоны хотя бы одного включаемого фильтра, то к такому чеку будет применено правило списания. Если параметры чека укладываются в соответствующие диапазоны хотя бы одного исключаемого фильтра, то к такому чеку правило списания не будет применено и покупку нельзя будет оплатить баллами, даже если позволяет активный баланс.
К фильтру могут быть отнесены статические списки: списки магазинов, списки партнёров, списки регионов. Если чек выписан, например, в магазине, который входит во включаемый список, который в свою очередь, входит во включаемый в правило фильтр, то к чеку будет применено правило списания.
Фильтр по позициям
Если правило позиционное и чек содержит в себе позиции товаров, то применимость правила можно ограничить параметрами позиции и товара, который входит в позицию чека. Фильтр по позициям – это динамический набор параметров, которые определяют степень фильтрации позиции. В качестве таких параметров используется: стоимость позиции, количество товара, номер позиции и так далее. Если параметры позиции чека укладываются в соответствующие диапазоны, то позиция чека проходит условия фильтрация. Если позиция чека проходит условия фильтра, который указан в правиле как включаемый, то к данной позиции может быть применено правило списания, и эта позиция может быть оплачена баллами. Если позиция чека проходит условия фильтра, который указан как исключаемый, то правило к данной позиции чека не применяется, и она не может быть оплачена баллами. В этом случае оплачены баллами могут быть только те позиции, параметры которых не проходят условия фильтрации.

Рис. Карточка правила списания – Фильтр по позициям
К правилу могут относиться несколько фильтров. Причём несколько включаемых и несколько исключаемых. Если параметры позиции укладываются в соответствующие диапазоны хотя бы одного включаемого фильтра, то к такой позиции будет применено правило списания. Если параметры позиции укладываются в соответствующие диапазоны хотя бы одного исключаемого фильтра, то к такой позиции правило списания не будет применено и позицию нельзя будет оплатить баллами, даже если позволяет активный баланс. Если параметры позиции соответствуют диапазонам хотя бы одного включаемого и хотя бы одного исключаемого фильтра, то правило к позиции не применяется. Исключение имеет приоритет над включением.
К фильтру по позициям могут быть отнесены статические списки: списки групп товаров, списки подгрупп товаров, списки товаров, списки поставщиков, списки брэндов, списки производителей и др. Если в позиции записан товар, например, производитель которого входит во включаемый список производителей, который, в свою очередь, входит в относящийся к правилу включаемый фильтр, то к позиции будет применено правило списания.
Следует иметь в виду, что правило может обрабатывать весь чек в целом («Тип объекта обработки» равен «Чек»), но к нему могут относиться фильтры по позициям. Если таким образом создать правило списания, то оно никогда не будет применимо; во всех случаях покупку невозможно оплатить баллами.
Фильтр по времени
Помимо прочих, в чеке есть такой параметр как дата и время его регистрации. Данный параметр также может быть использован для ограничения применимости правила списания. Для этого используются фильтры по времени.

Рис. Карточка правила списания – Фильтр по времени
Фильтр по времени – это набор временных ограничений. Если дата и время чека укладываются в диапазоны временных ограничений, то такой чек подпадает под условия фильтрации. Если чек подпадает под условия включаемого фильтра по времени, то к такому чеку может быть применено правило списания, и он может быть оплачен баллами. Если к правилу относится исключаемый фильтр по времени, то правило списания может быть применено ко всем чекам, время и даты которых не подпадают под условия фильтрации.
К правилу могут относиться несколько фильтров, причём как включаемых, так и исключаемых. Если дата и время чека подпадают под условия фильтрации хотя бы одного включаемого фильтра, то правило списания применяется. Если дата и время чека подпадают под условия фильтрации хотя бы одного исключаемого, то правило списания не применяется. В случае, когда дата и время чека подпадает под условия и включаемых, и исключаемых фильтров, то правило не применяется. Исключение имеет приоритет над включением.
Ограничение по группе баллов
Любое начисление баллов в системе (по правилу начисления, по заданию, ручное и др.) всегда производится в рамках какой-то кампании. Кампании можно объединить в группу, которая называется группой баллов. Группу баллов можно объединить в список групп баллов. Если правило списания ограничить включаемым списком групп баллов, то по данному правилу списания можно списать только те баллы, которые начислены в рамках кампаний, объединённых в группы баллов, список которых указан в правиле как включаемый.
Если же правило списания ограничить исключаемым списком групп баллов, то по данному правилу можно списать любые начисленные баллы, за исключением тех, которые начислены в рамках кампаний, объединённых в группы баллов, список которых указан в правиле как исключаемый.

Рис. Карточка правила списания – Ограничение по группам баллов (включаемые и исключаемые)
Важно! Определённую кампанию можно включить только в одну группу баллов.
Ограничения по списку кампаний
Любое начисление баллов в системе (по правилу начисления, по заданию, ручное и др.) всегда производится в рамках какой-то кампании. Кампании можно объединить в список кампаний. Если правило списания ограничить включаемым списком кампаний, то по данному правилу списания можно списать только те баллы, которые начислены в рамках кампаний, список которых указан в правиле как включаемый.
Если же правило списания ограничить исключаемым списком кампаний, то по данному правилу можно списать любые начисленные баллы, за исключением тех, которые начислены в рамках кампаний, список которых указан в правиле как исключаемый.

Рис. Карточка правила списания – Ограничение по списку кампаний (включаемые и исключаемые)
Важно! Определённую кампанию можно включить в несколько списков. Этим списки кампаний отличаются от групп баллов.
Ограничения по списку правил
Применимость правила списания можно ограничить баллами, которые начислены в рамках каких-то правил начисления. Для этого надо эти правила начисления объединить в список. Если в правиле списания указать этот список как включаемый, то по данному правилу можно списать только те баллы, которые начислены в рамках правил, список которых указан в правиле списания как включаемый.
Если в правиле списания указать этот список как исключаемый, то по данному правилу можно списать любые баллы, кроме тех, которые начислены в рамках правил начисления, список которых указан в правиле списания как исключаемый.

Рис. Карточка правила списания – Ограничение по списку правил начисления (включаемые и исключаемые)
Следует иметь в виду, что если правило ограничено включаемым списком правил начисления, то по нему никоим образом нельзя списать баллы, начисленные ручным образом или начисленные в рамках задания по расписанию.
Минимальная розничная цена
В системе есть возможность указать для каждого товара значение минимальной расчётной цены (МРЦ).
Этот параметр определяет минимальную сумму, которая не может быть оплачена баллами (и по этой сумме не может быть предоставлена скидка). То есть если в чеке есть товары, по которым в системе указана минимальная расчётная цена, то данная часть стоимости обязательно должна быть оплачена денежными средствами.
Включается данный функционал заданием для партнерской/системной настройки Loyalty.Processing.WriteOff.MinCalcPriceArticle (партнерская настройка указывается через расширенный атрибут партнера) значения Y или 1.
Таким образом, если для настройки Loyalty.Processing.WriteOff.MinCalcPriceArticle установлено значение Y или 1, то при срабатывании правила списания на товар, для которого задана минимальная расчётная цена, возможное для списания по сработавшему правилу количество баллов ограничивается значением МРЦ товара. Максимально возможное количество баллов, которое может быть списано по правилу списания на товарную позицию чека, для которой установлено МРЦ, равно (цена товара – МРЦ) * количество товара в чеке.
Также есть возможность передавать значение параметра МРЦ в запросе чека и обрабатывать его аналогично параметру МРЦ в карточке товара.
Кроме значения МРЦ в карточке каждого товара, можно задать глобальное значение вычитаемой суммы для позиций чека, даже если их артикулы не заведены в системе. Данное значение устанавливается в партнерской/системной настройке Loyalty.Processing.WriteOff.AvoidChequeItemSum (партнерская настройка указывается через расширенный атрибут партнера). Использование глобальной настройки не отключаемо: если оно проставлено, то будет всегда применяться ко всем чекам, у которых есть позиции. Если одновременно заданы МРЦ по товарам и глобальная сумма вычитания по позиции, то по каждой позиции будет применяться МРЦ как максимальное из глобальной и МРЦ*кол-во товара по позиции.

Рис. Параметр Минимальная расчётная цена в карточке товара
Система предусматривает также регистрацию чеков, которые вовсе не содержат позиций. Для таких чеков также можно установить глобальное значение вычитаемой суммы. Если данное значение установлено как какое-то неотрицательное число, то по каждому чеку это значение должно быть оплачено денежными единицами. Данное значение устанавливается в партнерской/системной настройке Loyalty.Processing.WriteOff.AvoidChequeSum (партнерская настройка указывается через расширенный атрибут партнера). Следует иметь в виду, что к чекам с позициями данное значение вовсе не применяется.
Распределение баллов при списании
При регистрации списания всё количество баллов, которыми клиент оплачивает покупку, распределяется порциями по всем позициям чека. В качестве весового коэффициента используется отношение суммы со скидкой по позиции к общей сумме со скидкой чека.
Следует иметь в виду, что если правило применилось только к отдельным позициям чека, то баллы будут распределены только на эти позиции.
Если правило применяется к чеку в целом, но чек имеет позиции, то количество баллов по оплате будет всё равно распределено по всем позициям чека.
В случае возврата какой-то позиции чека, который был оплачен бонусными баллами, на карту клиента будут возвращены именно распределённые на данную позицию баллы, если используется алгоритм возврата со ссылкой на чек покупки.
В случае, если правило применяется к одной позиции («Тип объекта обработки» равен «Одна позиция чека»), то и распределение баллов, списанных этим правилом, также происходит на каждую позицию по отдельности: вначале максимально возможное на первую позицию чека, потом на вторую и так далее, пока не исчерпается списываемое правилом количество баллов.
Включение оплаты баллами в общую скидку по чеку
Как правило, оплату баллами всегда включают в скидку по чеку. В текущей функциональности поддерживается два алгоритма: непосредственно кассовое ПО засчитывает оплату баллами как скидку при обработке мягкого чека и передаёт уже фискальный чек с включенной оплатой; либо внутри процедур ML обработки фискального чека оплата баллами учитывается как скидка.
Включение оплаты баллами в скидку на уровне кассового ПО
В этом случае алгоритмы системы при обработке мягкого чека (мягкого заказа) отдельно формируют значения скидок, полученных от применения дисконтных правил, и значений части суммы каждой позиции, которая оплачивается в условиях данного чека бонусными или статусными баллами. Кассовое ПО из ответа мягкого чека, сформированного ML, вычленяет оплаченную баллами часть суммы позиции и пересчитывает скидку по каждой позиции и по чеку в целом. Полученные значения передаются обратно в ML в фискальном чеке. Алгоритмы ML проверяют полученный фискальный чек на согласованность параметров, обрабатывают его и сохраняют в базу данных в случае корректности.
Если оплата баллами включается в скидку на уровне кассового ПО терминала, то необходимо корректно соблюдать ограничения на формирования скидки, заложенные в процедуры обработки скидок в ML: необходимо изменять не только суммы со скидками по позициям и по чеку в целом (в том числе по запросам формирования заказов), но и ставки скидок, которые должны быть рассчитаны и переданы обратно с фискальным чеком с точностью до третьего десятичного знака, а сами суммы со скидками и суммы должны быть переданы с точностью до 1 копейки (сотой части валютных единиц системы). В противном случае, фискальный чек может не пройти заложенные проверки на согласованность параметров по допустимым отклонениям на ставки скидок и на совпадение суммовых параметров чека с аналогичными агрегатами по позициям.
Если нужно, чтобы в ответах мягкого чека информация о начисленных баллах соответствовала значениям фактического начисления по фискальному чеку - необходимо включить партнёрскую настройку: Loyalty.Processing.WriteOff.Algorithm.AccountPaymentInSummDiscount.Soft.TurnOn.
При использовании данного алгоритма возможно некорректное поведение системы в случае наличия ограничений на оплату баллами в виде максимальных значений на процент к сумме или сумме со скидкой, а также некорректное распределение сумм оплат и количества списанных баллов по позициям чека (распределение будет отличаться на посчитанное по мягкому чеку от посчитанного по фискальному чеку). Также данный алгоритм работы исключает возможность использования правил начисления с основанием «Стоимость к оплате».
Включение оплаты баллами в скидку средствами ML
Организовать включение оплаты баллами в скидку можно и алгоритмами ML. Для этого необходимо в записи партнёра установить параметр «Учёт оплаты баллами в скидку» в значение «Да» (на вкладке формы «Параметры для процессинга»).

Рис. Параметр Учёт оплаты баллами в скидку в карточке Партнёра
В этом случае, при регистрации фискального чека (в конце обработки) сумма оплаты баллами вычитается из сумм со скидками, а значения ставок скидок пересчитываются.
В ответ на фискальный чек скидка, получившаяся от оплаты баллами, показывается внутри общей скидки по позиции и по чеку в целом.
Данный алгоритм не имеет ограничение на максимальные значения сумм оплаты относительно сумм или сумм со скидкой, а также распределение баллов по позициям всегда корректное. Вместе с тем ограничение на использование основания начисления «Стоимость к оплате» сохраняется, а также начисление по мягкому и фискальному чекам будут различаться в случае, если используется основание начисления «Сумма со скидкой».
Ограничение на совместность действия
Недопустимо одновременно использовать оба алгоритма включения скидки. Если оплату баллами включает в скидку кассовое ПО – алгоритм включения на фискальном чеке должен быть отключен. И наоборот, если включен алгоритм учёта оплаты баллами в скидку при обработке фискального чека – недопустимо, чтобы тоже самое делало кассовое ПО при формировании запроса фискального чека.
При использовании обоих алгоритмов некорректно будет работать применение правил (всех видов) в случае использования фильтров по диапазонам суммы со скидкой и диапазонам скидки. Поскольку в мягком чеке скидки ещё нет, а в фискальном чеке уже есть, возможна ситуация, когда некоторые правила будут применяться к мягкому чеку, а к фискальному чеку они уже не будут применяться.
Округление баллов при списании
Система может быть настроена таким образом, что при списании баллов можно было распределять баллы по позициям таким образом, чтобы на каждую позицию приходилось целое количество баллов. Данный алгоритм регулируется значением партнерской/системной настройки Loyalty.Processing.Writeoff.RoundLength (партнерская настройка указывается через расширенный атрибут партнера). Если значение этой настройки установлено как 0 – то распределение будет в целом количестве баллов, если 2 – с точностью до 2 десятичных знаков, 1 – с точностью до 1 десятичного знака. Иные значения не используются.
Но необходимо иметь в виду, что эта настройка не исключает возможности появления нецелочисленных баллов. Например, в позиции 3 штуки товара, на позицию распределено 2 балла списания, и при возврате из этой позиции 1 штуки товара, на баланс будет возвращено 0.67 балла.
Если необходимо иметь целочисленный учёт баллов, то, во-первых, необходимо их целочисленное начисление (см. 10.6.1), во-вторых, целочисленное списание в целых числах на одну единицу измерения товара. Данная функциональность включается партнерской/системной настройкой Loyalty.Processing.Writeoff.RoundBySingleItem (партнерская настройка указывается через расширенный атрибут партнера). При включении этой настройки на 1 штуку товара при списании будет распределяться только целое число баллов.
Необходимо иметь в виду, что при целочисленном распределении не всегда получится полностью оплатить сумму чека баллами, даже если это позволяет активный баланс. Например, если единица товара стоит менее одного рубля (или стоимость единицы товара со скидкой получилась менее 1 рубля), то такой товар при целочисленном распределении невозможно будет вообще оплатить баллами.
Подтверждение операции списания проверочным кодом
Операция списания может быть подтверждена проверочным кодом в СМС сообщении. Необходимость подтверждения регулируется параметром записи партнёра, в магазинах которого регистрируются чеки с оплатой баллами. Для этого в разделе «Верификация оплаты покупок» формы записи партнёра необходимо заполнить параметры:

Рис. Настройка верификации оплаты покупок в карточке Партнёра
При таком заполнении операцию списания баллов необходимо подтвердить проверочным кодом, отправляемым в СМС. Сообщение будет отправлено по номеру мобильного телефона, который указан в записи контакта, который связан с картой (в этом случае покупка с оплатой баллами по карте без контакта или по контакту без номера мобильного будет невозможна). Код будет генерироваться из 4 цифровых символов. Время действия кода составляет 3 минуты.
СМС с проверочным кодом будет создаваться по событию мягкого чека, если происходит попытка оплатить такой чек баллами. По событию фискального чека производится проверка на совпадение переданного с чеком кода и сгенерированного для данного контакта. Если коды не совпадают – зарегистрировать фискальный чек невозможно.
Если сумма оплаты баллами незначительна, можно задать порог. Операция списания будет требовать подтверждения, если сумма оплаты баллами по чеку превосходит данный порог. Если сумма оплаты баллами меньше порога, то код не будет генерироваться и не будет отправляться СМС, даже если настройки партнёра требуют подтверждения. Порог задаётся числом, но как строковое значение системной/партнёрской настройки: Loyalty.Processing.MinimumPaymentBonusesToConfirm.