Контроль отгрузок по прайсу: сверка заказов и остатков

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

Что расходится между заказом и прайсом

Типовых расхождений всего четыре, и они повторяются от заказа к заказу:

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

Смысл сверки — выловить все четыре случая до отгрузки, а не после: потом переделывать придётся накладные, счета и отношения с клиентом.

Три файла для сверки

Контроль отгрузки строится на трёх выгрузках:

  • Файл заказов — строки заказов за день или смену: номер заказа, клиент, артикул, количество, цена из заказа.
  • Актуальный прайс — артикул, наименование, текущая цена.
  • Остатки склада — артикул и свободный остаток на момент сборки.

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

Подготовка файлов конвертером

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

  1. Загрузите выгрузку (.xls, .xlsx или .csv — до 2 МБ бесплатно и без регистрации).
  2. На шаге «Структура» укажите, с какой строки начинается таблица: в отчётах учётной системы над ней обычно стоят шапка отчёта, параметры периода и пустые строки. Многострочный заголовок схлопывается, строки-разделы вроде «Итого по складу» удаляются.
  3. На шаге «Колонки» оставьте только нужные поля и назовите их одинаково во всех файлах: «Артикул», «Количество», «Цена», «Остаток». Разные названия колонок — главная причина, почему сравнение «не сходится».
  4. На колонки с числами добавьте действие «Убрать пробелы»: «1 240,50» превратится в число и сравнится с таким же числом из другого файла.
  5. Если артикулы в файле заказов «грязные» — с префиксом поставщика или суффиксом — почистите их действием «Заменить текст», чтобы ключ совпал с прайсовым.
  6. На экспорте скачайте XLSX со значениями или CSV в UTF-8.
Три исходных файла для сверки: заказы, прайс и остатки со служебными шапками
Три выгрузки до обработки: у каждой своя шапка и свой порядок колонок
Шаг «Колонки»: оставлены артикул, количество, цена и остаток, названия приведены к единому виду
Шаг «Колонки»: единый набор полей во всех трёх файлах, ключ сопоставления — артикул

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

Сама сверка: цены и наличие

Подготовленные файлы собираются в одну книгу Excel и сравниваются по артикулу — обычным ВПРом. Проверок три:

ПроверкаЧто сравниваемЧто означает расхождение
ЦенаЦена в заказе против цены в прайсеЦена устарела либо это согласованная скидка
НаличиеКоличество в заказе против свободного остаткаОстатка не хватает на отгрузку
КлючАртикул заказа против прайсаОпечатка или снятая с производства позиция

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

Файл расхождений для менеджеров

Результат сверки — не общая таблица на 340 строк, а короткий список проблем. Удобный формат — одна строка на одно расхождение:

  • номер заказа и клиент;
  • артикул и наименование;
  • цена в заказе и цена в прайсе;
  • заказанное количество и свободный остаток;
  • тип расхождения одним словом: «цена», «остаток», «артикул».

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

Шаг «Фильтры»: оставлены только строки с заполненным типом расхождения
Шаг «Фильтры»: в файл для менеджеров попадают только проблемные строки

Как часто сверять

Периодичность зависит от скорости изменения цен и оборачиваемости склада:

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

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

Частые вопросы

Клиенты присылают заказы со своими артикулами, а не с нашими. Как их сверять?

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

Цена в заказе ниже прайсовой — это всегда ошибка?

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

В каком виде отдавать расхождения менеджерам?

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

Хватает ли сверки раз в неделю?

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