Возвраты и сторно чеков

Что происходит при отмене чека#

Когда кассир сторнирует чек или оформляет возврат, плагин сообщает об этом в облако, и движок откатывает лояльность по этому чеку. Откат состоит из двух частей, и они выполняются строго в таком порядке:

  1. Возврат списанного. Если гость платил баллами, эти баллы возвращаются — причём ровно в те партии, из которых были сняты, с их исходными сроками сгорания.
  2. Отмена начисления. Баллы, начисленные за этот чек, снимаются обратно.

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

Если начисленное уже потрачено#

Типичная ситуация: гость поел вчера, получил баллы, сегодня их потратил, а вчерашний чек сторнируют.

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

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

Частичные и поздние возвраты#

  • Чек отменили до закрытия. Откатывать нечего: пока чек открыт, в нём лежит только скидка, а баллы списываются в момент закрытия. Баланс гостя такой чек не трогает вовсе.
  • Полный возврат после закрытия. Откатываются обе части.
  • Сторно приходит дважды. Повторное сообщение о сторно не откатывает ничего второй раз. При этом если первое сообщение откатило только списание, а второе относится к полному возврату — начисление всё-таки будет снято. Каждая часть отката выполняется ровно один раз.

Что откатывается ещё#

Сторно чека затрагивает не только баллы:

  • Купон, погашенный в этом чеке, возвращается гостю — снова становится доступным, с прежним сроком. Если срок за это время истёк, купон вернётся уже просроченным. Повторное сторно того же чека ничего не удваивает.
  • Штампы. Штампы, начисленные этим чеком, снимаются. Купоны-призы, выданные за этот чек, отзываются — но только если гость их ещё не погасил. Погашенный купон остаётся у гостя (скидка уже в его чеке), но счётчик призов не откатывается — гость идёт к следующему призу «с долгом», и до его погашения прогресс отображается как ноль.
  • Прогресс миссий — пересчитывается по журналу чеков.

Как снизить количество проблемных откатов#

Если в вашем заведении возвраты и сторно частые, включите задержку начисления (см. страницу про начисление). Пока задержка не истекла, гость физически не может потратить свежие баллы — и откат всегда проходит чисто, без недостач.

Разумное значение — от нескольких часов до суток. Учтите, что гость не сможет потратить баллы в тот же вечер.

Где посмотреть#

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