Понедельник, складская выгрузка на три тысячи позиций и один вопрос: что и сколько заказать у поставщика, чтобы товара хватило до следующей поставки, но лишние деньги не лежали на полке. Если отвечать «на глаз», итог предсказуем: ходовые позиции кончаются в четверг, а стеллаж с неликвидом растёт. Разберём, как из текущих остатков и продаж собрать план закупок и превратить его в готовый файл-заказ поставщику.
Логика пополнения: одно правило вместо интуиции
Бытовая механика заказа умещается в одно сравнение. У каждой позиции есть минимальный остаток — запас, которого хватит на срок поставки плюс страховка на всплеск спроса и задержку машины. Текущий остаток опустился ниже минимального — позиция попадает в заказ. Не опустился — трогать её рано.
Для расчёта нужны четыре цифры:
- текущий остаток — из складской выгрузки;
- средние продажи за день или неделю — из отчёта продаж;
- срок поставки — сколько дней идёт заказ от заявки до прихода;
- страховой запас — на задержку поставки и всплеск спроса.
Минимальный остаток — это продажи за срок поставки плюс страховка: при сроке семь дней и продажах пять штук в день минимум выйдет 35 плюс запас. Формулы и примеры разобраны в статье про расчёт минимального остатка. Заказывать же нужно не «до минимума», а до целевого уровня — иначе через неделю заказывайте снова.
Шаг 1. Из выгрузки — в список дефицита
Первая задача — из трёх тысяч строк выгрузки оставить только те, где остаток ниже порога. Если порог один на всю группу (скажем, «меньше десяти» для мелочёвки), хватит одного фильтра по колонке остатка. Когда порог свой у каждой позиции — а так обычно и есть — добавьте в файл колонку «Мин. остаток» и рядом вычисляемую «К заказу»: минимум минус текущий остаток. Тогда весь отбор сводится к одному условию — «К заказу больше 0».
Одним условием дело редко заканчивается: убрать снятые с производства, оставить из общей выгрузки только одного поставщика, отсечь строки без артикула. Такие связки удобно задавать в конвертере на шаге «Фильтры» — механика разобрана в статье про фильтрацию по нескольким условиям. Превью сразу показывает, сколько строк осталось: из трёх тысяч обычно выходит двести-триста строк дефицита.

Шаг 2. Считаем количество — и помним про упаковки
Сколько заказать: целевой запас минус текущий остаток. Целевой запас — обычно минимальный остаток плюс продажи за цикл заказа: заказываете раз в две недели — берите продажи за две недели. При продаже пять штук в день, минимуме 50 и остатке 12 цель выйдет около 140, а заказ — 128 штук.
Теперь главная поправка — кратность упаковки. Поставщик отпускает товар коробами по 12: заказать 128 нельзя, будет либо 132, либо отказ по строке. Округлите количество вверх до кратного коробу — в Excel это формула ОКРВВЕРХ. И следите, чтобы количество и единица измерения не разъезжались: поставщик ждёт короба, а вы прислали штуки — поедет в двенадцать раз больше товара. Как привести штуки, упаковки и короба к одному виду, рассказано в статье про единицы измерения в прайсе.

Шаг 3. Подтягиваем актуальные закупочные цены
Заказ без цен — половина документа. Закупочные цены меняются, и колонка из прошлого заказа врёт уже через месяц: при росте цены на восемь процентов по двумстам позициям набегает заметная разница в бюджете. Поэтому перед отправкой список дефицита сверяют со свежим прайсом поставщика: в Excel это ВПР или ПРОСМОТРX по артикулу, который подтягивает текущую закупочную цену к каждой строке заказа.
Дальше файл приводят к виду, который ждёт поставщик: нужные колонки в нужном порядке и без лишних. Загрузите его в конвертер на главной странице: на шаге «Колонки» переименуйте заголовки под шаблон поставщика и удалите лишнее, действием «Константа» проставьте одно значение на всю колонку — номер договора, дату заказа, код покупателя. На выходе получите XLSX со значениями без формул или CSV в UTF-8: такой файл поставщик откроет без танцев, а формулы не развалятся у него на пустых ссылках.

Типовые ошибки при сборке заказа
- Заказ по устаревшим остаткам. Выгрузка недельной давности — это заказ по призрачным остаткам: ходовое уже распродано, а «заказанное» лежит нетронутым. Берите выгрузку на сегодня, максимум на вчера.
- Игнор кратности упаковки. Заказали 37 вместо 48 — поставщик либо молча округлил в свою пользу, либо отклонил строку, и позиция не приехала вовсе.
- Цены из прошлого заказа. Закупка выросла — и маржа ушла в минус ещё до прихода товара. Сверяйтесь со свежим прайсом каждый раз.
- Товар в пути не учтён. Партия уже едет, а остаток её не видит — и вы заказываете то же самое второй раз.
Частые вопросы
Как часто пересчитывать план закупок?
Под цикл поставок: заказываете раз в неделю — пересчитывайте каждую неделю по свежим данным. Ходовые позиции с коротким сроком поставки имеет смысл проверять два-три раза в неделю, чтобы не провалиться ниже страхового запаса.
Пороги разные у каждой позиции — как тогда фильтровать?
Добавьте в файл колонку «Мин. остаток» и вычисляемую «К заказу» — минимум минус текущий остаток. После этого разношёрстный отбор сводится к одному условию «К заказу больше 0», которое легко задать любым фильтром.
Поставщиков несколько — как собрать заказы каждому?
По одному файлу на поставщика: отфильтруйте общий список дефицита по колонке поставщика и оформите отдельный заказ со своими константами — договором, кодом покупателя, адресом доставки. В конвертере настройки сохраняются в шаблон после регистрации, так что на следующей неделе цикл сводится к «загрузить — проверить превью — скачать».
В каком виде отправлять заказ поставщику?
Как договоритесь: одни принимают XLSX по своему шаблону, другим нужен CSV. Универсальный вариант — XLSX со значениями без формул: он открывается везде и не ломается на чужом компьютере. Если просят CSV — отдавайте в UTF-8 с точкой с запятой, чтобы не было кракозябр.