AURA

Оборачиваемость запасов ресторана: par-уровень и точка заказа

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

Опубликовано
31 мин чтения6209 слов

Главные выводы

  • Оборачиваемость запасов = себестоимость проданного ÷ средняя стоимость остатка за тот же период; запас в днях = дней в периоде ÷ оборачиваемость. Это одно и то же в двух единицах — разы за период и дни.
  • Par-уровень и точка заказа — две системы управления одной позицией, а не два шага одной: par-уровень = средний дневной расход × дни цикла заказа + страховой запас; точка заказа = средний дневной расход × срок поставки + страховой запас. Вести обе сразу значит купить буфер дважды.
  • Страховой запас = (пиковый дневной расход − средний дневной расход) × срок поставки. Он страхует от разброса спроса на срок поставки, а не от машины, которая не приехала.
  • Оборачиваемость в основном производит твой собственный par-уровень: на примере этой страницы сокращение цикла с трёх дней до двух поднимает позицию с 12 оборотов в месяц до 15 и высвобождает 120 PLN, а удлинение срока поставки с двух дней до четырёх опускает её до 8,57 и замораживает ещё 240 PLN.
  • Срок годности — юридический потолок par-уровня, а не совет: максимальный защитимый par-уровень = средний дневной расход × число дней годности, оставшихся на момент приёмки.

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

Запас — это деньги, которые стоят на месте

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

У обеих половин этого вопроса один и тот же ответ. Запас — это наличные, переведённые в форму, которую нельзя потратить. Ими не заплатишь аренду, не рассчитаешься с поставщиком, не выдашь зарплату. Обратно в деньги они превращаются единственным способом: их приготовят и продадут. А пока этого не случилось, они лежат на полке, теряют в стоимости, занимают место и тихо отнимают внимание у людей, которые могли бы заниматься чем-то другим.

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

Считают его три идеи, и обычно их преподают как три отдельные темы:

  • оборачиваемость запасов показывает, как быстро деньги, вложенные в склад, возвращаются к тебе;
  • par-уровень говорит, сколько позиции держать на полке;
  • точка заказа говорит, когда отправлять заказ.

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

Две границы, чтобы сразу было понятно, о чём эта страница и о чём нет. Что показала инвентаризация — куда девался продукт между машиной поставщика и тарелкой — это другой вопрос, он разобран в материале теоретический и фактический food cost. Какую долю выручки съел продукт — это третий вопрос, и живёт он на странице food cost ресторана. Здесь речь про то, сколько держать и когда покупать, и ни того ни другого эта страница не пересказывает.

Оборачиваемость запасов: что на что делится и в чём измеряется ответ

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

Оборачиваемость запасов = Себестоимость проданного ÷ Средняя стоимость запаса

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

Средняя стоимость запаса = (Остаток на начало + Остаток на конец) ÷ 2

  • Остаток на начало — пересчитанная стоимость запаса на начало периода, в PLN;
  • Остаток на конец — пересчитанная стоимость запаса на конец периода, в PLN.

Проговори размерность вслух, потому что именно здесь понятие чаще всего ломают: PLN, делённые на PLN, сокращаются в чистое число. И это чистое число начинает что-то значить только тогда, когда ты называешь, к какому периоду оно относится. «Оборачиваемость четыре» — не утверждение. «Четыре раза в месяц» и «четыре раза в год» описывают два совершенно разных бизнеса, и один из них — не ресторан.

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

Ресторан закрывает период в 30 дней. Запас, пересчитанный на начало, вышел на 17 000 PLN, пересчитанный на конец — на 15 000 PLN, а себестоимость проданного за период составила 60 000 PLN. Средний запас — (17 000 + 15 000) ÷ 2 = 16 000 PLN. Оборачиваемость — 60 000 ÷ 16 000 = 3,75 раза за этот месяц.

Почему на этой странице нет целевого диапазона оборачиваемости

Ты наверняка видел где-нибудь готовую вилку — столько-то оборотов в месяц, поданных как то, чего добивается нормально устроенная кухня. Прежде чем печатать такую вилку, мы пошли искать, кто её опубликовал, и не нашли никого. Сколько общественное питание держит на складе — публикуется: GUS, Wyniki finansowe przedsiębiorstw w 2025 r., опубликовано 02.04.2026 даёт остаток запасов 653 предприятий питания с числом занятых 10 и более, ведущих полный бухучёт: 345,8 млн PLN на 31 декабря 2025 г. А насколько быстро этот запас оборачивается — не публикуется: показатели, которые статистическое ведомство считает в разрезе отраслей, это уровень затрат, рентабельность, соотношение обязательств и дебиторской задолженности по поставкам и услугам, а также финансовая ликвидность, оборачиваемости запасов среди них нет. Диапазоны же, которые ходят по сети, сводятся к блогам разработчиков софта, ссылающихся друг на друга. Причина, по которой универсальной вилки не может существовать, арифметическая, а не редакционная, и ниже на этой странице она показана прямо: оборачиваемость в основном продиктована тем, как часто возит поставщик и сколько времени идёт машина, поэтому две честно устроенные кухни с разными графиками поставок дадут разные цифры оборачиваемости, и обе будут правы. Общий случай этой болезни — отраслевое число без прослеживаемого источника — разобран в материале prime cost ресторана.

Запас в днях: то же самое число в единицах, с которыми можно работать

Запас в днях — количество дней в периоде, делённое на оборачиваемость запасов: на сколько дней хватит текущего остатка при текущем темпе расхода.

Запас в днях = Дней в периоде ÷ Оборачиваемость запасов

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

Дни, делённые на разы за период, дают дни. На сквозном примере: 30 ÷ 3,75 = 8 дней.

К тому же числу ведёт вторая дорога, и ходить по ней — хорошая привычка, потому что она мгновенно ловит арифметические промахи:

Запас в днях = Средняя стоимость запаса ÷ (Себестоимость проданного ÷ Дней в периоде)

  • Себестоимость проданного ÷ Дней в периоде — средняя дневная себестоимость проданного, в PLN в день.

Средняя дневная себестоимость здесь — 60 000 ÷ 30 = 2 000 PLN в день, и 16 000 ÷ 2 000 = 8 дней. Две дороги сошлись, как и должны были.

Дни — это версия, которую кладут перед шефом, а оборачиваемость — версия, которую кладут перед бухгалтером. «Мы держим восемь дней продуктов» — фраза, с которой кухня может спорить. «У нас оборачиваемость 3,75» — фраза, по которой никто не может ничего сделать.

Показатель по всему ресторану прячет единственное, что стоит знать

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

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

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

Средний дневной расход: единственный исходник и для par-уровня, и для точки заказа

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

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

Средний дневной расход = Количество, израсходованное за период ÷ Дней в периоде

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

Дальше по странице идёт одна и та же позиция. Куриное филе, закупочная цена 20 PLN/кг, и за период в 30 дней кухня израсходовала 360 кг. Средний дневной расход — 360 ÷ 30 = 12 кг в день.

«Израсходовано» — это пересчёт, а не накладная

Израсходованное количество и закупленное количество — разные вещи. Израсходовано — это остаток на начало плюс приход минус остаток на конец, в единицах, а не в деньгах: та же конструкция, что и в денежной формуле, только этажом подробнее. Месяц, в котором ты случайно закупился с запасом, заканчивается с продуктом на полке, и если читать закупку как расход, он подскажет закупиться с запасом ещё раз. Откуда берётся эта разница и что означает расхождение между пересчитанным расходом и расходом по калькуляционным картам, разбирается в материале теоретический и фактический food cost; здесь достаточно знать, что par-уровни, построенные на накладных вместо пересчёта, раздувают сами себя каждый цикл.

Пиковый дневной расход — это второе, отдельное измерение

Пиковый дневной расход = наибольший расход за один день, наблюдавшийся в том же периоде

  • меряется в той же единице, по тем же записям, за те же дни.

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

Par-уровень: количество, которое довезёт тебя до следующей поставки

Par-уровень — целевое количество позиции, которое держат на полке в начале каждого цикла заказа, чтобы его хватило до прихода следующей поставки.

Par-уровень = Средний дневной расход × Дней в цикле заказа + Страховой запас

  • Средний дневной расход — в единицах в день;
  • Дней в цикле заказа — сколько дней проходит от одной поставки этой позиции до следующей, в днях;
  • Страховой запас — буферное количество, в единицах, считается в отдельном разделе ниже;
  • результат — в единицах.

Единицы в день, умноженные на дни, дают единицы, а единицы плюс единицы дают единицы. Размерность выживает.

Сквозную позицию возят каждые три дня, а страховой запас по ней выходит 12 кг. Par-уровень — 12 × 3 + 12 = 48 кг.

Par-уровень — это не заказ. Это цель, до которой ты добираешь:

Объём заказа = Par-уровень − Остаток на складе в момент заказа

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

Наступает день поставки, пересчёт показывает на полке 19 кг. Заказ — 48 − 19 = 29 кг. Никому не нужно вспоминать, что заказывали в прошлый раз, и прикидывать, насколько плотной ощущается следующая неделя: полку пересчитали, дальше всё делает арифметика.

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

Точка заказа: остаток, при котором заказ обязан уйти

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

Точка заказа = Средний дневной расход × Срок поставки + Страховой запас

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

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

У сквозной позиции срок поставки — два дня. Точка заказа — 12 × 2 + 12 = 36 кг. Как только полка доходит до 36 кг, заказ уходит в тот же день, что бы там ни говорил календарь.

Одна система на позицию — держать обе значит купить буфер дважды

Вот место, где тихо ошибается большинство кухонь, и ошибка эта стоит настоящих денег, ни разу не проявившись как видимый сбой.

Par-уровень и точка заказа — не пара. Это две альтернативные системы управления, и каждая самодостаточна.

Par-уровеньТочка заказа
Что этоПериодический контроль: заказ по фиксированному календарюНепрерывный контроль: заказ на фиксированном остатке
Что запускает заказНаступил день поставкиПолка опустилась до триггерного количества
Что нужно знатьОстаток на складе в день поставкиОстаток на складе постоянно
Что покрывает буферТолько цикл заказаТолько срок поставки
Кому подходитПозициям с жёстким графиком поставщикаПозициям, которые можно заказать в любой день
Чего стоитПересчёт в каждый день заказаПостоянная видимость полки

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

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

Страховой запас: от чего он страхует, а от чего нет

Страховой запас — буферное количество, которое держат против колебаний спроса на протяжении срока поставки.

Страховой запас = (Пиковый дневной расход − Средний дневной расход) × Срок поставки

  • Пиковый дневной расход — наблюдённый максимум, в единицах в день;
  • Средний дневной расход — в единицах в день;
  • Срок поставки — в днях;
  • результат — в единицах.

Единицы в день минус единицы в день дают единицы в день; умножь на дни — получишь единицы. По сквозной позиции: (18 − 12) × 2 = 12 кг.

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

Прикрыть опоздание — отдельное решение, и это именно решение, а не расчёт:

Буфер на опоздание = Средний дневной расход × Дней задержки, которые решил прикрыть

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

Выбрать один день прикрытия на сквозной позиции — это плюс 12 × 1 = 12 кг. Формулы, которая выдаёт «правильное» число дней задержки, не существует, потому что оно зависит от того, насколько надёжен именно этот поставщик на практике, и от того, во сколько тебе обходится пустая строка именно в этом блюде, — а это ты знаешь, а мы нет. Нечестно другое: держать буфер под спрос и рассказывать себе, что он прикрывает машину. Вести учёт того, кто из поставщиков опаздывает и насколько, — как раз из тех вещей, которым место в системе, а не в памяти: посмотри интеграции, чтобы понять, куда приземляются документы поставщиков, и материал о том, что ресторан может отдать системе, чтобы понять, что остаётся за человеком.

Три числа — это один расчёт: твой par-уровень задаёт твою оборачиваемость

Вот стык между двумя половинами страницы, и он же причина, по которой все три понятия живут на одной странице, а не на трёх.

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

Средний остаток при par-системе = (Par-уровень + Страховой запас) ÷ 2

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

Прогоним числа по куриной строке. Par-уровень 48 кг, страховой запас 12 кг, значит средний остаток — (48 + 12) ÷ 2 = 30 кг, а это по 20 PLN/кг даёт 600 PLN наличных, лежащих в одной этой строке. Месячный расход — 360 кг, значит себестоимость проданного по позиции за месяц — 360 × 20 = 7 200 PLN. Её оборачиваемость — 7 200 ÷ 600 = 12 раз в месяц, а запас в днях — 30 ÷ 12 = 2,5 дня, что то же самое, что 30 кг ÷ 12 кг в день, ровно как и должно быть.

Чтобы получить эту оборачиваемость, ничего не измеряли. Она выпала из par-уровня, а par-уровень выпал из графика поставок. Теперь сдвинем по одной вещи за раз и посмотрим, что произойдёт.

Что меняетсяСтраховой запасТочка заказаPar-уровеньСредний остатокОборачиваемостьДней
Как выше: цикл 3 дня, срок поставки 2 дня12 кг36 кг48 кг30 кг / 600 PLN12 раз в месяц2,5
Поставка раз в 2 дня вместо 312 кг36 кг36 кг24 кг / 480 PLN15 раз в месяц2,0
Срок поставки вырос с 2 дней до 424 кг72 кг60 кг42 кг / 840 PLN8,57 раза в месяц3,5

Каждая клетка — арифметика по формулам выше, на тех же 12 кг расхода в день и той же цене 20 PLN/кг.

Про эту таблицу стоит сказать вслух три вещи.

Кухня ни в одной из трёх строк не сделала ничего. Те же блюда, те же порции, те же гости, та же дисциплина. Оборачиваемость сходила с 12 до 15 и вниз до 8,57 потому, что сдвинулись календарь поставщика и его машина. Это и есть весь ответ на вопрос «какой должна быть моя оборачиваемость»: она в основном свойство твоих договорённостей с поставщиками, и поэтому число для неё никто и не может опубликовать.

Более частые заказы высвободили наличные, и сумма считается. Переход с трёхдневного цикла на двухдневный срезал средний остаток по этой одной строке с 600 PLN до 480 PLN — 120 PLN высвобождено насовсем, на одном ингредиенте. Стоит ли оно того, зависит от платы за доставку, лишнего труда на приёмке и лишнего пересчёта, — а всё это ты можешь оценить в деньгах, а мы нет.

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

Разверни ту же логику на весь склад, и это перестанет быть историей про один ингредиент:

Высвобождено наличных = (Запас в днях до − Запас в днях после) × Средняя дневная себестоимость проданного

  • Запас в днях — в днях, до и после изменения;
  • Средняя дневная себестоимость проданного — себестоимость проданного, делённая на дни в периоде, в PLN в день;
  • результат — в PLN, высвобождается однократно.

Дни минус дни, умноженные на PLN в день, дают PLN. На примере по всему ресторану переход с 8 дней запаса на 6 высвобождает (8 − 6) × 2 000 = 4 000 PLN. Высвобождается один раз, а не каждый месяц: это разовый возврат оборотного капитала, а не регулярная экономия, и называть его месячной прибавкой — один из самых частых способов перепродать этот расчёт. Где эти деньги всплывают в учёте и почему они не прибыль — вопрос финансовый, а не кухонный: смотри финансы и материал про показатели, на которые владелец реально смотрит.

Товарные группы оборачиваются с разной скоростью — и так и должно быть

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

ГруппаСкорость относительно остальных группВо что обходится замедлениеВо что обходится ускорение
Свежее и охлаждённое — рыба, мясо, молочка, зелень и салатыСамая быстрая; срок годности ставит жёсткий потолокПорча, списания и правовой потолок, с которым не поспоришьБольше поставок, больше труда на приёмке, больше пересчёта, больше плат за доставку
Бакалея — мука, рис, паста, консервы и банкиСамая медленная; ограничена размером упаковки и местом на складе больше, чем порчейНаличные, припаркованные на месяцы, съеденное место, риск вредителей и поврежденийПотеря скидки за объём, которая шла с большой упаковкой
Напитки и алкогольСередина; покупается готовым и продаётся готовым, между покупкой и продажей нет кухонной работыНаличные в бутылках и медленные строки, которые никогда не распродаютсяПустая полка в плотный вечер по самым маржинальным строкам, какие у тебя есть
ЗаморозкаМедленная по замыслу; морозильник — это осознанная покупка времениОбморожение продукта, забытые остатки, электричество, потраченное на то, что никому не нужноПотеря ровно того буфера, ради которого морозильник и существует

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

Единственное место, где у группы появляется по-настоящему жёсткий предел, — это свежий продукт, и предел этот идёт от закона, а не от управленческой логики.

Польский закон ставит потолок на par-уровень скоропорта

Сколько наличных держать в муке, ты решаешь сам. А вот про продукт с истёкшим сроком решать не тебе. Согласно нормам, которые устанавливает закон от 25 августа 2006 г. о безопасности пищевых продуктов и питания, ст. 100 ч. 1 п. 1, Dz.U. 2023 poz. 1448 с изменениями Dz.U. 2025 poz. 1424, тот, кто «использует для производства или вводит в оборот пищевой продукт после истечения срока годности или даты минимальной сохранности», наказывается штрафом. А ч. 2 той же статьи поднимает наказание до ареста, ограничения свободы или штрафа только в одном, более узком случае: продукты значительной стоимости и притом с истёкшим именно сроком годности. На товар, у которого истекла только дата минимальной сохранности, ч. 2 не распространяется вовсе — штраф по ч. 1 п. 1 остаётся, ареста нет.

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

Максимально защитимый par-уровень = Средний дневной расход × Остаточный срок годности на приёмке в днях

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

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

Слишком быстрая оборачиваемость тоже дорого стоит

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

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

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

Стокауты: как их считать и во что обходится пустая строка в зале

Большинство кухонь не считает стокауты вообще, а значит, вся расходная сторона аргумента «зачем держать запас» из разговора просто выпадает. Считать их несложно, и чтобы начать, система не нужна.

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

Доля стокаутов = Дней, когда позиция была недоступна ÷ Дней, когда позиция стояла в меню × 100

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

Дни, делённые на дни, сокращаются, а умножение на 100 превращает это в проценты.

13,3%
Позиция, недоступная 4 из 30 дней, что она стояла в меню, даёт долю стокаутов 4 ÷ 30 × 100 = 13,3 %.

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

Дальше это надо оценить в деньгах. Инстинкт говорит считать каждого гостя, который хотел пропавшее блюдо, потерянным гостем, и этот инстинкт сильно завышает ущерб, потому что большинство гостей заказывает что-то другое.

Цена стокаута = Ушедшие × Вклад на покрытие с гостя + Замены × (Вклад на покрытие недоступного блюда − Вклад на покрытие замены)

  • Ушедшие — гости, которые ушли, а не заказали что-то другое, в гостях;
  • Вклад на покрытие с гостя — сколько приносит средний гость, в PLN на гостя;
  • Замены — гости, которые вместо этого заказали другое блюдо, в гостях;
  • оба вклада на покрытие — в PLN на блюдо;
  • результат — в PLN.

Гости, умноженные на PLN на гостя, дают PLN; гости, умноженные на разницу двух величин в PLN на блюдо, дают PLN; PLN плюс PLN дают PLN. Определение вклада на покрытие с гостя не нам придумывать во второй раз — оно принадлежит материалу точка безубыточности ресторана, и эта страница использует его без изменений.

Вечер, когда лосось кончился в 19:40. Четырнадцать гостей заказали бы его; одиннадцать взяли что-то другое, трое ушли. Лосось приносит 38 PLN, блюдо, на которое переключились, — 29 PLN, а средний гость приносит 34 PLN. Цена — 3 × 34 + 11 × (38 − 29) = 102 + 99 = 201 PLN.

Про эти 201 PLN надо честно сказать две вещи. Ушедшие — это оценка, а не измерение. Касса ничего не знает про гостя, который прочитал доску и ушёл; кто-то должен это заметить и записать, а если не заметит никто, первое слагаемое формулы остаётся суждением. И слагаемое замен обычно больше — здесь 99 PLN из 201 PLN пришли от гостей, которые остались и потратили, просто на что-то менее прибыльное. Именно эту часть рамка «потерянный гость» не видит совсем, и именно её можно уменьшить, не держа ни грамма лишнего запаса, — если проследить, чтобы предложенная замена была хорошей.

Поставь эти 201 PLN против цены предотвращения. Носить лишние два дня лосося — это больше наличных на полке и реальный риск выбросить его об жёсткую дату. Иногда арифметика говорит держать больше; на медленных строках с коротким сроком годности она очень часто говорит ровно обратное — и терпеть редкий удар.

Пересчёт: полная инвентаризация, выборочный пересчёт и ежедневный короткий список самых дорогих строк

Каждой формуле на этой странице нужен пересчёт. Без него расход — это сумма из накладных, par-уровни ползут вверх, а цифра оборачиваемости описывает ритм твоих закупок, а не твою кухню.

СпособЧастотаЧто ловитЧто упускаетЧего стоит
Полная инвентаризация всегоНа закрытии периода, когда сводят книгиНастоящую стоимость остатка на конец, а значит настоящую себестоимость проданного и настоящую оборачиваемостьВсё, что случилось в середине периода: к моменту, когда ты это увидишь, это уже историяЧасы, обычно после сервиса, всей командой
Выборочный пересчёт скользящей подгруппыКаждый раз другая небольшая группа позиций, в регулярном ритмеУползание по конкретным строкам, пока ещё есть время среагировать; ошибки в самих par-уровняхКартину по всему периоду — стоимость остатка на конец он не даёт никогдаМинуты за раз, но требует дисциплины больше, чем усилий
Ежедневный пересчёт короткого списка самых дорогих строкЕжедневно, до или после сервисаДвижение там, где реально лежат деньги; пропавший ящик по дорогой позиции — в тот день, когда он пропалВсё, чего нет в списке, — и это сознательноПочти ничего, если список остаётся честно коротким

Эти три способа не альтернативы, они складываются. Полная инвентаризация закрывает период и единственная выдаёт цифру оборачиваемости. Выборочный пересчёт держит par-уровни честными между закрытиями. А ежедневный короткий список — горстка строк с самой высокой стоимостью движения по ним, а не десять позиций потому, что десять красиво звучит, — превращает месячное открытие в открытие того же дня.

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

Чего эти три числа не говорят

Они полезны именно потому, что узкие, и у этой узости есть края, которые стоит назвать по именам.

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

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

И закрывающее предостережение про деньги. Наличные, высвобожденные из запаса, — разовая величина, а не поток дохода. В первый раз, когда ты укоротишь цикл, тебе вернётся платёж; дальше ты просто держишь меньше. Делать это по-настоящему стоит, и месячной экономией это не является, что бы кто ни говорил. Держать ритм заказов, пересчёты и график поставщика в одном месте, а не в трёх тетрадях, — для этого и нужны интеграции и прогнозирование, а внешние сигналы закрывают события календаря, которые двигают расход раньше, чем это заметит полка. Остальные материалы по экономике заведения собраны в разделе рестораны.

Часто задаваемые вопросы

Какая оборачиваемость запасов считается хорошей для ресторана?

Опубликованной цифры эта страница тебе не даст, и причина арифметическая, а не осторожность. Оборачиваемость задаётся в основном частотой поставок твоего поставщика и сроком поставки: при одном и том же расходе переход с трёхдневного цикла поставок на двухдневный переводит разобранный здесь пример с 12 оборотов в месяц на 15, а растягивание срока поставки с двух дней до четырёх опускает его до 8,57. Две хорошо устроенные кухни с разными договорённостями по снабжению дадут разные цифры, и обе будут верны. Настоящий ориентир — твой собственный ряд наблюдений: один и тот же расчёт по своим закрытым периодам, с пометками о событиях рядом с каждым.

Как посчитать par-уровень?

Умножь средний дневной расход позиции на число дней между поставками и прибавь страховой запас. На разобранном здесь примере — 12 кг в день, поставка раз в три дня, страховой запас 12 кг — par-уровень равен 12 × 3 + 12 = 48 кг. Заказ, который ты реально отправляешь, — это par-уровень минус то, что лежит на полке в момент заказа: при пересчитанных 19 кг заказ выходит 29 кг. Средний дневной расход обязан браться из пересчётов, а не из накладных, иначе par-уровень будет раздувать сам себя каждый цикл.

Чем par-уровень отличается от точки заказа?

Это две разные системы управления, а не два шага одной. Par-уровень работает по календарю: наступает день поставки, ты пересчитываешь полку и добираешь до цели. Точка заказа работает по остатку: как только полка опускается до триггерного количества, заказ уходит, какой бы день ни был. На конкретной позиции применяй что-то одно. Держать обе на одной строке значит включить страховой запас дважды: ты постоянно носишь лишний буфер, и ничто видимым образом не ломается, чтобы тебе об этом сказать.

Сколько страхового запаса держать кухне?

Возьми наблюдённый пиковый дневной расход, вычти средний дневной расход и умножь разницу на срок поставки. На разобранном примере: (18 − 12) × 2 = 12 кг. Чётко понимай, что делает это количество: оно прикрывает спрос выше среднего, пока ты ждёшь поставку, и больше ничего. Опоздавшую поставку оно не прикрывает. Прикрытие опоздания — отдельная величина, средний дневной расход, умноженный на число дней задержки, которые ты решил носить, и сколько это дней, — суждение о твоём поставщике, которое за тебя не вынесет ни одна формула.

Может ли оборачиваемость запасов быть слишком высокой?

Да, и её издержки в самой цифре оборачиваемости не видны. Очень быстрая оборачиваемость означает очень маленький люфт: стокауты становятся рутиной, кто-то начинает в аварийном режиме закупаться по розничным ценам и прячет снабженческую проблему внутри food cost, каждая лишняя поставка снимает человека с линии на приёмку, а плата за доставку и минимальная сумма заказа добавляют наценку на килограмм. Цель — не максимально возможное число оборотов, а минимальный остаток, при котором меню остаётся доступным на той частоте поставок, которую ты можешь себе позволить.

Как часто ресторану проводить инвентаризацию?

Полностью пересчитывай всё на закрытии периода, потому что только этот пересчёт даёт стоимость остатка на конец, а значит настоящую себестоимость проданного и настоящую оборачиваемость. Между закрытиями делай выборочный пересчёт скользящей подгруппы, чтобы уползание по отдельным строкам всплывало, пока с ним ещё можно что-то сделать, и ежедневно пересчитывай честно короткий список самых дорогих строк. Эти три способа складываются, а не конкурируют. Период, закрытый без полной инвентаризации, даёт оценку, а оценка не годится в качестве базы для следующего сравнения.

Во что на самом деле обходится стокаут?

Меньше, чем в потерянного гостя, и больше, чем в ноль, — и арифметика эти две части разделяет. Посчитай гостей, которые ушли, и умножь на вклад на покрытие среднего гостя; затем посчитай гостей, которые заказали вместо этого другое, и умножь на разницу между вкладом на покрытие пропавшего блюда и вкладом на покрытие замены. В разобранном на этой странице примере трое ушедших и одиннадцать замен дают 3 × 34 + 11 × (38 − 29) = 201 PLN, и большая часть суммы — это разница по заменам, а не ушедшие. Помни, что ушедшие оценены на глаз: касса никогда не видит гостя, который прочитал доску и ушёл.

Как ошибки на приёмке искажают складские цифры?

Они портят арифметику ещё до того, как в дело вступает кухня. Если в накладной стоит вес, который никто не сверил с весами, то у тебя неверна цифра закупки, неверен расход и неверен в ту же сторону каждый par-уровень, построенный на этом расходе. Недовозы, оприходованные полностью, вдобавок занижают остаточный срок годности, на который можно опираться, а это тихо опускает потолок par-уровня по этой позиции. Взвешивай против документа прямо на приёмке, фиксируй разницу и относись к приёмке как к части пересчёта, а не как к бумажной работе.

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

Связанные услуги

В этом разделе

Посмотрим на твоих цифрах

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

Поговорить с Aura

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

Удобнее написать? marketing@auraglobal-merchants.com

Следующий шаг

Посмотрим, подходит ли Aura вашему заведению

Берёмся не за всех: сначала смотрим процессы, продажи и текущие системы и честно говорим, есть ли смысл нам заходить. Несколько вопросов, минут пять.

Пройти отбор →