/База знаний

Склад

Склад — это учёт остатков сырья и товаров по филиалам. Вы оприходуете поставки, списываете брак, проводите инвентаризации и перемещаете товар между точками, а система ведёт остаток и среднюю себестоимость автоматически. Раздел открывается пунктом Склад в боковом меню.

Как это устроено

Остаток — это не поле на товаре, а проекция движений по каждому филиалу. Любая операция (приход, списание, инвентаризация, перемещение) — это документ. Пока документ в статусе «Черновик», его можно править. После кнопки Провести система создаёт движения в складском журнале, обновляет остаток и среднюю себестоимость, а документ становится неизменяемым.

Исправить проведённый документ нельзя — только создать встречный (как в бухгалтерии). Это защищает историю от подделки задним числом.

При неоплате склад молчит

Если подписка заморожена за неоплату (льготный период истёк — см. Модули), склад перестаёт считать: заказы не списывают остатки и не резервируют товар. Данные при этом целы — остатки, документы и история остаются как были.

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

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

Переход на склад (раньше вели только техкарты)

Если вы вели техкарты блюд ещё до подключения модуля Склад, при включении ничего не предзаполняется: остатки стартуют с нуля, склад не создаёт позиций и не отправляет блюда в «Нет в наличии» — пока по ингредиенту не заведён учёт и не было прихода, он на доступность не влияет.

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

  • на вкладке Номенклатура (теперь она здесь, на складе, а не в разделе Меню — см. ниже) разметить у каждой позиции Тип — что закупаете (Сырьё / Штучный товар), а что готовите сами (Заготовка). По умолчанию всё считается сырьём;
  • у того, что хотите отслеживать, включить «Вести остаток» и сделать первый Приход — тогда появится себестоимость.

Баннер закрывается по кнопке «Понятно» и больше не показывается. Без модуля «Склад» тот же справочник живёт в Меню → Ингредиенты и не связан с движениями остатка; после включения склада каталог переезжает на вкладку Номенклатура, и по техкартам начинаются списания.

Вкладки

  • Остатки — текущий остаток, бронь открытых заказов, средняя себестоимость и минимальный порог по каждой позиции выбранного филиала. Обновляется в реальном времени. Остаток на пороге или ниже подсвечен жёлтым, отрицательный — красным (это не «мало осталось», а ошибка учёта). Порог можно не задавать — тогда жёлтой подсветки у позиции не будет, но уход в минус всё равно покажется красным. Клик по названию позиции (или по иконке История) открывает карточку позиции — отдельную страницу со всей историей движений (см. ниже). В модалке порога также задаётся цель дозаказа (до какого остатка закупать; пусто = до порога). Порог и «Дозаказ» — про закупки для людей; на витрину («Нет в наличии») это не влияет — см. «Авто-стоп по остаткам».
  • Дозаказ — позиции, у которых остаток опустился до порога или ниже: сколько сейчас на складе, порог, цель и сколько заказать. Позиции без заданного порога сюда не попадают — кроме ушедших в минус: минус означает, что списали больше, чем приходовали, и его видно без всяких настроек (остаток подсвечен красным, «Заказать» показывает, сколько нужно, чтобы вернуться хотя бы в ноль). Список можно выгрузить (CSV / Excel / PDF). В режиме «Все филиалы» в таблице есть колонка филиала. Заказа поставщику из системы пока нет — это список для людей.
  • Документы — список всех документов с типом и статусом. Здесь создают, проводят и удаляют черновики. У каждого документа есть своя страница-просмотр по ссылке — на неё ведут запись в Журнале действий и дата закупки в карточке поставщика (обе открывают её в отдельной вкладке); на странице видны позиции, количества и суммы проведённого документа, и её можно выгрузить (CSV / Excel / PDF).
  • Номенклатура — справочник позиций: сырьё, полуфабрикаты-заготовки, штучный товар — всё, что лежит на складе (см. статью «Ингредиенты»). Со складом каталог живёт ЗДЕСЬ, а не в разделе Меню — вкладка «Меню → Ингредиенты» при подключённом складе автоматически ведёт сюда же, чтобы каталог не дублировался в двух местах.
  • Группы — полки склада («Табаки», «Салфетки», «Химия») и способ учёта расхода по умолчанию (см. ниже).
  • Поставщики — справочник поставщиков с контактами (см. ниже).
  • Причины — справочник причин списания (см. ниже).
  • Настройки — режим авто-стопа блюд по остаткам (см. «Авто-стоп по остаткам»).

Карточка позиции

Клик по позиции на вкладке «Остатки» открывает её карточку — отдельную страницу (на неё можно дать ссылку). Наверху — текущий остаток, средняя цена закупки, порог дозаказа и единица учёта. Ниже — таблица всех движений по позиции: приходы, списания, продажи, инвентаризации, перемещения, производство.

  • Остаток после — ключевая колонка: сколько товара осталось на складе сразу после каждой операции. Видно, как остаток дошёл до текущего значения, и сразу заметны расхождения.
  • Причина / документ — у движений, пришедших из складского документа, это ссылка на сам документ: клик открывает его в новой вкладке, и видно, что ещё было в той поставке, кто её провёл и на какую сумму. История движений при этом остаётся открытой. У продаж и производства на кухне ссылки нет — там источник не документ, а заказ или кухонный тикет.
  • Фильтры — по типу операции и по периоду; сортировка — по любой колонке (дата, количество, остаток).
  • Экспорт — кнопка справа над таблицей выгружает всё, что попало в текущую выборку (с учётом фильтров и периода), в CSV, Excel (XLSX) или PDF — а не только видимую страницу.

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

Типы документов

Тип Что делает Что заполняете
Приход Оприходовать поставку, кормит себестоимость По каждой позиции — фасовку, количество и цену; поставщика в шапке (из справочника)
Списание Убрать брак/порчу/просрочку Кол-во по позициям, причину из справочника (обязательно при проводке)
Инвентаризация Привести остаток к факту Фактическое количество — разница спишется/оприходуется при проводке
Перемещение Передать товар между филиалами Филиал-источник, филиал-приёмник и количество
Производство Запустить рецепт заготовки или блюда «готовое на складе» — система расписывает сырьё по техкарте и считает себестоимость Выбираете заготовку/готовое блюдо и кол-во выпуска; техкарта раскрывается автоматически

Создание документа

Склад → Документы → «+ Документ»

  1. Выберите тип. Документ создаётся для филиала, выбранного в боковом меню. Если сейчас выбран режим «Все филиалы», форма спросит филиал сама — отдельным полем в шапке документа. Для перемещения укажите филиал-приёмник «Куда».
  2. Добавьте позиции: товар + количество (в складской единице или фасовке; для прихода — ещё цену, для инвентаризации — фактический остаток).
  3. Сохранить черновик — документ появится в списке и его ещё можно править.
  4. Провести (галочка в списке) — склад обновится, документ зафиксируется.

Кто может править документы

Заводить, править и проводить документы может тот, у кого есть право «Склад: изменять» (stock.manage). С одним лишь правом «Склад: смотреть» документ открывается на просмотр: поля заблокированы, внизу только «Закрыть», а вверху формы написано, почему. Это касается и черновиков — открыть их по названию можно (так смотрят и проведённые документы), но сохранить нельзя.

Приход в фасовках

В строке прихода у каждой позиции можно выбрать фасовку — как товар пришёл от поставщика:

  • пресет из карточки позиции (например, «мешок 25 кг») — количество и цену вводите в упаковках, система сама пересчитает в единицу техкарты; если у пресета задана цена, она подставится автоматически;
  • складская единица — вводите сразу в кг/л/шт (как ведёте остаток);
  • ввести вручную — разовая фасовка, которой нет в каталоге (название + сколько складских единиц в упаковке, например 25 кг).

В карточке позиции поле «В упаковке» тоже в складской единице (мешок 25 кг → вводите 25, не 25000 г).

Один товар можно добавить несколькими строками с разными фасовками в одном приходе (например, мука мешками по 25 кг и по 10 кг). Под строкой показывается, сколько ляжет на склад в единице техкарты и итоговая цена за неё.

Производство заготовки / готового блюда

Когда вы готовите заготовку из сырья (например, паштет) или партию готового блюда на склад (замороженные пиццы), создаёте документ «Производство»:

  1. Выбираете заготовку (позицию типа «Заготовка» с заведённым составом) или блюдо «готовое на складе».
  2. Указываете количество — сколько единиц выпускаете.
  3. Два пути:
    • Сразу на склад (по умолчанию) — система автоматически:
      • Расписывает рецепт из Состава
      • Списывает сырьё (production_out) в филиале документа по количествам из техкарты (с учётом отхода % — брутто)
      • Берёт текущую себестоимость каждого ингредиента (среднюю по филиалу)
      • Создаёт приход выхода (production_in) с себестоимостью из сырья
      • Документ становится проведён и неизменяем
    • Через кухню (модуль Кухня) — поставьте галку «Готовить на кухне» и нажмите «Отправить на кухню». Документ уходит заданиями повару (статус «На кухне»): остаток растёт по одной порции, когда повар отмечает «Готово». Количество — целое (≥1). Уже сваренное при отмене оставшихся заданий не откатывается. Без модуля Кухня галка скрыта — только мгновенный путь.
      • Если повар отменил часть заданий, проведённый документ показывает факт: в каждой строке — «Произведено N из запланированного» и, если что-то отменили, сколько (пока задания в работе — «в работе N»). Выгрузка документа несёт колонки Запланировано / Произведено / Отменено — на складе оседает ровно произведённое, а не заказанное. Факт считается по каждой строке отдельно, поэтому одну и ту же заготовку можно внести в задание двумя строками (например, дописать партию по ходу дня) — у каждой будет свой результат.

Пример: заготовка «Паштет» из 500 г печени (50 ₽/кг) + 100 г сала (100 ₽/кг) = себестоимость одной порции = (0,5 × 50 + 0,1 × 100) ₽ = 35 ₽.

Если вы готовите в разных филиалах, себестоимость берётся из локальных остатков: печень в Петербурге может быть дороже, чем в Москве.

Номенклатура (поля формы)

Один справочник на всё заведение — из этих же позиций собираются техкарты блюд (включая граммы опций модификаторов на блюде) и выбираются позиции для добавок. С модулем Склад форма позиции (вкладка «Номенклатура» здесь же) получает дополнительные складские поля — их смысл описан ниже. Базовые поля доступны и без склада (тогда справочник живёт в Меню → Ингредиенты):

Поле Обязательно Описание
Название Да Пример: «Мука», «Сыр моцарелла»
Единица в техкарте Да В чём считаете расход в рецептах: г, мл или шт
Активна Неактивная скрыта из списков и подбора, история сохраняется

С модулем Склад добавляются складские поля:

Поле Описание
Тип Сырьё (весовое/объёмное), Штучный товар, Заготовка
Складская единица В чём ведёте остаток и принимаете товар: кг, л или шт. Пересчёт в единицу техкарты — автоматический (1 кг = 1000 г). Так на складе вы оперируете килограммами, а в техкартах — граммами
Фасовки приёмки Упаковки приёмки (мешок 25 кг…). Поле «В упаковке» — в складской единице (25 кг, не 25000 г); в БД хранится пересчёт в единицу техкарты
Штрихкод, артикул Для поиска при приёмке
Группа склада Полка, на которой лежит позиция: «Табаки», «Салфетки», «Химия». Необязательно — можно оставить «Без группы». Рядом с полем кнопка «+» заводит новую группу, не уходя из формы. Справочник групп — вкладка «Группы» (см. ниже)
Способ учёта Как узнаём расход этой позиции: «Списывается продажами» (по техкартам, обычный режим) или «Считается инвентаризацией» (пересчётом полки). По умолчанию — «Как в группе»: берётся значение группы, и подсказка под полем сразу показывает, чем это обернётся
Вести остаток Следить ли за остатком этой позиции (для сырья и штучного товара)
Заготовка Всегда учитывается на складе: появляется документом «Производство», в блюде списывается как единица. Промежуточный шаг «в голове повара» без остатка — не заготовка: кладите сырьё сразу в состав блюда

Позиция, по которой провели приход, автоматически начинает отслеживаться.

Любую позицию можно дублировать — кнопка-копия в строке списка спрашивает подтверждение и создаёт независимую копию с пометкой «(копия)»; у заготовки копируется и её состав, а также группа склада и способ учёта. Штрихкод и артикул у копии не переносятся — заполните заново. Дальнейшая правка оригинала на копию не влияет.

В списке номенклатуры есть колонка «Группа» с фильтром по полкам (и отдельным значением «Без группы»). Если расход позиции считается инвентаризацией, под названием группы появляется подпись «Считается инвентаризацией» — отдельной колонки под способ учёта нет, чтобы не плодить столбец, пустой у подавляющего большинства позиций. В выгрузку списка уезжают обе колонки.

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

Состав заготовки

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

При проводке документа «Производство» система использует этот состав для:

  • Листажа сырья со склада (production_out) в количествах из техкарты заготовки
  • Расчёта себестоимости готовой заготовки как средневзвешенной стоимости потраченного сырья
  • Создания прихода заготовки (production_in) с этой себестоимостью

Заготовку можно добавить в меню (кнопка «Добавить в меню» в её карточке): то же изделие станет блюдом — дальше укажите цену и категорию в открывшейся карточке блюда. Цена и категория приходят пустыми: система за вас их не подставляет, поэтому блюдо остаётся выключенным, пока вы их не заполните и не сохраните карточку. Обратно — кнопка «Перевести в заготовки» (вкладка «Ещё» в карточке блюда): снова заготовка, состав сохраняется.

Группы складских позиций

Вкладка Склад → Группы — это полки склада: «Табаки», «Салфетки», «Химия», «Упаковка». Позицию можно положить на полку в её карточке (поле «Группа склада»), а группу — завести прямо оттуда кнопкой «+», не уходя из формы.

Группа отвечает не только за порядок в списке. У неё есть способ учёта — ответ на вопрос «как мы узнаём, сколько этого израсходовано»:

Способ учёта Когда выбирать Что делает склад
Списывается продажами Обычное сырьё и товар: мука, сыр, бутылка колы. Расход виден из техкарт и продаж Заказ бронирует и списывает позицию, как раньше
Считается инвентаризацией Табак, салфетки, стаканы, химия — то, у чего техкарты нет и не будет Заказы такую позицию не бронируют и не списывают. Остаток двигают только приходы, списания и инвентаризация: сколько израсходовали, узнаёте пересчётом полки

Раньше для такого товара приходилось либо не вести его на складе вовсе, либо придумывать ему фиктивную техкарту — и остаток врал. Теперь это явная настройка, а не догадка системы.

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

Позиция без группы ведёт себя как «списывается продажами» — ничего не меняется, пока вы сами не разложили склад по полкам.

Удалить можно только пустую группу. Если внутри ещё лежат позиции, система откажет и попросит сначала перенести их: иначе позиции остались бы ссылаться на полку, которой уже нет, и их способ учёта молча вернулся бы к списанию продажами. Группу, которой больше не пользуетесь, но которая не пуста, можно просто выключить галкой «Активна» — она перестанет предлагаться в выборе, а разложенные по ней позиции останутся как есть.

Заводить и править группы может тот, у кого есть право управления складом (stock.manage) — то же, что и на документы.

Поставщики

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

Если подходящего поставщика ещё нет — нажмите «+» рядом с полем прямо в форме прихода и заведите его на месте (название, контакт, телефон); он сразу подставится в документ. Полную карточку (email, заметка, активность) можно дозаполнить потом на вкладке «Поставщики».

Поставщика можно деактивировать, если больше с ним не работаете — он перестанет предлагаться при выборе, но останется в истории уже оформленных приходов. Удаление доступно, только если поставщик ещё не использован ни в одном документе.

В карточке поставщика видна история закупок: проведённые приходы (дата, филиал, сумма, позиции) и последние/средние цены по товарам. Дата каждой закупки — ссылка на сам документ прихода: клик открывает его страницу, где видно, что ещё было в поставке, кто и когда её провёл.

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

Причины списания

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

В документе «Списание» причину выбирают из справочника — свободный текст больше не подходит. При проводке причина обязательна; комментарий внизу формы по-прежнему необязателен. Если нужной причины нет — кнопка «+» рядом с полем заводит её на месте.

Переименование причины не переписывает уже проведённые документы: в истории остаётся формулировка на момент проводки. Использованную причину нельзя удалить — только деактивировать (не предложат в новых списаниях, в старых видна). На вкладке «Документы» списания фильтруются по причине в шапке колонки «Причина» — сразу по нескольким, если нужно сравнить брак с порчей.

Автосписание по продажам

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

Списывается ровно в тот момент, когда продукты физически идут в работу:

  • с модулем Кухня — когда повар взял блюдо в работу (позиция ушла из очереди в «Готовится»);
  • с модулем Кухня, но заказ закрыли мимо доски — когда заказ ставят в статус «готово к выдаче/доставке» (из настроек кухни: обычно «Готов» для самовывоза, «Доставляется» для доставки), а кухонные тикеты ещё висели в очереди: склад списывается, тикеты снимаются с доски;
  • без Кухни — когда заказ завершён (доставка/самовывоз) или закрыт чек за столом.

Что именно списывается: состав техкарты блюда × количество, минус то, что гость убрал, плюс вклад выбранных опций модификаторов и добавок (см. ниже). Для комбо списываются техкарты всех блюд набора. Списываются только позиции с галкой «Вести остаток». Если в строке техкарты задан отход %, со склада уходит брутто (нетто в порции / (1 − %/100)) — норма чистки/уварки, не гниль (гниль — документ списания).

Если у блюда включено «Готовое на складе» (карточка блюда → Склад), при продаже списывается само блюдо (−1), а не состав: сырьё уже ушло при документе «Производство». Обычные блюда «под заказ» по-прежнему разворачивают состав.

Модификаторы и добавки при списании

Модификаторы. Граммы опции задаются в карточке конкретного блюда (секция «Модификаторы»), а не в форме группы модификаторов. Опция — переключатель («Большая», «Без сыра»); сколько чего уйдёт со склада при выборе — строки-дельты или множитель размера у этого блюда. Опция может добавлять и уменьшать расход (отрицательная дельта). Если уменьшение больше базового состава, по позиции списание просто обнуляется — «возврата» на склад нет. Дельты и база по одному продукту суммируются в одно движение.

Добавки. Своей техкарты у добавки нет: это оффер над позицией номенклатуры (цена + порция). Со склада уходит выбранная позиция × порция; составная добавка (соус, заготовка) — заведите как позицию со своим составом, а в добавке укажите её. Настраивается в форме добавки (позиция + цена + порция); привязка к блюду — в карточке блюда, секция «Добавки».

Подробнее — статьи «Модификаторы» и «Добавки».

Отмена заказа и склад

Что происходит со складом при отмене, зависит от того, начали ли готовить:

  • Готовку не начинали — списания не было, снимается только бронь: всё снова доступно к продаже, в истории движений ничего не появляется.
  • Продукты уже пошли в работу — списание автоматически переоформляется из «продажи» в «Списание» с причиной «Отмена заказа»: в отчётах это честные отходы, а не себестоимость проданного. Остаток при этом повторно не трогается.

Возврат на отмене — на кухне

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

На сборке сырьевого возврата нет: туда попадает уже собранное блюдо. Если отменили штучное или готовое (банка напитка, блюдо «готовое на складе»), сборщик нажимает «Вернул на склад» — подтверждает, что достал из пакета и положил обратно. Разбирать бургер на ингредиенты на сборке нельзя.

Авто-стоп по остаткам

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

Три режима:

  • Никогда — склад не влияет на доступность: продаём, даже если остаток ушёл в минус (поведение по умолчанию для тех, кто не ведёт точный учёт).
  • Только штучные (по умолчанию) — стопим только по штучному товару (бутылки, банки — единица измерения «шт»): у него остаток достоверный. Наливное и весовое сырьё (мл/г/кг) не стопит, потому что его остаток приблизительный — иначе были бы ложные стопы.
  • Всегда — стопим по любому ингредиенту с галкой «Вести остаток», включая наливное и весовое.

Стоп срабатывает покомпонентно: если у бургера кончились котлеты (штучные), он уходит в «Нет в наличии», даже если соус наливной. Коктейль только на наливных ингредиентах в режиме «Только штучные» не стопится никогда.

Авто-стоп работает во всех каналах, где известен выполняющий филиал:

  • Заказ со стола — филиал стола известен сразу, недоступные блюда скрыты прямо в меню.
  • Самовывоз — как только гость выбрал пункт, блюда, которых там нет на остатке, помечаются недоступными и не попадают в заказ.
  • Доставка — филиал определяется по адресу на оформлении: если позиция к этому моменту закончилась, гость видит сообщение и она исключается из заказа (остальное оформляется).

Бронь и доступность (#68): для продажи и авто-стопа считается не только физический остаток на полке, но и уже зарезервированное открытыми заказами: доступно = остаток − бронь. Жизненный цикл брони автоматический: приняли заказ (доставка/самовывоз — заказ взят в работу; за столом — позиция попала в чек) → ингредиенты бронируются; выдали/приготовили → бронь превращается в обычное списание, ровно один раз; отменили до готовки → бронь снимается, всё снова доступно. Вкладка «Остатки» показывает физический остаток и рядом колонку «Бронь»; предупреждение «не хватает сырья» при приёме заказа тоже считает по доступно, а не по полке.

Видно ли это в админке

Да. В списке блюд (раздел «Меню») на блюде, которое сейчас авто-стопнуто по складу, появляется бейдж «Нет в наличии по складу» — не нужно заходить на витрину, чтобы понять, что настройка сработала. Бейдж считается по остатку выбранного в сайдбаре филиала; в режиме «Все филиалы» он ещё и подсказывает, в каком именно филиале блюдо стопнуто. Пришла поставка — бейдж пропадает сам, без перезагрузки. Бейдж виден при трёх условиях одновременно: включён модуль «Склад», у сотрудника есть право просмотра склада («Склад — просмотр», stock.view) и режим авто-стопа отличается от «Никогда». Без права просмотра склада бейдж не показывается.

Себестоимость

Средняя себестоимость считается по каждому филиалу отдельно (цены поставок в разных точках различаются). Каждый приход пересчитывает её как средневзвешенную. Списания и инвентаризации цену не меняют — только количество.

Пока по позиции нет данных о себестоимости, в аналитике по позициям меню маржа и фудкост честно показывают «нет данных» (а не 0 ₽ / 100 %). Если за выбранный период себестоимости нет вовсе, над таблицей появляется подсказка со ссылкой на склад — себестоимость берётся из приходов. Числа появятся, как только по позициям пройдут складские приходы.

Теория vs факт (Аналитика → Склад)

В Аналитике на вкладке Склад (нужны модуль склада и право просмотра) — отчёт по сырью за период:

  • Теория — сколько должно уйти по продажам (с учётом возвратов на склад), расходу производства, а также по учёту пересчётом у stocktake-позиций (табак, салфетки и другое сырьё, для которого расход считается инвентаризацией, а не по продажам).
  • Списания — документы списания с причиной (брак, порча и т.п.): это осознанные потери, не норма отхода из техкарты.
  • Разрыв — недостача при инвентаризации у ОБЫЧНЫХ позиций (не в режиме stocktake) и перемещения между филиалами: то, что ушло мимо техкарты, мимо списаний и мимо честного пересчёта.

Рубли считаются по средней себестоимости остатка; без неё по позиции — «нет данных». Сверху на вкладке — фудкост периода (доля сырья в выручке покрытых продаж), тот же смысл, что колонка в «Меню».

% отхода в техкарте увеличивает теорию (со склада уходит брутто). Гниль/брак не кладите в % отхода — заводите списание с причиной, иначе разрыв и «объяснённое» смешаются.

Как устроены списки на складе

Все таблицы склада работают одинаково — вкладка «Остатки», «Дозаказ», «Документы», «Номенклатура», «Поставщики», «Причины», история движений позиции и строки документа.

  • Открыть запись — клик по названию в первой колонке (позиция, поставщик, причина; у документа — его тип: «Приход», «Списание»). Название подсвечено. Карандаш в конце строки делает то же самое. В справочниках (позиции, поставщики, причины) без прав на изменение склада название не ссылка — открывать нечего. У документов тип кликабелен всегда: это единственный способ заглянуть внутрь, а проведённый документ и так открывается только на просмотр.
  • Поиск — поле слева над таблицей: по названию позиции, поставщика или причины; в документах — по поставщику, причине и заметке.
  • Фильтры — в шапке той колонки, к которой относятся (значок воронки). Можно выбрать несколько значений сразу. Всё включённое показано чипами в строке «Фильтры» над таблицей: «Филиал: Центр, Север +2». Крестик на чипе снимает фильтр сразу, без подтверждения; кнопка «Сбросить всё» в конце той же строки снимает разом и фильтры колонок, и период. У документов поставщик и причина списания фильтруются в своих колонках — каждый допускает несколько значений сразу: «Поставщик: Метро, Ашан», «Причина: Брак, Порча». Если поставщиков много и искать нужного в списке долго — наберите название в поиске над таблицей, он ищет и по поставщику. Рядом с поиском остался только период: диапазон дат в шапку колонки не помещается.
  • Сортировка — клик по заголовку колонки; сортируется всё, что можно сравнить: названия, количества, суммы, даты.
  • Непонятный заголовок — наведите на сам заголовок: те, у которых есть пояснение, подчёркнуты пунктиром («Бронь», «Ср. цена закупки», «Порог», «Цель», «Заказать», «Остаток после», «В блюдах»). Подсказки рассчитаны на мышь — с планшета они не открываются.
  • Страницы — по 25 строк, переключатель 10/25/50/100 внизу. Выбранный размер запоминается. Если всё влезло на одну страницу, листалки нет.
  • Выгрузка — кнопка справа над таблицей, форматы CSV / Excel (XLSX) / PDF. Выгружается вся текущая выборка — с учётом поиска и фильтров, а не только видимая страница.

Если данных больше, чем система отдаёт за раз (тысяча строк), над таблицей появляется предупреждение. Оно же говорит, какая именно тысяча перед вами: в «Документах» и истории движений — последние по дате (за кадром старое), в «Номенклатуре», «Поставщиках» и «Причинах» — первые по алфавиту (за кадром конец списка).

Что с этим делать — зависит от вкладки:

  • Документы. Период, поставщик и причина спрашивают сервер заново, поэтому сузьте период — документы за него покажутся все.
  • Остальные вкладки (Остатки, Дозаказ, Номенклатура, Поставщики, Причины, история движений позиции). Поиск и фильтры там режут только уже загруженные строки, так что до хвоста ими не добраться — предупреждение честно говорит, что часть строк за кадром, и выгрузка тоже уйдёт без них. Помогает только уменьшить сам список: удалите позиции, поставщиков и причины, которыми давно не пользуетесь. Те, что уже вошли в состав блюд или в проведённые документы, удалить нельзя — снимайте у них галку «Активна», в подборе их больше не будет.

Советы

  • Заводите номенклатуру заранее — принять товар можно только по существующей позиции: в форме документа товар выбирается из списка, создать его на лету там нельзя. Новую позицию добавляйте на вкладке «Номенклатура» (кладовщику это доступно — отдельного права на меню для этого не нужно).
  • Инвентаризация — это факт, а не разница. Указывайте реальный остаток на полке; систему сама посчитает расхождение.
  • Перемещение тянет себестоимость источника — при передаче между филиалами цена не скачет.