Расхождение с кассой

Раздел про заказы на точках, где меню и акции ведёт касса — iiko или R-keeper. Здесь описано, откуда берётся расхождение сумм, что видит гость, что видите вы и что делать администратору, если гость позвонил.


Главное правило#

Что гость увидел на чекауте — то он и получает. Цена, скидка, промокод, списание баллов, подарок. Нямбот никогда не оформит заказ по сумме, отличной от той, с которой гость согласился.

Поэтому заказ сначала заводится в кассе — и только потом дело доходит до денег. Способ оплаты значения не имеет: наличные, карта при получении или онлайн — порядок один.


Как оформляется заказ на кассовой точке#

  1. Гость собирает корзину и видит сумму со всеми скидками;
  2. нажимает «Оформить» — Нямбот заводит заказ в вашей кассе. Заказ приходит неподтверждённым: кухня его пока не готовит;
  3. касса считает заказ по своим программам и отвечает своей суммой;
  4. дальше три варианта.

Сумма сошлась#

Обычный случай. Гость идёт к оплате, заказ подтверждается и уходит на кухню. Ничего дополнительно делать не нужно.

Касса посчитала иначе#

Гость видит окно с обеими цифрами и разницей:

Заведение посчитало заказ иначе

У заведения — 890 ₽ Мы показывали — 888 ₽ Разница — +2 ₽

Мы ничего не списали. Оформляем по цене заведения?

Гость соглашается — сумма заказа становится равной кассовой, по ней он и платит. Отказывается — заказ в кассе снимается, кухня его не видела, деньги не списаны.

Касса не ответила#

Если касса молчит дольше 12 секунд или отбивает заказ, Нямбот снимает недоехавший заказ и предлагает гостю попробовать ещё раз. Деньги не списываются ни в каком случае.


Заказ в кассе появился, а оплаты нет#

Это не сбой, а тот самый порядок: касса принимает заказ до денег. Пока гость платит, заказ лежит у вас неподтверждённым.

Что видит кассир на экране кассы:

  • жёлтый, «Подтвердить» / «Неподтв.» — заказ ещё не оплачен. Готовить его не нужно, кухня его и не видит;
  • синий, «Пора готовить» — заказ оформлен и оплачен, можно работать.

Отдельно ничего снимать не надо. Неоплаченный заказ уходит сам:

  • гость нажал «назад» на оплате — снимается сразу;
  • гость закрыл приложение и оформил новый заказ — прежний снимается в тот же момент, чтобы у вас не висело два одинаковых;
  • гость просто исчез — снимается автоматически через 15 минут.

Пятнадцать минут — не запас на всякий случай: столько живёт сама ссылка на оплату. Раньше снимать нельзя, иначе мы уберём заказ, который гость вот-вот дожмёт в приложении банка.

⚠️ Если платёж всё-таки прошёл, заказ не снимается. Перед снятием Нямбот спрашивает банк, что с платежом, и убирает заказ только при отрицательном ответе. Оплаченный заказ останется у вас в любом случае.

Если жёлтый заказ висит дольше 15 минут#

Значит банк не ответил Нямботу на вопрос о платеже, и заказ намеренно не тронут: снять заказ, за который списаны деньги, хуже, чем оставить лишнюю строку. Такой заказ исчезнет на следующей проверке. Если он висит часами — напишите нам, это уже про связь с банком.


История заказа: кто что сделал#

Каждый шаг заказа виден в его карточке — и через месяц тоже. Логи серверов живут недолго, а спор о деньгах приходит когда угодно, поэтому важное пишется в саму историю заказа:

  • заказ создан, подтверждён, готовится, выдан;
  • гость согласился с ценой кассы — и обе суммы, которые он видел;
  • сумма заказа приведена к кассовой — если наш расчёт разошёлся с кассой;
  • заказ снят — с причиной: гость отказался от оплаты, оформил новый заказ или оплата не поступила.

Если снял не человек, а сам Нямбот — в истории так и написано, вместе с причиной. По этой ленте разбирается любой спор: видно, что именно видел гость, на что он согласился и почему заказ изменился.


Почему суммы вообще расходятся#

Расхождение — это не поломка Нямбота и не ошибка гостя. Оно означает, что настройки в кассе разошлись с тем, что видит гость на витрине. Частые причины:

  • акция закончилась или началась между тем, как гость собрал корзину, и тем, как нажал «Оформить»;
  • скидка в кассе изменена — процент, условия или список блюд. Витрина догоняет такие правки в течение часа: Нямбот раз в час проверяет, не менялись ли программы кассы, и обновляет скидки на блюдах, если менялись;
  • баллы гостя изменились — он потратил их в другом заказе;
  • подарочная программа перестала выполняться из-за изменения состава.

⚠️ А вот цены прейскуранта расхождения не дают: касса считает заказ по тем ценам, которые прислал Нямбот, и своих не подставляет. Если цену изменили в кассе, а меню в Нямботе не синхронизировали, заказ уйдёт по старой цене — суммы сойдутся, но заведение недополучит разницу. Это лечится синхронизацией меню, а не этим механизмом.

Единичное расхождение — обычное дело. Систематические расхождения означают, что настройки кассы и витрины разъехались, и это стоит разобрать.


Что видно вам в СРМ#

В таблице заказов#

Появляются два столбца:

  • Цена кассы — сумма, которую назвала касса;
  • Разница — на сколько она отличается от показанной гостю. Плюс означает, что касса посчитала дороже.

В фильтре статусов есть пункт «Расхождение с кассой» — он оставляет в списке заказы, где гость согласился на цену кассы. Тот же фильтр ставит щелчок по плитке «Расхождение с кассой» в полоске метрик над таблицей: там же видно, сколько таких заказов за выбранный период.

В карточке заказа#

Полный разбор: обе суммы, разница, что именно разошлось — скидка, баллы, подарок или состав, — а также что гость выбрал и в какое время.

Неоформленные заказы#

Вкладка рядом с таблицей заказов. Сюда попадают попытки, которые не стали заказами: гость отказался от цены кассы, закрыл мини-апп, не ответив, или касса не подтвердила заказ.

Вкладка важнее, чем кажется. В обычной таблице заказов видны только те расхождения, с которыми гость согласился. Случаи, из-за которых гость ушёл, там не появятся никогда — а именно они и стоят вам выручки.

Сколько их за выбранный период, видно сразу: плитка «Неоформленные» в полоске метрик над таблицей. Щелчок по ней открывает эту вкладку.

Внутри — поиск по телефону и фильтр по исходу: отказался от цены, ушёл не ответив, касса не подтвердила, касса не ответила вовремя. Телефон работает всегда, даже когда номера заказа у гостя нет — заказа ведь не случилось.

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


Что видит администратор в «Команде»#

Администратор видит обе суммы и разницу — этого хватает, чтобы ответить гостю по делу и передать владельцу. Разбор причин остаётся за владельцем: у него полная картина по всем точкам.

Ему же доступны сегодняшние попытки по своей точке с поиском по телефону и по номеру заказа. Номер у гостя обычно есть: он приходит уведомлением бота и виден в «Моих заказах». Но бывает и наоборот — гость закрыл мини-апп и номера не запомнил, — поэтому телефон работает всегда.

Если гость позвонил#

Разбираться в причинах расхождения — не задача администратора. Его задача — принять звонок и не оставить гостя без ответа.

Как отвечать:

  1. найти попытку по номеру заказа, если гость его называет, или по телефону;
  2. подтвердить, что видите её: «Да, вижу вашу попытку заказа в 20:15»;
  3. сказать, что разберётесь: «Уточню по кассе и свяжемся с вами сегодня или завтра, объясним причину»;
  4. если гость готов заказать сейчас — принять заказ голосом обычным порядком.

Чего делать не нужно: объяснять причину расхождения на месте и называть технические подробности. Причину разбирает владелец — у него есть полная картина.


Что делать владельцу с расхождениями#

  1. откройте карточку заказа или экран неоформленных и посмотрите, что именно разошлось — скидка, баллы, подарок или состав;
  2. сверьте настройку в кассе с тем, что показывает витрина: чаще всего дело в акции, которую изменили в кассе, а зеркало в Нямботе осталось прежним;
  3. если расхождения повторяются на одной и той же акции — поправьте её зеркало в разделе «Маркетинг»;
  4. если расхождения пошли сразу по всем заказам точки — проверьте связь с кассой в разделе «Интеграции».