Закупщик ищет одну модель, а перед ним несколько писем, архивов и таблиц. В одном файле цена в тенге, в другом — в рублях. Остаток может означать свободный товар, резерв или поставку в пути. Простое объединение столбцов не даёт ответа, что можно заказать сейчас.
Единая база прайсов помогает сравнивать предложения, если сохраняет источник, дату и смысл каждого поля. Разберём путь от почтового вложения до рабочей таблицы и покажем, какие проверки нужны до автоматического обновления.
Путь прайса
От письма поставщика до проверенной базы
- 01Получить вложение
- 02Проверить формат
- 03Загрузить снимок
- 04Обновить рабочую таблицу
- Дата письма и дата прайса сохраняются отдельно
- Неизвестный формат ждёт разбора
- Частота получения файла отличается от частоты импорта
Сначала определите, на какой вопрос отвечает база
Начать стоит с конкретного запроса: найти модель, сравнить предложения и понять условия поставки. Для такого сценария нужны артикул, бренд, название, цена, валюта, доступность и дата источника. Если закупщику важны гарантия или кратность упаковки, эти поля тоже должны попадать в результат.
Отдельно решите, как сравниваются цены. Если источники используют разные валюты, показывайте исходную цену и валюту. Пересчёт допустим только по согласованному курсу с указанием его даты. Сравнение без этой оговорки может выбрать предложение, которое лишь выглядит дешевле.
Почтовый забор начинается с правил отбора
Автоматизация должна понимать, какие письма содержат нужные прайсы. В нашем рабочем процессе проверяется начало темы и точный адрес группы получателей. Письма ищутся не только во входящих, но и в пользовательских папках поставщиков: почтовое правило может переместить вложение ещё до запуска загрузчика.
Для каждой папки сохраняется отметка уже просмотренных писем. Повторный запуск продолжает обработку, а не скачивает всю историю заново. Оригинальные вложения сохраняются отдельно, чтобы можно было проверить, из какого файла получилась строка базы.
30 сентября автоматический проход обнаружил прайс Azerti в отдельной папке. Прайс ERC пришлось получить вручную: его письмо не соответствовало фильтру темы и адресата. Это важная граница процесса — договорённости о рассылке тоже входят в интеграцию.
Каждому формату нужен проверенный разбор
У поставщиков различаются листы Excel, заголовки, расположение артикула и правила обозначения наличия. Поэтому сначала проверяется несколько реальных файлов одного источника. Загрузчик должен явно знать, какие столбцы он читает и какую валюту использует.
Новое вложение неизвестного формата можно сохранить для разбора, но его цены не стоит сразу включать в подбор. Если поставщик поменял структуру, лучше показать ошибку обновления и дату прежнего снимка, чем подставить гарантию вместо цены.
| Поле | Что сохранить | Что проверить |
|---|---|---|
| Цена | Число, валюту и условия цены | Не стал ли текстовый столбец числовым |
| Артикул | Исходное значение и ключ сопоставления | Не потерялись ли ведущие нули |
| Наличие | Свободный остаток, резерв или транзит | Что означает диапазон вроде «<25» |
| Источник | Поставщика, файл и дату прайса | Есть ли более новая версия |
Одинаковое название ещё не означает одинаковый товар
Точные артикулы и характеристики надёжнее похожих названий. Объединять можно только позиции, соответствие которых проверено. Комплект, отдельная деталь и товар другой модификации могут иметь почти одинаковое описание.
Утверждённые соответствия полезно хранить отдельно от исходных строк. Тогда изменение названия в очередном прайсе не разрушит связь, а закупщик сможет увидеть все предложения по одной модели. Спорные совпадения остаются отдельными строками до проверки.
Расписание — это несколько разных этапов
В рассмотренном проекте почта проверяется каждые 15 минут. Распознанные прайсы затем попадают в ежедневный импорт PostgreSQL, а рабочая Google-таблица обновляется следующим проходом своего расписания. Получение вложения и появление новых цен в таблице — разные события.
Если бизнесу нужны цены чаще, это отдельное требование к импорту и публикации. При оценке нужно учитывать объём данных, ограничения источника и длительность обработки. Интервал почтового опроса нельзя выдавать за срок обновления всей базы.
Что получилось в рабочем проекте
Проверка от 30 сентября 2026 года подтвердила снимок базы на 54 567 товарных строк. В рабочую Google-таблицу опубликовано 54 480 строк по 46 группам поставщиков и валют. Эти показатели относятся к двум представлениям данных; они не означают 54 тысячи уникальных товаров или 46 отдельных поставщиков.
В базе подтверждены актуальные файлы Azerti и ERC от 30 сентября. Для источников проверены количества прочитанных строк. Такой контроль полезнее сообщения «загрузка завершена»: он позволяет заметить, если вместо полного прайса пришёл пустой лист или файл с изменённой структурой.
Как принимать обновление
У очередного снимка должны быть понятные контрольные признаки: дата источника, число строк, количество ошибок и несколько проверенных товаров. Перед заменой рабочей версии проверяются обязательные поля и итог загрузки. Сотрудник должен видеть, что обновилось, а что осталось на прежней дате.
Количество строк само по себе не доказывает качество. Полезно отдельно проверить товар с несколькими складами, цену в другой валюте, отсутствующий артикул и обозначение транзита. Для точного заказа остаток в виде диапазона нужно уточнять у поставщика.
С чего начать внедрение
Для первого этапа достаточно двух поставщиков и одного примера итогового подбора. Сначала проверяем получение файлов, разбор полей и повторное обновление. Затем подключаем расписание и рабочую таблицу. Новые источники добавляются после проверки их формата.
Заказчику стоит заранее выбрать ответственного за спорные совпадения и изменения прайсов. База помогает найти предложение; окончательное подтверждение наличия, условий и срока поставки остаётся частью закупки.
Короткий чек-лист
- Собрать реальные прайсы двух поставщиков
- Зафиксировать валюты и смысл остатков
- Согласовать правила почтового отбора
- Проверить повторный импорт и изменённый формат
- Показывать дату каждого источника
- Выбрать контрольные товары для сверки
Ссылки и исходный код
В материале раскрыты запросы: база прайсов поставщиков, прайсы из почты, сравнение цен поставщиков, Excel PostgreSQL Google Sheets.