Склад показывает, сколько продуктов и напитков у заведения есть по учёту: что пришло, что ушло и сколько осталось. На компьютере он в боковом меню, на телефоне — в разделе «Прочее». Экран называется «Остатки».
Главное в складе — связь с техкартами. Позиция склада («Говядина», «Tiger 330», «Лайм») привязывается к ингредиентам техкарт, и каждый подтверждённый заказ сам списывает то, что ушло на блюда: две порции фо по 120 г говядины — минус 240 г. Остальное записывают руками — поставку, вскрытую для коктейлей банку, бой, пересчёт.
Каждое движение ложится строкой в журнал позиции: кто, когда, сколько и какой остаток стал после. Поэтому на вопрос «куда делись банки» всегда есть ответ.

{info} Денег на складе нет: ни цен, ни сумм. Цена закупки по-прежнему задаётся в ингредиенте, а себестоимость считает аналитика.
Позиции не нужно набирать вручную: быстрее собрать их из техкарт.

Какие ингредиенты списывают позицию, видно в её карточке, в блоке «Привязанные ингредиенты»; там же их можно отвязать. Во вкладке «Ингредиенты» редактора меню такие ингредиенты помечены «на учёте». Привязка идёт по названию: ингредиент, который вы создадите в техкарте позже с тем же названием, привяжется к позиции сам, если подходит единица.
Если названия разошлись («Phomai burrata» в техкарте и «Phô mai burrata» на складе), привяжите ингредиент вручную: вкладка «Ингредиенты» → ингредиент → «Привязать к складу». Поиск начинается с названия ингредиента и не смотрит на диакритику и пробелы. Позиции в другой единице видны в списке, но недоступны — рядом написано, в чём она ведётся.
{warning} Пока позиция не привязана ни к одному ингредиенту, продажи её не трогают. Если остаток «не двигается» после заказов, первым делом проверьте пометку «без техкарт».
У позиции одна единица, и в ней ведётся всё: остаток, журнал, списание по техкартам.
| Единица | Для чего | Как вводить |
|---|---|---|
| г, мл | мясо, рис, соусы, сиропы, алкоголь на розлив | Техкарты списывают граммы и миллилитры, а приход и остаток удобнее в кг и л: справа в поле количества есть переключатель г/кг или мл/л. Мешок вводят как 25 кг, а не 25 000 г. Алкоголь на розлив можно считать бутылками — см. ниже. |
| шт | лимон, яйцо, булочка | Дробные допустимы: 0,25 лимона. |
| банка | пиво, кола, тоник в банках | Уходит со склада целиком: продажей по техкарте «1 банка» или кнопкой «Вскрыть». |
| бутылка | пиво, газировка, вино бутылкой | Как банка: уходит целиком — продажей по техкарте «1 бутылка» или кнопкой «Вскрыть». |
| пакетик | чайные пакетики, саше | Как банка: вскрывается целиком. |
Объём банки или бутылки («банка 330 мл») — только подпись. Ничего по нему не пересчитывается: 50 мл колы в коктейле не превращаются в долю банки.
Перевода между единицами нет, поэтому один продукт — одно название и одна единица. «Coca-Cola 330» в банках и «Coca-Cola» в миллилитрах — это разные вещи: банки учитывает склад, а миллилитры в техкарте коктейля нужны только для себестоимости. «Добавить из техкарт» такие строки сам не отмечает и пишет: «учитывается банкой «Coca-Cola 330» — эта строка для себестоимости».
{info} Единица закрывается замком, как только у позиции появился журнал или привязанные ингредиенты: перевести граммы в штуки или миллилитры в бутылки уже нельзя, пересчёта нет. Между штучными единицами переходить можно и тогда: пиво, заведённое «банкой», в «Изменить» становится «бутылкой» — количество не меняется, привязанные ингредиенты получают новую единицу. У привязанного ингредиента единицу тоже не сменить. Покупаете штуками то, что техкарта списывает граммами (буррата, упаковка зелени), — не отвязывайте ингредиент: держите позицию в граммах и укажите вес упаковки, как у бутылок, — приход и пересчёт можно будет вводить упаковками. Отвязанный ингредиент перестаёт списывать: продажи блюда больше не уменьшают остаток.
Бутылку, которую продают или вскрывают целиком — пиво, газировку, вино бутылкой, — заводите единицей «бутылка». Она ведёт себя как банка: «1 бутылка» в техкарте или кнопка «Вскрыть».
Бутылку, из которой наливают порциями — ром, виски, вино бокалами, сиропы, — ведите в мл и в «Изменить» укажите «Объём бутылки», например 700 мл. Техкарты по-прежнему списывают по 50 мл, а приход, инвентаризацию и окно бара можно вводить бутылками:

Остаток показывается в бутылках и литрах: «3,3 бут. · 2,31 л». В журнале движения остаются в миллилитрах и литрах: продажа коктейля — «−50 мл», а не доля бутылки. У позиций в граммах то же поле называется «Вес упаковки» и работает так же — мешок муки по 25 кг вводится как «2» упаковки.
Если у ингредиента цена указана за бутылку («700 мл за 450 000 ₫»), «Добавить из техкарт» сам впишет объём бутылки в новую позицию.
Четыре категории — те же, что у блюд: Еда, Безалкогольные напитки, Алкоголь, Прочее. Над списком — фильтр: «Все» или одна категория. Категорию позиции можно поменять в любой момент через «Изменить».
Категория склада — для того, кто считает полки: пересчитать бар отдельно от кухни, найти всё алкогольное. На себестоимость в аналитике она не влияет: там деление идёт по типу блюда. Лайм может лежать в «Еде», а в коктейле он всё равно войдёт в себестоимость алкоголя.
Список можно упорядочить: нажмите на заголовок «Название», «Остаток» или «Последнее движение», повторное нажатие меняет направление. «Остаток» сначала показывает то, чего меньше всего, а «Последнее движение» — свежие движения. На телефоне порядок выбирают кнопкой «Сортировка» рядом с поиском. Остатки в разных единицах сравниваются просто по числу, поэтому то, что заканчивается, надёжнее искать переключателем «Только мало».
Если склад ведёт и бухгалтерия — в Smile, 1С, MISA, — у каждого товара там есть свой код: артикул, «mã hàng». Впишите его в поле «Артикул» позиции («Изменить»). Поиск над списком найдёт позицию по любой части кода, а в списке и в инвентаризации код стоит под названием — удобно сверять с ведомостью бухгалтера строку за строкой.
Артикул необязателен и хранится как набран, с ведущими нулями. Один код — одна позиция заведения, включая архивные: вторую позицию с тем же кодом форма не сохранит и подскажет, у какой он уже есть.
Приехала поставка — откройте позицию и нажмите «Приход». Введите количество (для граммовых позиций — в кг, переключатель справа в поле; если у позиции указан объём бутылки — сразу в бутылках: «12»); строка «Остаток после» ещё до записи покажет, что получится. В заметку удобно вписать номер накладной: «Накладная № 1842» — она попадёт в журнал. Нажмите «Записать».

{info} Цена в приходе не вводится. Поставщик поднял цену — обновите её у ингредиента.
Банку колы вскрывают под коктейли, а пустую обратно на полку не поставишь. Поэтому банка списывается в момент вскрытия: кнопка «Вскрыть» в карточке позиции или в окне «Вскрыть / списать». В журнале это строка «Вскрыта» — не продажа и не потеря.
Правило для банок, бутылок и пакетиков одно: позиция уходит со склада или продажей целиком (пиво продают банкой, в техкарте «1 банка»), или вскрытием (колу льют в коктейли, в техкарте миллилитры). Не проводите одну и ту же банку обоими способами — иначе она спишется дважды.
Кнопка «Вскрыть» есть только у банок, бутылок и пакетиков. У пива в окне «Вскрыть / списать» под ней подсказка «вскрыта не по заказу»: пиво обычно уходит продажей, а вскрывают его редко.
У позиций в граммах, миллилитрах и штуках на месте «Вскрыть» стоит «Использовано»: продукты ушли в работу без заказа. Причины две:
В журнале такие строки называются «Использовано · заготовка» и «Использовано · другое». Это не потеря: продукт ушёл в дело, просто не через продажу.
«Списать» — для потерь. Причина обязательна:
В журнале это строка «Списание · бой» и так далее — отдельно от продаж, поэтому потери видны, а не растворяются в расходе.
Списание «испорчено» появляется и само — когда снимают из заказа блюдо, которое уже начали готовить (ниже).
Инвентаризация (пересчёт, ревизия) — главный инструмент склада. После неё остаток становится ровно тем, что вы посчитали, а в журнал ложится строка с разницей. Даже если разницы нет, строка пишется: это подтверждение, что пересчёт был.
Переключите шапку экрана «Склад» с «Остатки» на «Инвентаризация». Сам список переходит в режим счёта: у каждой позиции появляется поле «Посчитано» и колонка «Разница». Категория, поиск и «Только мало» работают как обычно — выберите «Алкоголь», чтобы считать только бар. Посчитанное не теряется при смене фильтра: можно пройти кухню, переключиться на бар и записать всё разом.
Пройдите по полке и впишите в колонку «Посчитано», сколько лежит на самом деле. Tab или Enter переводят к следующей строке, дробь пишется хоть через запятую, хоть через точку: «4,9» и «4.9» — одно и то же. Граммы и миллилитры вводятся в килограммах и литрах — нажмите на «кг» у поля, чтобы переключить строку на граммы. Позиции с объёмом бутылки считаются бутылками: две полные и одна наполовину — «2,5»; нажатие на «бут.» переключает строку на литры, следующее — на миллилитры. Колонка «Разница» сразу показывает недостачу красным и излишек зелёным, шапка — сколько уже посчитано, а полоса внизу — сколько строк запишется.

Если, пока вы считали, прошла продажа или приход, остаток успел измениться. Перед записью склад сверяется с сервером и подсвечивает такие строки: «пока считали, остаток изменился на −2 банки». Пересчитайте их, если нужно, и нажмите «Записать» ещё раз — запишется то, что вы ввели.
Если связь пропала, удачные строки отмечаются «записано», а неудачные остаются с ошибкой и кнопкой «Повторить». Повтор безопасен: даже если сервер успел записать строку, второй раз она не появится. Вернуться на «Остатки» или уйти на другой экран с незаписанными числами можно только после подтверждения; когда всё записано, список сам возвращается к обычному виду.
Откройте позицию, нажмите «Инвентаризация» и введите в поле «Посчитано», сколько реально лежит на полке. Диалог сам покажет «сейчас 4,88 кг → станет 4,85 кг · разница −30 г» — недостачу видно до записи, а не в конце месяца.

Как часто считать — решать вам. Разумный ритм:
Когда заказ подтверждают, склад списывает всё по техкартам его блюд: граммовка на порцию × количество. Отдельно ничего нажимать не нужно — в журнале позиции появляется строка «Продажа · Phở bò ×2 · стол 4» с именем того, кто подтвердил или пробил заказ.
Снятие блюда. Если блюдо ещё не подали, окно «Снять позицию» спрашивает «Продукты вернулись на склад?»:
| Кухня | Что стоит заранее | Что будет |
|---|---|---|
| блюдо ещё не начинали | «Да» | Продукты вернутся на остаток: строка «Снято с заказа» |
| готовится или готово | «Нет» | Продукты спишутся как испорченные: в журнале «Снято с заказа» и следом «Списание · испорчено» с пометкой «Снято с заказа: …» |
| причина «Брак» | «Нет», без выбора | Брак на склад не возвращается — только списание |
Ответ можно поменять: вы знаете лучше, трогал ли повар блюдо. Поданное блюдо склад не возвращает: продукты считаются проданными, в журнале ничего не появится.
Отмена принятого заказа решает так же, только без вопроса: то, что кухня не начинала, возвращается, начатое списывается как испорченное с пометкой «Раунд отменён: …» и причиной отмены.
{warning} Сам по себе склад продажи не останавливает. Если по учёту товара нет, заказ всё равно пройдёт, а остаток уйдёт в минус. Чтобы кончившееся блюдо пропадало из продажи само, включите у позиции «Снимать блюда с продажи»; остальное снимают вручную стоп-листом в меню.
Нажмите на позицию — откроется её карточка: остаток, кнопки движений, привязанные ингредиенты и журнал. Сверху самые новые строки, внизу кнопка «Ещё» подгружает прошлые.
В каждой строке:
В списке позиций колонка «Последнее движение» коротко показывает то же: «продажа · 5 мин назад», «вскрыта · 12 мин назад».

Журнал не правится и не удаляется. Ошиблись — исправьте новой строкой. Например, приход ввели в граммах вместо килограммов: проведите инвентаризацию до настоящего количества и напишите в заметке, что случилось. Так видно и ошибку, и исправление.
По той же причине позицию с журналом удалить нельзя — в карточке вместо кнопки написано «У позиции есть журнал — удалить нельзя». Позицию без движений удалить можно; привязанные к ней ингредиенты перестанут списываться.
У позиции, которая заканчивается, в списке горит чип «мало». Когда он загорается:
Порог задают в карточке: «Изменить» → поле «Порог «мало»», в единице позиции (у граммовых — с переключателем г/кг: 2 кг, а не 2000 г). Поле необязательное; рядом с остатком в карточке появится «порог 2 кг».

Переключатель «Только мало» (на телефоне — «Мало») над списком оставляет минус, ноль и всё, что на пороге или ниже: готовый список, что пересчитать и что докупить.
Почему остаток ушёл в минус. Продали больше, чем было по учёту: не провели приход, не сделали начальный пересчёт, граммовка в техкарте меньше реальной — или наоборот, в прошлый раз насчитали лишнее. Карточка сама просит: «Остаток ниже нуля — проведите инвентаризацию». Посчитайте полку и запишите инвентаризацию, а потом загляните в журнал: пропущенный приход обычно виден сразу.
{info} «Мало» и минус гость не видит: меню от них не меняется. Блюда пропадают из продажи сами, только если у позиции включено «Снимать блюда с продажи».
Кончилось пиво — и его больше не закажут ни гость, ни официант, а после поставки оно вернётся в меню само. Для этого у позиции склада включают «Снимать блюда с продажи, когда кончится»: карточка позиции → «Изменить».
В карточке позиции блок «Снимает с продажи» показывает блюда, которые она снимет, сколько уходит на порцию и что из них снято сейчас; в списке у такой позиции значок, а когда блюда сняты — метка «блюда сняты».

Включать удобнее всего у того, что считают поштучно: бутылки, банки, десерты. Граммы по техкартам списываются приблизительно, и блюдо может пропасть, хотя продукт на полке есть, — для граммов включайте, только если пересчитываете часто.
{info} Учитывается только техкарта самого блюда. Если варианты блюда («Tiger» / «Heineken» в размерах) списывают разные позиции, само блюдо не снимается.
Бармену некогда уходить с доски заказов, чтобы вскрыть банку. Для этого в шапке «Заказов» есть кнопка «Вскрыть / списать» с открытой коробкой. Она появляется, когда:
На компьютере с боковым меню кнопки на доске нет — там под рукой весь «Склад». На телефоне та же кнопка есть и внизу экрана «Остатки».
Окно «Вскрыть / списать» — «без цен и сумм»: поиск, недавние позиции сверху, крупные строки под палец. Выберите позицию, затем «Вскрыть» (у позиций в г, мл и шт — «Использовано») или «Списать» с причиной. Количество банок и бутылок меняется кнопками «−» и «+», граммы и миллилитры вводятся в поле — у рома с объёмом бутылки сразу бутылками: разбили полбутылки — «0,5». До записи видно «остаток станет 43 банки», а кнопка повторяет действие: «Подтвердить · вскрыта 1 банка». Одна банка — три касания: позиция, «Вскрыть», «Подтвердить».

Денег в окне нет, поэтому его можно доверить общему планшету бара. Строки, записанные с планшета, подписаны в журнале его именем.
Доступ — отдельное право «Склад» в ролях:
| Уровень | Что можно |
|---|---|
| Нет | Раздела «Склад» и кнопки «Вскрыть / списать» нет; при снятии блюда вопроса про склад нет |
| Просмотр | Остатки, карточки и журналы — без записи движений |
| Управление | Всё: позиции, «Добавить из техкарт», приход, вскрытие, списание, инвентаризация, пороги |
В готовых ролях управление есть у владельца, менеджера и кассира; у официанта и повара права нет.
Общее устройство работает по своей роли, и склад ему не урезан: планшет бара на роли «Кассир» вскрывает и списывает (устройства). Не хотите — поставьте «Кассиру» «Склад» = «Просмотр» или «Нет»; это изменит права и у сотрудников с этой ролью.
{info} У кого права на склад нет, тот при снятии блюда вопроса не увидит: решает кухня — не начатое вернётся, начатое спишется, а «Брак» спишется всегда.