Прайс-парсер: как автоматически загружать прайсы поставщиков
Содержание · 8
- Откуда приходят прайсы и в каком виде
- Схема работы прайс-парсера
- Сопоставление товаров: где чаще всего ошибаются
- Контроль качества данных до загрузки
- Готовое решение, 1С или свой парсер
- Что должен уметь парсер, чтобы его не пришлось выбросить
- Пример: как выглядит одна строка прайса на пути к сайту
- Вопросы и ответы

Прайс-парсер — это программа, которая по расписанию забирает прайс-листы поставщиков, приводит их к единому виду и обновляет цены и остатки на вашем сайте. Работает цепочка из пяти шагов: получить файл, разобрать, сопоставить товары, пересчитать цену, загрузить. Самое трудное — не чтение файла, а сопоставление позиций и контроль ошибок, иначе сайт покажет неверную цену или снимет товар с продажи.
Откуда приходят прайсы и в каком виде
Поставщики присылают данные по-разному, и парсер обязан понимать все варианты, которые у вас реально есть. Распространённая схема, описанная разработчиками на Хабре: прайс приходит по почте в Excel, данные попадают в учётную систему, а оттуда загружаются в базу сайта. Её главный совет — заранее определить единый выходной формат.
| Источник | Формат | Что учесть |
|---|---|---|
| Письмо с вложением | XLS, XLSX, CSV | Название файла и колонки меняются, нужен контроль структуры |
| Ссылка на файл | CSV, XML, YML | Проверяйте дату файла: иногда ссылка отдаёт вчерашние данные |
| API поставщика | JSON, XML | Лимиты запросов и ключи доступа |
| Личный кабинет поставщика | Страницы сайта | Нужен вход по логину, это уже парсинг страниц и договорённость с поставщиком |
| Облачный диск | Excel, Google Таблицы | Права доступа и повторные версии файла |
Схема работы прайс-парсера
- Получение. Скрипт скачивает файл по расписанию или забирает письмо из ящика.
- Разбор. Определяет листы, строки заголовков, объединённые ячейки, кодировку и разделитель.
- Нормализация. Приводит поля к единому виду: артикул без пробелов, цена числом, остаток числом, единицы измерения.
- Сопоставление. Находит в вашем каталоге нужную позицию по артикулу, бренду, штрихкоду или собственной таблице соответствий.
- Пересчёт. Применяет наценку, округление, минимальную цену, исключения по брендам и группам.
- Загрузка. Обновляет цены и остатки в каталоге пакетами и пишет журнал изменений.
Сопоставление товаров: где чаще всего ошибаются
Если у поставщика и у вас совпадает артикул, всё просто. На практике артикулы пишут по-разному: с дефисом и без, с префиксом бренда, латиницей или кириллицей. Поэтому нужна таблица соответствий и правила нормализации.
- Сначала сопоставляйте по штрихкоду или производителю с артикулом, а не только по названию.
- Позиции без пары не создавайте автоматически: отправляйте на проверку человеку.
- Храните историю сопоставления, чтобы исправление работало и при следующей загрузке.
- Разные упаковки одного товара (штука, коробка) заведите как отдельные единицы.
Контроль качества данных до загрузки
Самая дорогая ошибка — применить испорченный прайс. Поставщик может прислать файл с обнулёнными остатками или ценой в тысячу раз меньше. Поэтому до загрузки проверяйте файл по порогам.
| Проверка | Пример порога | Действие при срабатывании |
|---|---|---|
| Число строк | упало более чем на 30 % к прошлому файлу | Остановить загрузку, уведомить |
| Изменение цены | более ±50 % по позиции | Пометить позицию, не обновлять |
| Нулевые остатки | у более чем 20 % товаров | Остановить и проверить файл |
| Пустые обязательные поля | любое | Пропустить строку, записать в журнал |
| Дата файла | старше срока обновления | Не загружать, сообщить ответственному |
Готовое решение, 1С или свой парсер
Для 1С есть множество внешних обработок, которые читают прайсы Excel, CSV и YML, в том числе из почты и по ссылкам: они описаны на Infostart. Если вся номенклатура у вас уже в 1С, это разумный путь. Подробнее о передаче данных на сайт — интеграция сайта и CRM с 1С. Если же каталог живёт на сайте, а поставщиков много и форматы разные, проще написать парсер-слой, который выдаёт единый формат, и подключить его к каталогу.
Что должен уметь парсер, чтобы его не пришлось выбросить
- Работать по расписанию и по кнопке, с журналом: что загрузилось, что нет и почему.
- Показывать различия до применения изменений, а не только после.
- Уведомлять ответственного об ошибках в Telegram или почте.
- Хранить исходные файлы, чтобы можно было откатить загрузку.
- Не требовать правки кода при добавлении нового поставщика: настройки колонок — в интерфейсе.
Пример: как выглядит одна строка прайса на пути к сайту
Это учебный пример. Поставщик прислал строку: артикул «AB-100/5», цена закупки 1 200, остаток «>10». Парсер убирает дефис и слэш, находит товар в каталоге по нормализованному артикулу, превращает «>10» в число 10 (правило для знака «больше»), применяет наценку 25 % и округляет до десятков: цена на сайте 1 500 ₽. Если на сайте такого товара нет, строка уходит в список на проверку, а не создаёт карточку. Такие правила нужно записать заранее, иначе каждый менеджер будет объяснять их по-своему.
Отдельно решите, что делать с позициями, которых в новом прайсе нет. Удалять их нельзя: поставщик мог просто убрать товар на один день. Безопаснее ставить остаток в ноль и снимать с продажи только после нескольких подряд пропусков.
Нужен парсер прайсов под ваш каталог — обсудим в рамках автоматизации процессов. Если задача шире и данные нужно собирать со страниц сайтов, начните со статьи о парсерах на заказ.
Вопросы и ответы
Что такое прайс-парсер?
Это программа, которая забирает прайс-листы поставщиков, разбирает их и обновляет цены и остатки в вашем каталоге по расписанию. Она заменяет ручное копирование из Excel.
Как сопоставить товары поставщика с моим каталогом?
По штрихкоду или артикулу производителя с нормализацией написания. Позиции без пары лучше отправлять на ручную проверку, а не создавать автоматически.
Как часто обновлять цены и остатки?
Столько раз, сколько поставщик обновляет прайс. Для остатков это часто раз в сутки или чаще, для цен — после каждого нового файла.
Что делать, если поставщик прислал неверный прайс?
Нужны проверки до загрузки: резкое изменение цен, обнулённые остатки, падение числа строк. При срабатывании загрузка останавливается, а ответственному приходит уведомление.
Можно ли обойтись без 1С?
Да. Парсер может загружать данные прямо в каталог сайта. Если учёт уже в 1С, удобнее обновлять номенклатуру там и передавать на сайт обменом.
Читайте также
Парсер сайтов на заказ: сколько стоит и как поставить задачу
БизнесАвтоматизация закупок: от заявки до оплаты поставщику
БизнесМониторинг цен конкурентов: Excel, сервис или свой парсер
БизнесПрайс-листы, акции и ретробонусы дистрибьютора: как вести в системе
БизнесАвтозаказ поставщикам и прогноз спроса в дистрибуции
БезопасностьПоставщик прислал новые реквизиты: как подтвердить изменение