Публикация

Прайсы поставщиков из почты в единую базу: цены, остатки и актуальность

Как собрать Excel-прайсы из почты в рабочую базу подбора: форматы поставщиков, валюты, остатки, расписание и Google Sheets. Практический пример на 54 тысячах строк.

Закупки 6 мин
От письма поставщика до проверенной базы

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

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

Путь прайса

От письма поставщика до проверенной базы

  1. 01Получить вложение
  2. 02Проверить формат
  3. 03Загрузить снимок
  4. 04Обновить рабочую таблицу
  • Дата письма и дата прайса сохраняются отдельно
  • Неизвестный формат ждёт разбора
  • Частота получения файла отличается от частоты импорта

Сначала определите, на какой вопрос отвечает база

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

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

Почтовый забор начинается с правил отбора

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

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

30 сентября автоматический проход обнаружил прайс Azerti в отдельной папке. Прайс ERC пришлось получить вручную: его письмо не соответствовало фильтру темы и адресата. Это важная граница процесса — договорённости о рассылке тоже входят в интеграцию.

Каждому формату нужен проверенный разбор

У поставщиков различаются листы Excel, заголовки, расположение артикула и правила обозначения наличия. Поэтому сначала проверяется несколько реальных файлов одного источника. Загрузчик должен явно знать, какие столбцы он читает и какую валюту использует.

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

Какие значения нельзя смешивать при загрузке
ПолеЧто сохранитьЧто проверить
ЦенаЧисло, валюту и условия ценыНе стал ли текстовый столбец числовым
АртикулИсходное значение и ключ сопоставленияНе потерялись ли ведущие нули
НаличиеСвободный остаток, резерв или транзитЧто означает диапазон вроде «<25»
ИсточникПоставщика, файл и дату прайсаЕсть ли более новая версия

Одинаковое название ещё не означает одинаковый товар

Точные артикулы и характеристики надёжнее похожих названий. Объединять можно только позиции, соответствие которых проверено. Комплект, отдельная деталь и товар другой модификации могут иметь почти одинаковое описание.

Утверждённые соответствия полезно хранить отдельно от исходных строк. Тогда изменение названия в очередном прайсе не разрушит связь, а закупщик сможет увидеть все предложения по одной модели. Спорные совпадения остаются отдельными строками до проверки.

Расписание — это несколько разных этапов

В рассмотренном проекте почта проверяется каждые 15 минут. Распознанные прайсы затем попадают в ежедневный импорт PostgreSQL, а рабочая Google-таблица обновляется следующим проходом своего расписания. Получение вложения и появление новых цен в таблице — разные события.

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

Что получилось в рабочем проекте

Проверка от 30 сентября 2026 года подтвердила снимок базы на 54 567 товарных строк. В рабочую Google-таблицу опубликовано 54 480 строк по 46 группам поставщиков и валют. Эти показатели относятся к двум представлениям данных; они не означают 54 тысячи уникальных товаров или 46 отдельных поставщиков.

В базе подтверждены актуальные файлы Azerti и ERC от 30 сентября. Для источников проверены количества прочитанных строк. Такой контроль полезнее сообщения «загрузка завершена»: он позволяет заметить, если вместо полного прайса пришёл пустой лист или файл с изменённой структурой.

Как принимать обновление

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

Количество строк само по себе не доказывает качество. Полезно отдельно проверить товар с несколькими складами, цену в другой валюте, отсутствующий артикул и обозначение транзита. Для точного заказа остаток в виде диапазона нужно уточнять у поставщика.

С чего начать внедрение

Для первого этапа достаточно двух поставщиков и одного примера итогового подбора. Сначала проверяем получение файлов, разбор полей и повторное обновление. Затем подключаем расписание и рабочую таблицу. Новые источники добавляются после проверки их формата.

Заказчику стоит заранее выбрать ответственного за спорные совпадения и изменения прайсов. База помогает найти предложение; окончательное подтверждение наличия, условий и срока поставки остаётся частью закупки.

Короткий чек-лист

  • Собрать реальные прайсы двух поставщиков
  • Зафиксировать валюты и смысл остатков
  • Согласовать правила почтового отбора
  • Проверить повторный импорт и изменённый формат
  • Показывать дату каждого источника
  • Выбрать контрольные товары для сверки

Ссылки и исходный код