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

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

Четыре цифры, которые называют одним словом «остаток»

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

ЦифраЧто означаетКак считаетсяКому показывать
Физический остатокТо, что реально лежит на складе и что покажет инвентаризацияУчётное количество по складуТолько складу и закупкам
ЗарезервированоОбещанное другим клиентам с непросроченным сроком резерваСумма активных резервов, у которых срок ещё не истёкМенеджерам, в разрезе клиентов
Свободный остатокЧто можно продать сегодня со складаФизический − зарезервировано − отгруженное, но не проведённоеМенеджерам
В пути от поставщикаПодтверждённые поставки с датой приходаСумма поставок со статусом «отгружено поставщиком» и датойМенеджерам и закупкам
Доступно к заказуЧто можно обещать клиенту на дату, о которой идёт речьСвободный остаток + в пути с датой прихода не позже нужной − страховой запасКлиенту, во всех внешних каналах
Что это значитСтраховой запас во внешних каналах

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

схема процессаrezerv-tovara-i-dostupnost--01
Схема расчёта доступного к заказу остатка из физического остатка, резервов и товара в пути

Схема-формула сверху вниз. Верхний блок «Физический остаток на складе». Ниже два блока со знаком минус: «Зарезервировано (активные резервы с непросроченным сроком)» и «Отгружено, но не проведено». Результат — блок «Свободный остаток» с подписью «видят менеджеры». Ниже блок со знаком плюс «В пути от поставщика: подтверждённые поставки с датой прихода» и блок со знаком минус «Страховой запас внешних каналов». Итоговый выделенный блок внизу «Доступно к заказу на дату» с подписью «видит клиент». Справа вертикальная скобка с пометкой «считается на дату и по одному складу». Чертёжный стиль, подписи по-русски.

Клиент видит только нижнюю строку, и она вычисляется, а не хранится

Правила резерва: срок, снятие, приоритет

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

  1. 1
    Срок жизни задаётся по типу основания, а не по клиенту

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

  2. 2
    Снятие происходит автоматически и молча

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

  3. 3
    Приоритет разрешает конфликт без совещания

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

  4. 4
    Продление — одно, с причиной и новым сроком

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

Резерв под неоплаченный счёт — это кредит товаром

Пока позиция стоит в резерве, деньги в ней заморожены так же, как в дебиторке, только без договора и без срока. У модельного оптовика 1,2 млн ₽ постоянно висит в резервах под просроченные счета; при стоимости денег 24 % годовых это 24 000 ₽ в месяц, которые не видны ни в одном отчёте. Срок жизни резерва — это не про порядок, это про оборотные средства.

Товар в пути: когда его можно обещать

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

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

Что показывать клиенту и как часто обновлять

Точное число — не единственный вариант, и часто не лучший. Выбор зависит от канала и от того, кто по ту сторону.

Что показываемГде уместноГлавный риск
Точное количествоB2B-портал для клиентов с договоромВаш склад целиком виден конкуренту, который завёл юрлицо и зарегистрировался
Ступени: больше 100, от 10 до 100, меньше 10Сайт, каталог, прайс в рассылкеКлиент, которому нужна вся партия, всё равно звонит уточнить
Признак наличия: есть, мало, нетРозничная витрина, мелкий оптНе позволяет оформить крупный заказ без разговора с менеджером
Дата доступности вместо количестваПозиции под заказ и товар в путиТребует дисциплины поставщика: сорванная дата хуже, чем её отсутствие

Частота обновления — второй по значимости источник отмен после отсутствующего срока резерва. Выгрузка остатков во внешний канал раз в сутки означает окно рассинхронизации длиной 24 часа. Для компании со 180 отгрузками в месяц это девять отгрузок в рабочий день — то есть за одно окно уходит целый дневной объём, и цифра в канале к концу дня не имеет отношения к складу. Рабочая практика: обновление по изменившимся позициям не реже чем раз в 15 минут, мгновенная отправка по позициям, у которых остаток опустился ниже дневной продажи, и полная сверка каталога раз в сутки ночью — как контроль, а не как основной механизм. Типичные ошибки такого обмена и то, во что они обходятся, разобраны отдельно в статье про задвоенные заказы при обмене и в материале про обмен остатками и ценами с сайтом.

Сколько стоит одна сорванная отгрузка

Считаем на профиле оптовика с крупными отгрузками: 180 отгрузок в месяц, средний чек 80 000 ₽, валовая маржа 18 %, полная стоимость часа сотрудника 950 ₽. Сорванная отгрузка — это ситуация, когда товар был обещан, а отгрузить его не получилось: он ушёл другому клиенту, стоял в чужом резерве или не приехал в срок.

Цена одного случая: товар обещан, но отгрузить нечего
Недополученная валовая прибыль: 80 000 ₽ × 18 % = 14 400 ₽, из них половина заказов восстанавливается позже7 200 ₽
Разбор ситуации: менеджер 45 мин, склад 30 мин, логистика 15 мин — 1,5 ч × 950 ₽1 425 ₽
Транспорт вышел впустую: 4 500 ₽ в 20 % случаев900 ₽
Компенсация скидкой на следующий заказ: 3 % от 80 000 ₽ в 30 % случаев720 ₽
Итого10 245 ₽ за один случай

Дальше арифметика простая. При доле срывов 4 % это 7 случаев в месяц из 180 отгрузок: 7 × 10 245 ₽ = 71 715 ₽ в месяц, или 860 580 ₽ в год. Узел резерва и доступного остатка — расчёт доступности, сроки жизни резервов, автоматическое снятие, витрина остатка для внешних каналов — стоит около 210 000 ₽ и снимает примерно 60 % таких случаев: 43 029 ₽ в месяц. Возврат вложения — 4,9 месяца.

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

графикrezerv-tovara-i-dostupnost--02
Диаграмма стоимости одной сорванной отгрузки: 10 245 ₽ из четырёх составляющих

Столбиковая диаграмма с накоплением: один столбец «Цена одного случая — 10 245 ₽», разделённый на четыре сегмента с подписями сумм: «Недополученная прибыль — 7 200 ₽», «Разбор ситуации, 1,5 ч × 950 ₽ — 1 425 ₽», «Транспорт впустую — 900 ₽», «Компенсация скидкой — 720 ₽». Справа второй столбец «Месяц: 7 случаев из 180 отгрузок — 71 715 ₽» и подпись под ним «в год 860 580 ₽». Внизу сноска: «Узел резерва 210 000 ₽ снимает 60 % — 43 029 ₽/мес, возврат 4,9 месяца». Оси: рубли. Чертёжный стиль, подписи по-русски.

Прямая потеря прибыли — меньше трёх четвертей суммы, остальное съедает разбор

Когда резерв только мешает

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

  • Товар всегда есть в избытке. Если по позиции лежит трёхмесячный запас и дефицита не бывает, резервировать нечего — конфликта за остаток не существует. Резерв здесь только увеличивает время оформления заказа. Держите механизм включённым выборочно, по группам с оборачиваемостью меньше 30 дней.
  • Отгрузка идёт в тот же день, что и заказ. При работе «заказал утром — уехало вечером» окно, в котором резерв имеет смысл, измеряется часами, и его закрывает статус заказа, а не отдельная сущность. Резерв нужен там, где между обещанием и отгрузкой проходят дни.
  • Склад не совпадает с учётом. Если инвентаризация регулярно даёт расхождение больше 2 %, любой расчёт доступности будет считать неправильные цифры быстро и красиво. Сначала адресное хранение и приёмка со сканером, потом резервы — иначе вы получите точную формулу от неточных данных.

И общее правило, которое стоит проверить до проекта: механизмы резервирования со сроком, контроль свободного остатка и учёт товара в пути есть штатно в 1С:Управление торговлей 11, в 1С:Комплексной автоматизации и в МойСклад. Достраивать обычно приходится не сам резерв, а витрину доступного остатка для внешних каналов и регламент снятия. Что именно приходится достраивать в оптовой компании и в каком порядке — разобрано в опорной статье кластера.

Остаток, который нельзя обещать, — это не остаток, а складская справка.