Как объединить прайсы нескольких поставщиков в интернет-магазине: практический гайд

Опубликовано: воскресенье, 15 марта 2026 г., Alex Zimin, время чтения: 16 мин.

Введение

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

Объединение прайсов нескольких поставщиков — одна из самых частых и одновременно самых недооцененных задач в e-commerce. Владельцы интернет-магазинов попадают в бесконечный цикл ручной работы: скачать файл, открыть Excel, отфильтровать, подогнать колонки, найти дубли, проверить цены, загрузить на сайт и так по кругу.

Объединение прайс-листов поставщиков

В этом гайде мы разберем, почему объединение прайсов превращается в головную боль, какие задачи придется решить на пути к единому каталогу и почему рано или поздно Excel перестает быть рабочим инструментом. Разберемся, как автоматизация помогает забыть о ручной склейке таблиц и сосредоточиться на реальном росте бизнеса.

Если вы когда-нибудь тратили выходные на то, чтобы свести ваши прайс-листы в один — этот материал для вас.

Когда объединение прайсов становится проблемой

На первый взгляд задача сведения прайсов кажется простой: скачать несколько файлов от поставщиков и соединить их в один каталог для интернет-магазина. Но на практике даже с двумя-тремя поставщиками начинается хаос. Рассмотрим основные причины появления сложностей.

Разный формат данных. Один поставщик присылает Excel с колонками «Наименование», «Цена», «Остаток». Другой — CSV в кодировке Windows-1251 с полями «Артикул», «Розница», «Склад_1», «Склад_2». Третий передает прайс по ссылке на YML-файл. Привести это к единому виду вручную — уже нетривиальная задача.

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

Путаница с ценами и остатками. У поставщика А цена 2500 рублей, у поставщика Б — 2700, но у Б доставка быстрее. У одного остатки обновляются раз в день, у другого — раз в неделю, а третий присылает в колонке «остатки» вместо чисел набор звездочек и других обозначений (например, “***” или “много”). Всё это нужно как-то сводить, выбирать приоритеты и не продавать то, чего уже нет в наличии.

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

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


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

Какие задачи нужно решить при объединении прайсов

Когда мы говорим «объединить прайсы поставщиков», за этой формулировкой скрывается целый комплекс проблем. Просто скопировать строки из одного файла в другой недостаточно — нужно привести разрозненные данные к единой системе, в которой сможет работать интернет-магазин. Разберем ключевые задачи.

Нормализация структуры данных. У поставщика А прайс выглядит как таблица с колонками «Товар», «Цена», «Количество». У поставщика Б — выгрузка из 1С с полями «Артикул», «Наименование полное», «Наименование краткое», «Цена розничная», «Цена оптовая», «Склад Основной», «Склад Резерв». У поставщика В — вообще XML-файл. Первая задача — привести все эти форматы к единому шаблону, с которым умеет работать ваш интернет-магазин. Нужно отфильтровать лишние товары, переименовать колонки, объединить поля, пересчитать цену с учетом НДС или собственной скидки. Скорректировать остатки с учетом специфики передачи остатков каждого поставщика.

Идентификация товаров. Самый сложный блок. Один и тот же товар может называться у разных поставщиков по-разному. Например, iPhone 13 128GB Midnight у одного, Apple iPhone 13 (A2633) 128GB черный у другого, и «Смартфон Apple iPhone 13 128 ГБ черный» у третьего. Система должна понять, что это одна позиция, и не создать в каталоге три дубля одного товара. Для этого нужны алгоритмы сопоставления: по артикулу производителя, по штрихкоду (EAN) или по названию с использованием нечеткого поиска.

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

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

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

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

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

Почему Excel и ручные методы плохо масштабируются

Когда у вас немного поставщиков и пара сотен товаров - можно использовать Excel для сведения вашего каталога товаров. Вы открываете файлы, копируете строки, подгоняете колонки руками, проверяете глазами дубли — на это уходит пара часов, и каталог готов. В то же время, по мере роста бизнеса, масштабирование быстро упирается в ручной труд.

Время обработки растет линейно, а сложность — экспоненциально. С тремя поставщиками вы тратите 3–4 часа в неделю. С десятью — уже не 10 часов, а все 20, потому что нужно не просто скопировать файлы, а разобраться в десяти разных форматах, запомнить особенности каждого поставщика и не запутаться, где чья валюта, наценка и условия. Чем больше источников, тем выше когнитивная нагрузка на человека.

Человеческая усталость и ошибки. В понедельник утром вы еще внимательны. В пятницу вечером, после обработки пятого прайса, глаза слипаются, и вы пропускаете строку с товаром, у которого изменилась цена. Или случайно заменяете остатки не в той колонке. Итог: покупатель заказывает товар по старой цене или оплачивает то, чего нет в наличии. Репутационные потери и возвраты денег — прямая плата за ручной труд.

Отсутствие версионирования и контроля. Вы обновили прайс, загрузили на сайт, а через день поставщик присылает исправленную версию — «там ошибка в ценах, вот правильный файл». Что делать? Снова все перепроверять? А если вы уже успели продать несколько единиц по неверной цене? В Excel нет системы отслеживания изменений, всё держится на памяти и ответственности конкретного человека.

Проблема дублей становится неуправляемой. Когда товаров 200, дубли можно найти глазами. Когда товаров 5000 от пяти поставщиков — уже сложно. Один и тот же товар может встретиться в прайсах трижды, но с разными названиями. Вручную отследить такие совпадения практически невозможно.

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

Зависимость от одного сотрудника. Часто навык работы с прайсами превращается в «знание, хранящееся в голове конкретного менеджера». Только он знает, что у поставщика ООО «Ромашка» в колонке «Цена опт» на самом деле розница. Если этот сотрудник уходит в отпуск или увольняется — бизнес встает, потому что разобраться в его таблицах и заметках постороннему человеку практически невозможно.

Excel не масштабируется на тысячи и десятки тысяч позиций. Файлы начинают тормозить, виснуть, вылетать. Сводные таблицы обрабатываются минутами. Поиск дублей по 20 тысячам строк может занять полчаса и нагрузить компьютер так, что работать параллельно становится невозможно. Еще одна проблема — крупные поставщики, такие как, например, Шате-М, Армтек, R-tech, Триовист. Количество товаров в некоторых прайсах составляет сотни тысяч, часто даже просто открытие такого файла может быть проблемой на обычном ноутбуке.


Итог прост: Excel — отличный инструмент для старта и для разовых задач. Но как только объединение прайсов становится регулярной операцией, а количество поставщиков переваливает за 3–5, ручные методы превращаются в тормоз для бизнеса. Вместо того чтобы заниматься развитием, маркетингом и продажами, вы тонете в таблицах. И это неизбежно подводит к необходимости выстраивать системную автоматизацию — о том, как она обычно устроена, поговорим в следующем разделе.

Как построить систему объединения прайсов

Когда бизнес перерастает Excel, перед владельцем встает вопрос: как выстроить системную работу с поставщиками? Крупные компании, у которых достаточно финансовых и человеческих ресурсов, могут собирать свою собственную систему из доступных инструментов. Рассмотрим типовую схему, которую пытаются выстроить большинство интернет-магазинов.

Базовый нормализованный каталог — фундамент системы. Прежде чем сводить прайсы поставщиков, у магазина должен быть эталонный каталог товаров. Это не просто список того, что есть в наличии, а структурированная база: у каждого товара есть уникальный идентификатор (артикул или SKU), название, описание, характеристики, штрихкоды, привязка к категориям. Именно к этому эталону в дальнейшем будут привязываться позиции из прайсов поставщиков. Если такого каталога нет, система не сможет понять, что «Кроссовки Nike белые» от поставщика А и «Nike Air Force 1 white» от поставщика Б — это один и тот же товар. Создание и поддержка эталонного каталога — отдельная большая работа, которая ложится на плечи магазина.

Скачивание исходных прайс-листов. Следующий вопрос — как скачать прайсы поставщиков. Кто-то продолжает отправлять файлы по почте, кто-то переносит всё в Google Диск, Dropbox или Яндекс Диск для удобства совместного доступа. Более продвинутые варианты — доступ к прайсу в личном онлайн-кабинете, загрузка прайсов по FTP или прямая интеграция через API. Еще один популярный вариант — передача актуального прайса по ссылке на фид в формате YML или в собственном формате. Модуль для скачивания прайс-листов из различных источников - это основа вашей будущей системы.

Нормализатор (парсер). Исходные файлы нужно привести к единому формату. Для этого обычно используют самописные скрипты на Python или PHP. Задача этого блока — взять файл, разобрать его структуру (определить, где название, цена, артикул, остатки), привести к единому стандарту и отдать на выходе уже нормализованные данные. На этом этапе необходимо также отфильтровать товары и выполнить корректировку цен, если требуется. Хороший нормализатор умеет работать с разными форматами: XLSX, XLS, CSV, XML, YML.

База сопоставлений (матчинг). Самый сложный блок системы. Здесь происходит идентификация товаров: сопоставление номенклатуры поставщика с эталонным каталогом магазина. Обычно строится с использованием транзакционной базы для хранения связей, поисковой базы и набора специализированных алгоритмов сопоставления. Варианты реализации поиска связей:

  • Жесткое сопоставление по артикулу поставщика или штрихкоду (если поставщик использует артикулы производителя)
  • Сопоставление по названию с использованием нечеткого поиска по наименованию
  • Комбинированный подход: система пытается найти совпадение автоматически, а для сомнительных случаев предлагает ручное сопоставление через интерфейс
  • Обучение на исторических данных: если вы уже сопоставляли товары раньше, система запоминает правила и применяет их к новым поставкам

База правил (бизнес-логика). После того, как товары сопоставлены с эталонным каталогом, нужно применить правила формирования итоговых цен и остатков. Кто приоритетный поставщик? Какую наценку ставить? Что делать, если товар есть у нескольких? Как округлять цены? Эти правила обычно хранятся отдельно и могут настраиваться под каждого поставщика или категорию товаров. В простых системах правила прописаны в коде, в более продвинутых — вынесены в административный интерфейс, где менеджер может менять их без программиста.

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

  • Обновлять цены и остатки у существующих товаров
  • Перевыбирать наилучшего поставщика для каждого товара
  • Отключать товары, которые пропали из всех прайсов (или помечать их как “под заказ”)

Система управления очередями (job-queue). Обработка больших прайсов может занимать время. Чтобы не вешать сайт, обновления обычно выносят в фоновые задачи на отдельный вычислительный сервер. Поставщик прислал файл — он встает в очередь, система обрабатывает его, когда есть свободные ресурсы. Это позволяет не блокировать работу интернет-магазина и не терять заказы во время обновления каталога.

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

Интерфейс для ручного контроля. Полная автоматизация без участия человека — это утопия. Всегда остаются пограничные случаи: новые товары, которые система не смогла сопоставить с эталонным каталогом, подозрительные изменения цен, ошибки в данных от поставщика. Поэтому в любой системе должен быть интерфейс, где менеджер может посмотреть “спорные” позиции, вручную сопоставить их с эталоном или скорректировать цену перед публикацией.

Цена вопроса: штат IT-специалистов. Важно понимать: описанная выше архитектура — это не готовое решение, которое можно купить и установить за час. В лучшем случае это набор разрозненных инструментов, которые нужно связать воедино. В худшем — всё придется писать с нуля под конкретный бизнес. Для создания и поддержки такой системы нужен как минимум один программист уровнем выше Middle+ или Senior, разбирающийся в парсинге данных, SQL-специалист для работы с базой сопоставлений, и системный администратор, который будет следить, чтобы сервер не упал в момент загрузки тяжелого прайса. А если в бизнесе много поставщиков и правила часто меняются — к этому добавляется еще и аналитик, который формализует эти правила для разработчиков. Содержать такой штат могут позволить себе далеко не все интернет-магазины, особенно на этапе роста.


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

Как это работает в ShopManager

В предыдущем разделе мы описали типовую архитектуру системы объединения прайсов и упомянули, что её создание требует серьёзных вложений в разработку и содержание штата IT-специалистов. ShopManager предлагает другой путь — готовое решение, в котором все описанные блоки уже реализованы, протестированы и работают «из коробки». Рассмотрим, как ключевые задачи решаются в системе.

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

Загрузка прайсов в любых форматах. ShopManager умеет принимать прайсы от поставщиков в том виде, в котором они их присылают — Excel, CSV, XML, YML, API. Менеджеру не нужно просить поставщика «переделать файл под наши требования» — система сама разбирается со структурой. Для каждого поставщика настраивается шаблон импорта один раз: указывается, в какой колонке у него название, цена, код товара, остаток и другие поля. Дальше все файлы от этого поставщика обрабатываются автоматически по этому шаблону.

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

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

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

Гибкие правила работы с поставщиками. В ShopManager можно настроить бизнес-логику под каждого поставщика или группу товаров:

  • Приоритет поставщиков: чьи цены показывать в первую очередь, если товар есть у нескольких
  • Автоматическая наценка или скидка: можно добавить 15% к цене поставщика А и округлить до рублей, а для поставщика Б применить скидку
  • Пересчет цен по актуальному курсу: настройте свой курс или используйте привязку к курсу нацбанка
  • Минимальный остаток: если у поставщика остаток меньше 3, не показывать товар как «в наличии»
  • Игнорирование отдельных позиций: например, не загружать служебные товары или те, у которых нулевая цена
  • Объединение прайс-листов в группы
  • Фильтрация товаров: по цене, наименованию, категориям

Все правила настраиваются через интерфейс, без программирования.

Автоматическое обновление каталога. Процессор обновлений в ShopManager работает в фоновом режиме. Поставщик обновил прайс — система скачивает его автоматически, и дальше всё происходит само по цепочке:

  • Товары сопоставляются с эталонным каталогом
  • Обновляются цены и остатки у существующих позиций
  • Отключаются товары, которые пропали из прайсов
  • Выбирается лучший поставщик для каждого товара
  • Фиксируется история изменений

Магазин при этом продолжает работать, покупатели оформляют заказы, никто не ждет, пока «загрузится Excel».

Как правило все ваши прайс-листы обновляются автоматически каждый час без вашего участия, даже если у вас сотни поставщиков!

Контроль ошибок и уведомления. ShopManager не просто обрабатывает прайсы, но и следит за качеством данных. Если в файле найдены ошибки (некорректная цена, отрицательные остатки, пропущенные обязательные поля, изменился порядок колонок), система помечает проблемные прайс-листы и отправляет уведомление ответственному менеджеру.

Интерфейс для ручной работы. Для ситуаций, где без человека не обойтись, в ShopManager предусмотрены удобные инструменты:

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

Никакого штата дорогих специалистов. Одно из главных преимуществ ShopManager — вы получаете готовую инфраструктуру без необходимости нанимать и содержать команду разработчиков. Вам не нужен программист для доработки парсеров, SQL-специалист для оптимизации запросов и системный администратор для круглосуточного мониторинга серверов. Всеми техническими вопросами занимаемся мы:

  • Наши специалисты постоянно отслеживают и оптимизируют скорость работы с большими прайсами
  • Прайсы крупных поставщиков на 100+ тысяч позиций система обрабатывает быстро и точно
  • Обновление прайсов происходит каждый час, актуальные остатки попадают в каталог максимально быстро
  • Следим, чтобы цены пересчитывались мгновенно, вне зависимости от количества товаров
  • Техническая поддержка работает как часы: если возникла проблема, вы не ищете «того парня, который это писал и уволился»

Нет завязки на конкретных сотрудников. В самописных системах знания часто хранятся в голове одного разработчика или менеджера, который не может сходить в отпуск или на больничный, не блокируя работу бизнеса. ShopManager устроен иначе — интерфейс интуитивно понятный каждому сотруднику, логика прозрачная. Нового менеджера можно обучить за пару дней: показать, как работать с прайсами, где настраивать правила наценки. Вы не зависите от «незаменимых людей» — система работает стабильно 24/7 независимо от того, кто именно сидит в кресле менеджера.


В итоге ShopManager закрывает все задачи по обновлению, нормализации, обработке и объединению прайс-листов, но без капитальных затрат на разработку и содержание IT-штаба. Вы оплачиваете подписку и получаете инструмент, который окупает себя за счет сэкономленного времени сотрудников и отсутствия ошибок в каталоге.

Дополнительным бонусом является то, что помимо обработки прайсов, мы поможем автоматизировать и другие ваши задачи — мониторинг цен конкурентов, выгрузку цен и остатков на все торговые площадки Беларуси. Работая с нами, вы получаете не просто подрядчика, а партнера-эксперта в сфере e-commerce, который заинтересован в росте вашего бизнеса.

 

👋 Оставайтесь на связи

Подпишитесь на новости от Shop Manager и мы сообщим о выходе новых статей либо пришлем интересную аналитику (не более 1 письма в месяц)

Свяжитесь с нами:

Перезвоните мне:

Отправка...

Сообщение отправлено, спасибо!