Коммерция: купоны, доставка и партнёры
Раздел «Коммерция» собирает всё, что влияет на итог корзины: скидки, стоимость доставки, налоги, подарочные карты и вознаграждение партнёрам. Настройки применяются на чекауте витрины — и в интернет-магазине, и в меню ресторана с доставкой.
Где: Админ-панель → Финансы → «Коммерция» (admin.cenaly.ge). Семь вкладок: Купоны и скидки · Лояльность · Доставка · Налоги · Подарочные карты · Регистрации устройств · Партнёры.
Что нужно для запуска#
Для налогов точки нужен доступ к её настройкам; для проверки фискального чека — подключённая ККТ. Для работы с купонами нужен доступ к «Коммерции» и выбранная точка. Создайте купон в «Купонах и скидках», проверьте условия и сохраните. Для применения на кассе нужна связь с облаком; на витрине код вводит гость.
Купоны и автоскидки#
Купон — код, который гость вводит на чекауте. Автоскидка — тот же купон с галочкой «Применять автоматически (без кода)»: код вводить не нужно, скидка считается сама.
Четыре типа:
| Тип | Что делает |
|---|---|
| Скидка в процентах | Например, 10% на корзину |
| Скидка суммой | Фиксированная сумма в валюте заведения |
| Бесплатная доставка | Обнуляет стоимость доставки |
| BOGO — купи X, получи Y | Например, «2+1»: без указания товаров бесплатными становятся самые дешёвые позиции |
Область действия: вся корзина, конкретные товары, коллекции или выбранная опция позиции.
Создать промокод со сроком и лимитом#
Результат — промокод работает только в выбранные даты и ограниченное число раз, всего и на одного покупателя.
- Откройте «Коммерция» → вкладка «Купоны и скидки» и выберите точку.
- Нажмите «+ Добавить купон». Новый купон уже включён: скидка 10 % на всю корзину.
- «Код» — то, что гость введёт на чекауте, например
AUTUMN10. Регистр и пробелы не важны: код сохранится заглавными буквами без пробелов. Код должен быть уникальным в пределах точки. - «Тип» и «Значение»: «Скидка в процентах» (10 = 10 %) или «Скидка суммой» (в валюте заведения). Для бесплатной доставки значение не нужно, для BOGO заполняются «Купить, шт.» и «Бесплатно, шт.».
- «Применяется к» — вся корзина, отдельные товары, коллекции или выбранная опция. При необходимости — «Мин. сумма заказа» и «Макс. скидка».
- Лимиты: «Лимит применений (всего)» — сколько раз код можно использовать по всем заказам; «Лимит на клиента» — сколько раз одному покупателю. Пусто или 0 — без лимита.
- Срок: «Действует с» и «Действует до». Код работает до конца дня окончания.
- Проверьте флажки «Включён», «Совместим с другими купонами», и, если нужно, ограничьте круг покупателей и каналы (Условия по клиенту, Где действует купон).
- Нажмите «Сохранить». Если код уже занят другим купоном точки или поле «Код» пустое, окно покажет ошибку, а введённое останется в форме.
Как работают лимиты и сроки:
- Применение засчитывается, когда заказ выполнен или оплачен. Заказ, который гость бросил или отменили до оплаты, лимит не тратит.
- «Лимит на клиента» проверяется, только если покупатель узнан — по телефону, email или аккаунту. Анонимного гостя этот лимит не остановит; ограничивает его только общий лимит.
- Дата начала считается от полуночи по UTC, а окончание — до 23:59 выбранного дня по времени вашего браузера. В часовых поясах восточнее UTC код начинает работать утром первого дня, западнее — вечером накануне. Если важен точный старт, включайте купон вручную флажком «Включён».
- На витрине истёкший, ещё не начавшийся или исчерпанный код показывает гостю одно сообщение — «Неверный или неприменим», без уточнения причины. На кассе причины свои: «Промокод уже использован максимальное число раз.» и «Этот гость уже использовал промокод максимальное число раз.» (Скидки на кассе).
- Поле промокода появляется на витрине, когда у точки есть хотя бы один включённый купон.
- Сколько раз код уже использовали, в панели не видно — счётчика погашений в интерфейсе нет. Автоскидка с исчерпанным лимитом просто перестаёт применяться.
Скидка от выбранной опции#
Такая акция включается, когда гость выбрал опцию у позиции: «Сделать комбо» — бургер дешевле на 20 %, «Большая порция» — кофе дешевле на 30 ₽.
- Откройте купон, в «Применяется к» выберите «Когда выбрана опция».
- Выберите позицию, затем отметьте её опции. Опция принадлежит своей позиции: одинаковые опции двух блюд отмечаются у каждого блюда отдельно.
- Укажите тип: процент, сумму или бесплатную доставку. BOGO с этой областью не работает.
- Включите «Применять автоматически (без кода)», если скидка не должна ждать кода, и нажмите «Сохранить».
Скидка ложится на саму позицию: надбавки опций и добавок она не уменьшает, а вариант (размер) входит в цену позиции. Пример: бургер 300 ₽ с опцией за 100 ₽, скидка 50 %, две штуки — скидка 300 ₽, итог 500 ₽. Скидка суммой считается за каждую штуку, а не один раз на чек. Если гость снимет опцию, скидка уйдёт вместе с ней.
Касса и витрина считают такую скидку одним правилом, и онлайн-оплата пересчитывает её на сервере. Кассир может снять скидку: для того же набора опций она не вернётся. Гость снимает её кнопкой «Убрать», как и любую автоскидку.
Ограничения на каждый купон: минимальная сумма заказа, максимальная скидка, лимит применений всего и на одного клиента, даты действия, совместимость с другими купонами.
Промокоды, заведённые на странице «Локация», видны здесь в режиме чтения — чтобы две сущности не спорили за один код. У них тоже есть срок действия («с» и «по»): в таблице точки видна колонка со сроком и отбор «Действуют / Ещё не начались / Истекли / Все», а на чекауте окно дат судится по тому же правилу, что и у купонов этого раздела.
Автокупоны применяются на витрине. Как только корзина подходит под условия, скидка появляется в итогах оформления, вводить ничего не нужно. Гость может убрать её кнопкой «Убрать»: пока оформление открыто, она не вернётся.
Если гость ввёл код, главным становится код. Обычный код заменяет автоскидку, и витрина об этом предупреждает; уберёт код — автоскидка вернётся. Купон с отметкой о совместимости складывается с совместимыми автоскидками. Сумму на сервере пересчитывают и онлайн-оплата, и заказ с оплатой на месте, поэтому гость платит то, что видел в итогах. На киоске автоскидки не применяются: там работает введённый код.
На кассе сотрудник вводит код сам — кроме скидки от выбранной опции: её веб-касса ставит сама. На кассе на чек — один купон, даже если в настройках разрешена совместимость. Действия и причины отказа — Скидки, промокоды и баллы на кассе.
Приостановить или удалить купон#
- Для паузы нажмите «Изменить», снимите «Включён» и нажмите «Сохранить». Купон останется в списке со своими условиями, но новые проверки его не примут. Включить обратно можно в том же редакторе.
- Для удаления нажмите «Удалить» и подтвердите «Удалить купон?». Запись исчезнет из списка; отдельного архива купонов нет.
- Уже оформленные заказы и записи о погашениях не удаляются ни при паузе, ни при удалении. Это не отмена прошлых скидок и не сброс использований; не переиспользуйте старый код ради обнуления лимита.
Если сохранение не прошло, проверьте сообщение об ошибке и повторите: не считайте акцию остановленной, пока изменение не сохранено.
Как отправить гостю код#
Автопилот под вкладкой «Купоны и скидки» может приложить скидку к сообщению кампании. Для каждого сообщения система выпускает персональный одноразовый код и добавляет его в ваши купоны. Это отличается от ручного купона, общий код которого вы сообщаете нескольким гостям.
Попап подписки тоже может выдать отдельный одноразовый код гостю по настроенной акции. Как настроить показ — Кампании вовлечения.
Рассылка — другой сценарий: в письмо добавляют блок «Промокод», вводят существующий код и при желании «Примечание (необязательно)». В таком письме один код для всех получателей; блок сам не выпускает персональные купоны. Это e-mail-рассылка — Email-рассылки.
Условия по клиенту#
Купон можно адресовать сегменту покупателей:
- только новым — у кого нет завершённых заказов;
- только вернувшимся;
- по сумме покупок — от заданной суммы завершённых заказов;
- реактивация — тем, у кого последний заказ старше N дней.
Клиент опознаётся по номеру телефона: если на чекауте телефона нет, купон с условием по клиенту не применится.
Где действует купон#
Блок «Где действует купон» в форме купона сужает его действие. Ничего не отмечено — ограничения нет.
- Каналы продаж — сайт, QR за столом, касса, киоск, агрегаторы. Так заводится скидка «только онлайн» или купон, который работает только у кассира.
- Типы заказа — в зале, самовывоз, доставка. Свой тип заказа кассы («Банкет», «Кейтеринг») считается по своему базовому типу.
Правило одно на витрину, киоск и кассу. Купон «только самовывоз» при доставке не примется: гость увидит «Этот код не действует для такого типа заказа», кассир — «Промокод не действует для такого типа заказа — смените тип или снимите код». Если тип заказа или гостя поменяли уже после ввода кода, код проверяется заново, и скидка снимается, когда условие перестало выполняться. Итоговую сумму онлайн-оплаты сервер считает по самому заказу, а не по тому, что показала витрина.
Купон для сегмента гостей#
В том же блоке можно выбрать сохранённый сегмент из раздела Клиенты → Сегменты: например, «−15 % VIP». Купон применится только у гостя из этого сегмента, у остальных касса покажет «Промокод только для гостей определённого сегмента — этот гость в него не входит».
- Гость опознаётся по телефону: сначала укажите его в чеке или на оформлении заказа.
- Состав сегмента сервер берёт из последней синхронизации справочника. Новый сегмент считается сразу после сохранения. Новый тег и новый заказ доедут со следующей синхронизацией (она идёт при открытии разделов «Клиенты» и «Заказы»).
- Если сегмент удалён, купон никому не подойдёт — форма купона об этом предупредит.
- На cenaly.ru выбора сегмента нет: там нет вкладки «Сегменты». Каналы и типы заказа работают.
Методы доставки#
Список методов, которые гость выбирает на чекауте. Стоимость считается по правилам метода:
| Метод | Как считается |
|---|---|
| Самовывоз | Бесплатно |
| Фиксированная стоимость | Одна цена на любой заказ |
| Бесплатно от суммы | Выше порога — бесплатно, ниже — цена вложенного метода |
| Локальная доставка (радиус) | По расстоянию от точки отправки, в километрах |
| По зонам | Цена по странам/регионам (ISO-коды), пустой список стран = «везде» |
| Служба доставки | Тарифы перевозчика; сам метод настраивается в панели подключённой службы (СДЭК, Яндекс Доставка, Почта России, 5Post, ApiShip, Trackings.ge, Exline, Казпочта, Нова Пошта) |
Если методов нет, чекаут использует прежнюю фиксированную стоимость доставки из настроек локации — то есть включение раздела ничего не ломает.
Зоны доставки на карте — здесь же#
Над списком методов стоит блок «Зоны доставки на карте»: это полигоны вашей курьерской доставки со своим тарифом, минимальным заказом и временем доставки. Кнопка «Настроить зоны» (а также пункт «🗺️ Зоны доставки на карте» в списке «+ Добавить способ») открывает тот же редактор, что и в разделе «Своя доставка» — прямо здесь, без перехода: зоны у вас одни, где бы вы их ни правили.
Блок стоит первым не случайно — так считает чекаут: если зона у вас есть и адрес гостя попал в неё, цену доставки даёт зона, а не методы ниже. Адрес за пределами всех зон обслуживают методы из списка (служба, пункт выдачи, фиксированная стоимость).
Не путайте с методом «По зонам» из таблицы выше: он про страны и регионы по ISO-кодам, а не про полигон на карте.
Метод работает и за пределами зон и радиуса своей доставки: если для адреса гостя нашёлся хотя бы один метод, отказа «Адрес вне зоны доставки» нет — гость выбирает метод и платит его цену.
Все службы доставки, работающие в вашей стране, теперь видны карточками в Магазине приложений — с описанием, возможностями и тем, что нужно для подключения. У служб, к которым подключения пока нет, стоит значок «Скоро»: карточка объясняет, чего ждать, но кнопки настройки у неё нет.
Налоги#
Отдельная вкладка — налоговая таблица витрины, если одной ставки на всё заведение недостаточно:
- налоговые классы — группы товаров со своей ставкой (например, «еда», «алкоголь», «освобождённые от налога»);
- юрисдикции — страна, регион, диапазоны почтовых индексов и приоритет, по которым выбирается ставка;
- ставки — на пересечении «юрисдикция × класс × канал продаж» (зал, навынос, доставка или любой), плюс исключения по отдельным товарам;
- режим «цены включают налог» — для стран, где цена на витрине показывается с налогом;
- страновые пресеты — готовые наборы ставок для 64 стран; у каждого набора видна дата, на которую ставки сверялись с первоисточником. Там, где закон различает канал продажи (в зале и навынос — разные ставки), пресет это учитывает. Пустая таблица предзаполняется пресетом страны вашей локации автоматически, но в силу заполненное вступает только после «Сохранить» — предложенное всегда можно поправить или отменить. Отдельная кнопка «Заполнить по юрисдикции» делает то же самое по требованию.
Наверху раздела — выбор точки с флагом её страны и плашка юрисдикции: страна → валюта → налоговый режим → состояние налоговой таблицы, чтобы настройка не велась вслепую.
Как товар попадает в класс. В карточке блюда (вкладка «Инфо») и товара (вкладка «Цены») есть селект «Налоговая группа»: в него подтягиваются классы ваших сохранённых налоговых таблиц и классы страновых пресетов — только для стран ваших точек. Если группа не выбрана, позиция считается по стандартному классу; свой идентификатор группы по-прежнему можно вписать вручную.
Редактор предупреждает о дублях, битых ссылках и об отсутствии стандартной ставки. Таблица работает на витрине и чекауте; касса (POS) считает налоги по своим настройкам локации и эту таблицу не использует.
Налоги на кассе#
Налоговая таблица витрины, налоговый блок чека точки и ставка НДС фискальной кассы настраиваются отдельно. Для начала выберите нужную точку в «Локациях» и откройте её карточку. Название налогового блока зависит от страны: например, «НДС» или «Налог с продаж».
| Параметр точки | Зачем он нужен |
|---|---|
| Включение налога | Разрешает формировать налоговый блок чека |
| «Ставка, %» | Общая ставка налогового блока; это не смена ставки по умолчанию в ККТ |
| «Название в чеке» | Подпись налога, которую увидит покупатель |
| «Цены уже включают налог» | Налог выделяется из цены; рядом показана подсказка страны |
| «Начисляется на» | Для налога сверх цены: «Подытог» либо «Подытог + сервисный сбор» |
Проверьте предложенную для страны ставку и режим. Если вместо переключателя показано правило страны, рядом есть кнопка его изменения. При включённом в цену налоге выбор базы скрыт. Связь со сбором описана в статье Сервисный сбор.
Включённый налог или сверху цены. Для цен с налогом (Россия, Грузия, страны с VAT/GST) включите «Цены уже включают налог» и проверьте пробный чек: итог кассы не меняется, налог выделяется из цены.
Для США и Канады выключите «Цены уже включают налог» и выберите базу. Касса прибавит налог к итогу так же, как чекаут витрины. Строка налога со ставкой появится на экране кассы, на дисплее покупателя, в пречеке и в чеке. Так считают и веб-касса, и приложения кассы для Android, Windows и Linux, и официант на телефоне.
- База — позиции после скидки на чек и купона. При варианте «Подытог + сервисный сбор» в неё входит и сбор.
- Чаевые и доставка в базу не входят.
- Оплата, раздельная оплата, частичные оплаты и возврат идут от суммы с налогом.
- Налог сохраняется в заказе отдельным полем. Финансовые отчёты и счёт гостя на номере получают его отдельно от выручки.
- В X/Z смены налог выводится отдельной строкой «Налог сверху цены», рядом — «Выручка без налога». Подробнее — в статье Кассовая смена.
- Открытый счёт оплачивается по налогу, записанному в заказе при его создании. Заказ, созданный до включения налога, остаётся без налога. Новая ставка действует на новые заказы.
Пример: позиции на 100 $, сервисный сбор 10 $, налог 8,875 % от «Подытог + сервисный сбор». Налог — 9,76 $, итог — 119,76 $, чаевые добавляются сверху.
Ставка НДС отдельной позиции#
Задача: у кофейни в России основная ставка 22%, у части товаров — 10%. Убедитесь, что основная ставка фискальной кассы настроена правильно: значение «Ставка, %» в карточке точки её не меняет.
- Откройте редактор продаваемой позиции в меню и найдите «Ставка НДС в чеке». Этот выбор появляется при наличии российской точки.
- Для товара с другой ставкой выберите 10%; для обычного — «Как у кассы точки», если дефолт ККТ действительно 22%, либо задайте 22% явно.
- Сохраните карточку и проверьте ставку позиции в пробном фискальном чеке. Если она не совпала, проверьте именно профиль позиции и настройку ККТ, а не налоговую таблицу витрины.
Для освобождённой позиции выберите «Без НДС (освобождение)» и укажите «Основание освобождения». Основание сохраняется справочно и не печатается в чеке. Выбор ставки не проверяет ваше право на льготу; российский сценарий — УСН и НДС в 2026 году.
В нероссийском режиме вместо НДС можно задать «Налоговая группа в фискальном регистраторе (A–D)»: буква должна соответствовать группе, настроенной в устройстве. Если у аккаунта нет фискального устройства, поле может быть скрыто. Пустое поле оставляет стандартную группу устройства. Это отдельное поле от «Налоговая группа» витрины.
Подарочные карты#
Вкладка выпуска и учёта подарочных карт:
- выпуск — сумма, валюта, свой код или автоматическая генерация, срок действия, заметка. Полный код показывается один раз при выпуске: сохраните его, повторно открыть код из списка карт нельзя;
- список карт — баланс, статус (активна / заблокирована / истекла), блокировка и разблокировка;
- леджер по карте — все операции: дата, заказ, сумма.
Списание в счёт заказа выполняет сервер при оплате, а покупатель может проверить остаток по своему коду на витрине.
Карту можно и продать, и принять на кассе: действие «Продать сертификат» выпускает карту на выбранный номинал (код печатается на чеке и уходит письмом получателю), а тендер «Подарочная карта» списывает нужную сумму со счёта гостя. Продажа сертификата — не выручка, а обязательство: сводка «выпущено / погашено / остаток» лежит в разделе Финансы. Подробнее — Касса (POS).
Партнёрская программа#
Партнёр приводит покупателей по реферальной ссылке вида ?ref=КОД и получает комиссию с реализованных заказов.
Что настраивается на каждого партнёра:
- комиссия — процент с заказа или фикс за заказ, в выбранной валюте (заказы в другой валюте не начисляются);
- окно атрибуции — сколько дней после клика заказ ещё засчитывается партнёру (по умолчанию 30);
- только первые заказы — платить лишь за новых покупателей;
- порог выплаты;
- статус: активен, на паузе, в архиве;
- привязка к аккаунту покупателя — под ним партнёр входит в свой кабинет на витрине;
- справочная связь с карточкой контрагента.
Комиссию считает сервер, а не браузер: начисление появляется, когда заказ реализован, и откатывается при отмене. Все движения видны в леджере партнёра: начисления, откаты, выплаты и текущий баланс.
Регистрации устройств#
Отдельная вкладка — устройства, которые покупатели зарегистрировали на витрине: серийный номер, товар, контакт, дата покупки и дата регистрации. Список только для чтения — записи создаёт сам покупатель. Полезно для техники и любых товаров с гарантийным обслуживанием.
Ограничения#
- Таблица налогов витрины не управляет POS: касса считает налог одной ставкой точки. Основание освобождения не печатается.
- Чек отдельной части раздельной оплаты печатается без строки налога. Сумма части при этом налог уже включает.
Для купонов нет массовой генерации кодов и интерфейса статистики погашений. Одноразовые коды автопилота и попапа подписки выпускаются системой по событию, а не вручную пачкой. Автокупоны работают на витрине; на кассе и киоске — один введённый код, кроме скидки от выбранной опции: её веб-касса ставит сама (в кассах для Android, Windows и Ubuntu — пока нет).
Устранение неполадок#
| Симптом | Причина | Что делать |
|---|---|---|
| Выключенный купон всё ещё в списке | Пауза сохраняет запись | Это ожидаемо; для удаления используйте «Удалить» |
| Купон не применяется | Выключен, истёк срок, исчерпан лимит либо не подходят чек/гость | Проверьте условия в редакторе; причины отказа кассы |
| Налог сверх цены не прибавился на кассе | В карточке точки включено «Цены уже включают налог», налог выключен или ставка 0 | Проверьте блок «Налог» точки и обновите кассу. Счёт, открытый до правки настроек, пересчитается при следующем изменении |
| В чеке не та ставка НДС позиции | Профиль позиции не задан или у ККТ другой дефолт | Проверьте «Ставка НДС в чеке» и настройку кассы |
| «Код … уже занят другим купоном этой точки» при сохранении | В этой точке уже есть купон с таким кодом (регистр и пробелы не различаются) — второй такой купон никогда бы не сработал | Выберите другой код или откройте и измените существующий купон |
| Автоскидка не появилась на витрине | Корзина не подходит под условия купона, исчерпан лимит, гость убрал скидку или ввёл свой код | Проверьте условия и лимиты купона; уберите введённый код |
| Автокупон не сработал на кассе | Автоприменение есть только на витрине | Введите код в кассе и дождитесь проверки |
| В рассылке всем пришёл одинаковый код | Блок письма содержит общий код | Для персональных кодов используйте соответствующую кампанию автопилота или попап подписки |
Частые вопросы#
Можно ли сделать скидку без промокода? На витрине — да: включите «Применять автоматически (без кода)». На кассе код вводят вручную.
Складываются ли купоны? На витрине — с учётом «Совместим с другими купонами». На кассе применяется один купон; с ручной скидкой он может складываться.
Что произойдёт, если гость отменит заказ с партнёрской ссылки? Начисленная комиссия откатится автоматически — в леджере это видно отдельной проводкой.
Считается ли комиссия партнёра от суммы со скидкой? Да, от фактически реализованного заказа.
Связанные разделы#
- Интернет-магазин — корзина, чекаут и витрина
- Лояльность — бонусы и программы для постоянных гостей
- Подборки товаров — на что вешать скидки
- Своя доставка — курьеры и логистика заказов
- Финансы — как скидки и доставка видны в отчётах
Ограничить налоговую ставку способом получения#
Используйте этот порядок, когда для вашего бизнеса уже определены нужные ставки и правила их применения.
- В «Коммерция» → «Налоги» выберите точку и откройте правила ставок.
- У нужной строки проверьте юрисдикцию, налоговый класс и ставку. Укажите каналы, к которым она относится: например, зал, самовывоз или доставка.
- Сохраните настройки. Пустой список каналов означает общее правило, а не отключённую ставку; не оставляйте его пустым, если хотели ограничить применение.
- Проверьте расчёт на позиции нужного налогового класса отдельно для каждого способа получения. Убедитесь, что итог и налоговая строка соответствуют вашим настройкам до проведения реальной продажи.
Настройка ставки не подключает национальную фискализацию и не определяет сама, какая ставка положена вашему бизнесу.