Вот, решил поделиться своими наработками по реализации депозитов в заведениях с 6-ым кипером (про 7ку речь не ведем, там все работает как надо из коробки).
Кстати, эти же схемы, с небольшими вариантами, применимы к банкетам, за которые берется предоплата.

Что такое депозит?
Гость, для того что бы посетить заведение, должен внести некоторую сумму денег. Варианты: сумма зависит от количества гостей (т.е. Такса * Количество), либо от того столика/зоны, куда нацелился гость.

Далее гость кушает и пьет. На момент расчета возможны следующие варианты:
1. Гость заказал ровно на сумму депозита - Расходимся, никто никому ничего не должен.
2. Гость заказал на сумму меньше чем внес депозит - Остаток депозита гостю не возвращается и остается у предприятия.
3. Гость заказал на большую сумму чем внесенный депозит - Гость доплачивает разницу.

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

Бывают депозиты которые вносятся в день посещения (т.е. при входе), но бывают варианты когда депозит требуется внести заранее, например при бронировании столика на выходные.

С точки зрения закона и кассовой дисциплины, работа с депозитами должна выглядеть следующим образом (это Налоговая так ответила на официальный запрос одного из ресторанов)

Гость приходит, мы ему пробиваем по кассе чек на 3000, берем с него деньги и кладем в кассу.

Гость покушал на 4000. Мы должны сделать отмену первого чека (фискальный возврат), отдать из кассы деньги гостю (т.е. вернуть ему аванс) и взять с него 4000 в оплату фактически отпущенных товаров, на которые опять пробиваем чек.
В случае если депозит берется в день посещения - эта схема еще реальна (но придется брать с гостя заявление на возврат и потом опять же придется объясняться с налоговой по огромной сумме возвратов). В случае если депозит брали "вчера", а гость гуляет "сегодня", делать возврат по кассе не правомерно, и его нужно оформлять через главную кассу предприятия...
В случае если депозит вносился по банковской карте - все еще сложнее...

Понятно что по такой схеме никто не работает...

И вот теперь варианты:

Вариант №1 (Колхозный)
Берем с гостя наличку, гостю выписываем "приходник", по кассе ничего не пробиваем, деньги кладем в "черную кассу". В момент расчета, пробиваем по Киперу чек и просто перекладываем деньги из черной кассы в денежный ящик.

Плюсы: Все хорошо в отчетах Кипера и Склада.
Минусы: Головняк с учетом денег в черной кассе, нарушение законодательства.

Вариант №2 (Скидки)
Пробиваем по кассе блюдо "Депозит" с нужной стоимостью. Фискальный чек отдаем гостю.
В день фактической реализации блюд, на стол с заказом, дается суммовая скидка в размере депозита. Как вариант, скидка дается сразу, в момент посадки, при открытии столика.

Фактическая реализация может выглядеть по разному: Можно давать скидки на кассе в ручную (как правило правом на это обладает обладает ограниченное количество сотрудников). Можно выдавать гостю карту ПДС у которой 100% скидка с ограничением по сумме.

Плюсы: С точки зрения кассовой дисциплины - все гладко. Взяли деньги - дали чек. Для линейного персонала все тоже почти хорошо - забиваем блюда в стол и ни о чем не думаем. Как только сумма "К Оплате" стала > 0 - значит гости перевалили за депозит.

Минусы: Основной минус в Марочном отчете StoreHouse. Блюда съеденные по депозиту (со скидкой) не имеют наценки. Хотя общая торговая наценка остается верной. В итоге, если оборот по депозитам составляет хотя бы 5-10% от оборота общего заведения, анализировать марочный отчет становится бессмысленно...
Так же не очень сходятся концы у бухгалтера: Если гость внес депозит на 1000 (эта прибыль по киперу), а блюдо съел только на 900 (эта сумма скидки), то у кассира в зале появляется поле для махинаций.

Вариант 3 (Валюты)
Пробиваем по кассе блюдо "Депозит" с нужной стоимостью (в StoreHouse объявляем его как услугу, что бы не попадало в марочный). Фискальный чек отдаем гостю.
В Кипере заводим Валюту "Предоплата". Завести ее можно в неплательщиках или как Платежную карту (тогда нужно выдать гостю карту ПДС на балансе которой будет нужная сумма).
Делаем эту валюту не фискальной, что бы она не попадала в Z отчет. (Pay3/Pay4 = -1/-2)
Делаем еще настройку для ФР OneLine=On
Включаем в Кипере печать финального чека: PrintFinalCheck = ON и может быть PrePayFinalCheck = ON

В день фактической реализации блюд, при расчете стола с заказом, кассир делает комбинированную оплату. Сперва, по не фискальной валюте "Предоплата", принимается сумма равная депозиту, остаток (если он есть) закрывается на Рубли или Визу.

В итоге гость получает чек с полным перечнем блюд и суммой "Итого". Далее идет строчка Предоплата, и строчка "рубли". На сумму фискальной валюты печатается фискальный чек.

Плюсы: Соблюдение кассовой дисциплины, гость получает понятный чек.
Минусы: В отчетах Кипера (в отчетах по выручке) сумма депозита "задваивается". Сперва она проходит по наличной валюте (когда пробили блюдо "Депозит", потом она же проходит еще раз по не фискальной валюте "Предоплата". В принципе это все можно решать через Кубы (например, исключить из Куба блюдо "Депозит"). Большая нагрузка на кассира: при расчете нужно понять был ли депозит на этот столик, на какую сумму и правильно закрыть чек. Для официантов тоже не очень удобно, т.к. для того что бы ответить гостю сколько депозита еще осталось нужно знать его сумму (а на одном и том же столе она может меняться в зависимости от дня недели и времени суток).

Вариант №4 (Блюдо с отрицательной стоимостью)

Это достаточно он геморный в настройке вариант, но в отчетах все получается очень хорошо и кассовая дисциплина соблюдается на 100%.
Для реализации этого варианта потребуется сделать следующее:
1. Завести в редакторе 2 блюда: "Внесение Депозита" с ценой 1000 руб и "Аванс" с ценой тоже 1000 руб. Для удобства отчетов лучше всего оба этих блюда вывести в отдельную категорию, например "Депозит".
2. Делаем импорт в Склад и для этих блюд проставляем тип "Услуга".
3. Открываем редактором db файлов файл menu.db, находим в нем блюдо "Аванс" и в поле Price пишем -1000 (минус 1000). Далее это блюдо нельзя редактировать через редактор. Если его там отредактировать то цена опять станет положительной и придется вновь пользоваться редактором db файлов.
4. Если в заведении несколько номиналов депозита, то заводим несколько пар таких блюд с разной ценой.
5. Делаем еще настройку для ФР OneLine=On
6. Включаем в Кипере печать финального чека: PrintFinalCheck = ON

Как это работает:

Гость пришел, на входе ему пробили блюдо "Внесение Депозита" взяли с него деньги и закрыли этот стол (чек на 1000 отдали гостю).

Тут же открыли столик куда идет посадка, но вместо скидки забили в него блюдо с отрицательной ценой (-1000). В этот момент в кипере сумма к оплате -1000. Далее официант забил туда реальных блюд на 900 руб, картинка получится такая:

Аванс: -1000
Блюда:900
Итого к оплате -100 (т.е. мы должны гостю)


Если в этот момент гость у нас уходит (т.е. он не доел депозит), то перед закрытием официант (или кассир) "проедает" остаток депозита при помощи специального блюда "остаток", т.е. забивает в стол этих блюдо на сумму 100.


Если гость по итогу наел на сумму больше 1000 то в чеке получится такая картина:
Аванс: -1000
Блюда: 1600
Итого к оплате 600


При оплате этого стола выйдет чек с кипера на все блюда, а с фискальника только на 600.

Итого по этим 2-м (первый, где пробили Депозит и реальный с блюдами) чекам получится такая картина:

По кассовому аппарату пробито 1600 (1000+600) - тут все ровно

По киперу пробито (это если смотреть расход блюд):

Внесение депозита 1000
Реальных блюд на 1600
Аванс -1000
Итого баланс по киперу 1600 (т.е. итоговые суммы в отчетах кипера полностью совпадают с Z отчетом кассы ).

В расходе блюд по категориям, в категории "Депозит" итоговая сумма должна быть 0. Это как раз инструмент контроля. Т.е. сколько депозитов внесено, столько авансов забито. (но это при условии что депозиты вносятся день в день)

В складе для блюд "Депозит" и "Аванс" мы поставили признак "услуга". Услуги в марочный не попадают, и в итоге в марочном у вас будут только реальные блюда на 1600 руб.

Если кто то предложит свои варианты - будет интересно обсудить...