Мониторинг наличия у поставщиков: парсер остатков
Утро закупщика: скачать четыре прайса из почты, зайти в три личных кабинета, забрать XML у пятого поставщика, открыть PDF у шестого и свести всё в свою таблицу. К обеду сводка готова, к вечеру уже неточная - у одного позиция ушла в ноль, у другого выросла цена. А менеджер тем временем продал то, чего у поставщика нет со вчерашнего дня. Пока поставщиков трое, это терпимо; когда пятнадцать - обновление занимает полдня и всё равно отстаёт.
Речь дальше про своих поставщиков - тех, у кого вы закупаете. Цены и ассортимент конкурентов - соседняя задача с другой логикой, она разобрана в статье про мониторинг конкурентов. Здесь про то, как вовремя узнавать, что у поставщика появилось, закончилось или подорожало, и как связать это с витринами и закупками. Технически это парсеры и интеграции - подробности на странице услуги парсинга данных.
Короткий ответ: начинают со сбора прайсов и остатков в единый формат по расписанию - без него остальные сценарии не на чем строить. Сбор стоит 60–110 тыс. ₽, запускается за 2–4 недели и при чистой экономии 18–21 тыс. ₽ в месяц окупается за 3–6 месяцев. Комплексный контур - от 200 тыс. ₽ и 6–10 месяцев.
Где закупка теряет деньги и часы
- Наличие проверяют руками. Прайсы, кабинеты, звонок менеджеру поставщика: данные собирают под конкретный заказ, а не постоянно.
- Продали то, чего у поставщика уже нет. Витрина показывает вчерашнюю доступность, заказ приходится отменять или двигать срок.
- Подорожание замечают после отгрузки. Закупочная цена выросла, розничная осталась прежней, и маржа съедена задним числом.
- Прайсы приходят в разных форматах. Excel с шапкой на четвёртой строке, XML, кабинет, PDF - и в каждом свои названия позиций.
- Обновление занимает полдня. На десяти-пятнадцати поставщиках сводку делают раз в неделю, а не ежедневно.
Пять сценариев мониторинга
| Сценарий | Что делает система | Эффект |
|---|---|---|
| Сбор прайсов и остатков | По расписанию забирает данные из API, выгрузок и файлов в одну структуру | Актуальная сводка вместо ручного сведения |
| Алерты о пропаже и подорожании | Сравнивает снимки и уведомляет при нуле и росте цены выше порога | Реакция в тот же день, а не после отгрузки |
| Синхронизация доступности | Передаёт признак наличия на сайт, маркетплейсы и в учётную систему | Меньше заказов на то, чего нет у поставщика |
| Сравнение поставщиков по позиции | Сводит цены и остатки поставщиков в карточку номенклатуры | Закупка по лучшей доступной цене без обзвона |
| Сигнал на закупку по точке заказа | Считает остаток с учётом расхода и срока поставки и напоминает заказать | Реже провалы по ходовым позициям |
Сценарий 1: прайсы и остатки в одном формате по расписанию
Это фундамент, без которого остальное не строится. По расписанию система забирает данные из всех источников - API поставщика, ссылка на выгрузку, письмо с вложением, страница каталога - и приводит их к одной структуре: артикул поставщика, ваш артикул, название, цена, остаток, дата снимка. Если у поставщика поменялся порядок колонок, сбор должен сообщить о поломке, а не записать тихо ноль. Техника показана в кейсе парсера каталогов и цен.
Второй слой - история: каждый снимок сохраняется, и видно, когда позиция пропала и как менялась цена. Если поставщик отдаёт данные по API, это лучший вход - формат стабилен, ошибки видны сразу: как строится стыковка, описано на странице интеграций по API.
Сценарий 2: алерт, когда позиция пропала или подорожала
Собранные данные никого не спасают, пока их не показали в момент изменения. Система сравнивает свежий снимок с предыдущим и уведомляет по вашим правилам: остаток упал до нуля или ниже минимума, закупочная цена выросла больше чем на заданный процент, позиция исчезла из прайса, поставщик вернул в наличие то, что вы ждали месяц.
Важны порог и группировка: при тысячах позиций сообщение на каждое изменение через неделю перестают читать. Работает связка «жёсткий порог плюс дайджест»: срочное по ходовым позициям сразу, остальное - в утреннюю сводку. Готовый вид - в кейсе мониторинга остатков и цен; первый приоритет - подорожание того, что уже стоит на витрине по старой цене.
Сценарий 3: синхронизация доступности со своими витринами
Знать про пропажу мало - надо, чтобы об этом узнали витрины. Система передаёт признак доступности туда, где товар продаётся: на сайт, в карточки маркетплейсов, в учётную систему. Логика не «есть или нет», а с запасом: позиция доступна, если у поставщика больше N штук и снимок свежий; если данных нет дольше суток, она уходит в статус «под заказ».
Маркетплейсы требуют своей дисциплины по остаткам и срокам - об этом статья про автоматизацию работы на маркетплейсах. Учётная система остаётся источником правды по своему складу: обмен настраивают через интеграцию с МойСклад или интеграцию с 1С. Смысл связки - снизить долю заказов, которые приходится отменять.
Сценарий 4: сравнение поставщиков по одной позиции
Когда данные всех поставщиков лежат в одном формате, появляется ответ на вопрос, ради которого раньше обзванивали менеджеров: у кого позиция есть прямо сейчас и по какой цене. Система строит карточку номенклатуры - поставщик, его артикул, цена, остаток, срок поставки, дата обновления. Видно не только минимальную цену: дешёвый вариант может приехать через две недели, а тот, что дороже на 4%, лежит на складе в городе.
Самая трудоёмкая часть - сопоставление номенклатуры: один товар у трёх поставщиков называется по-разному, а штрихкод есть не везде. В опте сценарий даёт больше всего в деньгах: закупочная цена прямо ложится в маржу - смежные процессы в статье про автоматизацию оптовой торговли.
Сценарий 5: сигнал на закупку по точке заказа
Последний шаг связывает данные поставщика с вашим складом. Система смотрит свой остаток, средний расход и срок поставки конкретного поставщика и считает точку заказа - момент, после которого ждать нельзя, иначе товар кончится до прихода партии. Сигнал приходит вместе с подсказкой, у кого позиция сейчас есть и почём: сценарии 4 и 5 работают в паре. Механика напоминаний - в кейсе сигналов о пополнении запаса, складская часть - в статье про автоматизацию склада.
Принцип: система следит за наличием и ценой непрерывно, человек принимает решения о закупке и цене. Автоматизации достаётся однообразное - забрать данные, сравнить снимки, поднять флаг. Выбор поставщика, торг по условиям и пересмотр розничной цены остаются за закупщиком.
Что с ИИ, а что без него
Разделение честное и довольно жёсткое:
- Без ИИ работает почти всё. Забор данных по API и из выгрузок, разбор Excel и XML, сравнение снимков, пороги и алерты, передача остатков на витрины, расчёт точки заказа - это правила, расписание и интеграции.
- ИИ нужен на входе, когда данные неструктурированы. Прайсы в PDF и сканах, где таблица свёрстана как попало, и сопоставление номенклатуры: у поставщика «Кабель ВВГнг-LS 3х2,5», у вас «Кабель ВВГ нг(А)-LS 3*2.5» - модель предлагает соответствие, спорные пары уходят человеку на подтверждение.
Если поставщики отдают структурированные файлы, проект обходится без языковой модели вообще. ИИ добавляют точечно и с проверкой: ошибка в сопоставлении артикулов дороже ошибки в тексте.
Что законно собирать, а что нет
Собирать можно общедоступные данные - то, что видит любой посетитель сайта без авторизации, - с уважением к robots.txt и условиям использования и с разумной нагрузкой: опрос по расписанию, а не поток запросов, мешающий чужому серверу. Мы не обходим защиту от автоматического доступа, не работаем под чужими учётными записями и не перепродаём чужие базы: это вне закона и вне нашей практики. И главное правило: если у поставщика есть API или официальная выгрузка, используем их - это надёжнее парсинга и стабильнее по формату. Общий разбор темы вместе с юридической стороной - в статье про парсинг данных для бизнеса.
Сколько стоит
- Сбор прайсов и остатков в единый формат - 60–110 тыс. ₽, 2–4 недели.
- Алерты о пропаже позиции и подорожании - 50–90 тыс. ₽, 2–3 недели.
- Синхронизация доступности с витринами - 70–120 тыс. ₽, 3–4 недели.
- Сравнение поставщиков по позиции - 50–100 тыс. ₽, 2–3 недели.
- Сигнал на закупку по точке заказа - 50–90 тыс. ₽, 2–3 недели.
- Комплексный контур «сбор - алерты - витрины - закупка» - от 200 тыс. ₽, поэтапно.
- Эксплуатация - 3–12 тыс. ₽ в месяц: сервер, хранение истории, доработки под изменившиеся форматы.
Экономика считается на часах закупщика и на отменённых заказах. У компании с десятком поставщиков ручная сводка занимает около 50 часов в месяц; после сбора в единый формат остаётся разбор исключений, 10–15 часов, то есть освобождается 35–40 часов. При стоимости часа закупщика около 600 ₽ с налогами это 21–24 тыс. ₽ валовой экономии, минус 3 тыс. ₽ эксплуатации - 18–21 тыс. ₽ чистыми. Сбор стоит 60–110 тыс. ₽: 60 / 21 даёт около 3 месяцев, 110 / 18 - около 6.
Комплексный контур считается со своей экономией. К часам добавляются отменённые заказы: при 25–30 отменах в месяц из-за отсутствия товара синхронизация витрин убирает часть, сохранённая валовая прибыль - 12–16 тыс. ₽, плюс 3–4 тыс. ₽ на времени менеджеров. Вместе 36–44 тыс. ₽ валовой минус около 10 тыс. ₽ эксплуатации - 26–34 тыс. ₽ чистыми при вложениях 200–260 тыс. ₽, то есть 6–10 месяцев. Методика - в статье про окупаемость автоматизации.
С чего начать
- Составьте список источников. По каждому поставщику: что он даёт (API, выгрузка, файл на почте, кабинет, PDF) и как часто обновляет.
- Посчитайте две цифры. Часы на сверку прайсов в месяц и число отменённых из-за отсутствия товара заказов за квартал.
- Запросите официальный доступ. До разработки спросите менеджеров поставщиков про фид или API: часть источников закроется без рисков.
- Запустите сбор и историю. Единый формат, расписание, снимки, уведомление о сломанном источнике - 2–4 недели.
- Добавьте алерты, потом витрины. Сначала пороги по нулю и подорожанию, следом доступность на витринах, после - сравнение поставщиков и точка заказа.
Мини-кейс: оптовик с 12 поставщиками и своим интернет-магазином
Компания торгует расходниками и инструментом: около 6 тысяч активных позиций, 12 поставщиков, свой сайт и продажи на маркетплейсах. Прайсы приходили в пяти форматах: Excel разной структуры, XML-выгрузки, два кабинета, письма. Двое закупщиков тратили на сверку около 48 часов в месяц, и всё равно около 30 заказов в месяц приходилось отменять или переносить.
Внедряли три сценария последовательно, около трёх с половиной месяцев в сумме: сбор прайсов и остатков в единый формат с историей снимков, алерты на пропажу позиции и рост закупочной цены выше 5%, синхронизацию доступности с сайтом и карточками маркетплейсов. Сравнение поставщиков и точку заказа оставили на следующий этап, их эффекта в цифрах ниже нет. Два поставщика присылали прайс в PDF - для них подключили разбор моделью.
Через полгода после старта сверка занимает 13 часов в месяц вместо 48: освободилось около 35 часов, примерно 21 тыс. ₽ по стоимости часа. Отмены из-за отсутствия товара снизились до 11–12 в месяц - 18 сохранённых заказов дают около 14 тыс. ₽ валовой прибыли, плюс около 3 тыс. ₽ на времени менеджеров. При эксплуатации около 9 тыс. ₽ чистая экономия вышла порядка 29 тыс. ₽ в месяц, а вложения в 240 тыс. ₽ возвращаются примерно за восемь месяцев.
Итог
Мониторинг наличия у поставщиков - это четыре слоя: собрать данные в один формат, сохранить историю, поднять флаг при изменении и донести его до витрин и закупки. Начинать разумно со сбора: он снимает больше всего ручной работы и делает возможным остальное. Разложить свой процесс на шаги можно в рамках автоматизации бизнес-процессов.
Частые вопросы
Как автоматически отслеживать наличие товара у поставщика?
Порядок такой. Сначала инвентаризация источников: у кого есть API, у кого выгрузка по ссылке, у кого только файл на почте или страница в кабинете; API и официальная выгрузка берутся первыми, парсинг остаётся для остальных. Второе - частота опроса: по ходовым позициям имеет смысл проверять несколько раз в день, по длинному хвосту достаточно раза в сутки. Третье - хранить историю снимков: без неё нельзя ответить, когда позиция пропала и как менялась закупочная цена за квартал.
Законно ли собирать данные с сайтов поставщиков?
Сбор общедоступных данных, тех, что видит любой посетитель без авторизации, законен, если идёт с разумной нагрузкой и с уважением к robots.txt и условиям сайта. Практический совет: сначала спросите поставщика - у многих есть прайс-фид или партнёрский доступ к API, а договор поставки обычно прямо позволяет выгружать остатки. Отдельно про личный кабинет: под своей учётной записью стоит перечитать условия использования, автоматический сбор там иногда ограничен отдельным пунктом. Обход защиты, работа под чужими учётными записями и перепродажа чужих баз - вне закона и вне нашей практики.
Сколько стоит парсер наличия и цен?
Один сценарий - сбор прайсов в единый формат, алерты о пропаже и подорожании, синхронизация витрин, сравнение поставщиков или сигнал на закупку - стоит 50–120 тыс. ₽ и запускается за 2–4 недели. Комплексный контур обходится от 200 тыс. ₽ и внедряется поэтапно, эксплуатация - 3–12 тыс. ₽ в месяц. Сбор прайсов при чистой экономии 18–21 тыс. ₽ в месяц окупается за 3–6 месяцев, комплексный контур при вложениях 200–260 тыс. ₽ и чистой экономии 26–34 тыс. ₽ - за 6–10 месяцев.
Не готовы обсуждать проект? Оцените выгоду сами: калькулятор ROI автоматизации - 1 минута, без контактов. Или заберите чек-лист «Что автоматизировать первым».