- Опубликовано: 12 сен 2026
- 9
Прайс поставщика на сайте: как загрузить и ничего не потерять
Часть 2 из 5 · Серия «Каталог без ручного труда»
Задача звучит просто: есть файл от поставщика, нужно, чтобы товары появились на сайте. Раз в неделю, а лучше каждый день.
Разочарование наступает на первом же файле. В нём двенадцать колонок, три из которых называются «Цена», товары идут вперемешку с заголовками разделов, артикулы у половины позиций пустые, а фотографии — отдельным архивом на файлообменнике, где имена файлов не совпадают ни с чем.
Это нормальный прайс. Они почти все такие, и вот почему.
Почему «выгрузить как есть» не работает
Прайс поставщика сделан для снабженца, а не для покупателя. Его задача — чтобы человек, который разбирается в товаре, нашёл нужную позицию и понял, почём она сегодня.
Отсюда всё, что в нём есть и чего в нём нет:
- названия для своих: «Кран шар. 1/2 ВВ руч. баб.» — снабженец прочитает, покупатель нет;
- никаких описаний — зачем, если и так понятно;
- цены закупочные, часто несколькими колонками под разные объёмы;
- характеристики внутри названия, а не отдельными полями;
- разделы строками посреди таблицы, а не отдельной колонкой;
- фотографий нет или они где-то ещё.
Каталог для покупателя устроен наоборот: понятное название, описание, картинка, характеристики отдельными полями, чтобы по ним работали фильтры.
Между этими двумя мирами и находится вся работа. Загрузка каталога — это не перенос файла, а преобразование. Понимание этого экономит месяц взаимных разочарований с подрядчиком.
Какие колонки нужны
Минимум, без которого каталог не соберётся:
| Колонка | Зачем |
|---|---|
| Артикул | уникальный ключ; по нему товар опознаётся при следующих загрузках |
| Название | то, что увидит покупатель |
| Цена | закупочная или уже розничная — надо договориться |
| Остаток | количество или хотя бы «есть / нет» |
| Раздел | куда положить товар в каталоге |
Желательно, но не обязательно: единица измерения, бренд, характеристики отдельными колонками, ссылка на фотографию, штрихкод, вес и габариты для расчёта доставки.
Артикул — единственная по-настоящему критичная колонка. Он связывает строку в файле с карточкой на сайте. Есть артикул — вторая загрузка обновит существующий товар. Нет артикула — система будет опознавать товар по названию, и любая правка названия у поставщика создаст дубль вместо обновления.
Если артикулов нет вообще, их придётся присвоить самим и вести своё соответствие. Это разовая работа, но её надо сделать до первой загрузки, а не после третьей.
Фотографии
Самая трудоёмкая часть, и её всегда недооценивают.
Варианты, в порядке убывания удобства:
Ссылки в файле. Идеально: колонка с адресом изображения, система скачивает сама. Проверьте, что ссылки открываются без авторизации.
Архив с именами по артикулу. Тоже рабочий вариант: А-1234.jpg кладётся к
товару А-1234. Требует, чтобы поставщик так именовал файлы, а он редко так
делает.
Архив с произвольными именами. Здесь начинается ручная работа. Если позиций несколько сотен, это реально. Если несколько тысяч — это отдельный проект, и дешевле бывает обойтись без фотографий у части ассортимента, чем сопоставлять всё.
Фотографий нет. Каталог без картинок продаёт заметно хуже, но работает. Разумная стратегия — снять или найти фото для ходовых позиций, а остальные оставить с заглушкой.
Отдельно: проверьте права на изображения. Фотографии из прайса поставщика обычно можно использовать, но лучше спросить прямо, чем выяснять потом.
Наценка и цены
Если в файле закупочные цены, нужно правило пересчёта. Обычно оно не одно.
- общий процент — простой случай, работает для однородного ассортимента;
- разные проценты по разделам — самый частый вариант: на расходники одна наценка, на оборудование другая;
- фиксированная наценка для дешёвых позиций, где процент даёт копейки;
- округление — до рубля, до десяти, до «красивых» окончаний;
- ручные исключения — позиции, где цена задана вручную и пересчёт их не трогает.
Последний пункт важнее, чем кажется. Без него маркетолог поставит акционную цену, а ночная загрузка её сотрёт — и никто не поймёт, почему акция не сработала.
И одна проверка, которую стоит заложить сразу: цена ниже закупочной не должна попадать на сайт. Ошибка в колонке или сдвиг на строку — и вы продаёте с убытком, пока кто-нибудь не заметит.
Товары, пропавшие из прайса
Позиция была, в новом файле её нет. Что делать — это решение, а не техника.
Удалить. Почти никогда не стоит. Вместе с карточкой уходят накопленные позиции в поиске, ссылки на неё и история просмотров. А поставщик может вернуть товар через месяц.
Показать как «нет в наличии». Хороший вариант для товаров, которые регулярно то есть, то нет. Карточка остаётся, покупатель видит честно.
Скрыть. Товар исчезает из каталога, но карточка сохраняется и вернётся, если позиция появится в файле снова.
Разумное умолчание — скрывать, а не удалять, с отчётом о том, что скрылось. Отчёт нужен: если однажды из каталога пропадёт треть товаров, вы захотите узнать об этом сразу, а не от клиента.
Несколько поставщиков на один товар
Здесь начинается самая недооценённая по трудозатратам задача.
Один и тот же товар приходит от трёх поставщиков. Артикулы у всех разные, названия — тоже: «Кран шаровой 1/2», «Кран шар. 1/2 ВВ», «Шаровый кран Ду15». Для покупателя это одна карточка. Для системы — три разных товара.
Что с этим делают:
Сопоставление один раз, автоматика дальше. Ключевой принцип. Первый раз товары сводятся вручную — по штрихкоду, если он есть, по артикулу производителя, если он общий, в остальных случаях глазами. Дальше система помнит соответствие и обновляет автоматически.
Штрихкод — лучший ключ, если он есть у всех. Артикул производителя — второй по надёжности. Название — худший, но иногда единственный.
Кто главный по цене и остатку. Когда товар есть у троих, надо решить: показывать минимальную цену, цену приоритетного поставщика или свою. И остаток — суммарный или только по основному.
Реалистичное ожидание: первичное сопоставление нескольких тысяч позиций — это недели работы человека, а не задача для скрипта. Скрипт закрывает процентов семьдесят, остальное разбирают руками. Планировать надо исходя из этого.
Первая загрузка отличается от остальных
Об этом почти не думают, а стоит.
Первая — самая тяжёлая: заводятся все товары, скачиваются все фотографии, строятся все разделы. Она может идти часами и её лучше делать не в рабочее время.
Регулярные — обновляют изменившееся: цены, остатки, новые позиции. Идут быстро, потому что фотографии уже на месте.
Отсюда практическое следствие: не судите о скорости обмена по первой загрузке и не пугайтесь, если она шла всю ночь.
Частые вопросы
Поставщик присылает прайс в Excel. Это подойдёт?
Да, это самый частый случай. Важнее не формат, а стабильность: колонки должны называться одинаково от файла к файлу. Если поставщик каждый раз меняет структуру, загрузку придётся править под каждый файл — и вот это уже проблема, которую решают разговором с поставщиком, а не программированием.
Можно ли грузить прайс автоматически, без участия человека?
Можно, если файл приходит предсказуемо — на почту или по ссылке. Но полностью без надзора нельзя: нужны проверки и отчёт. Про это — четвёртая часть.
У нас 5 000 позиций и нет артикулов. Что делать?
Присваивать свои и вести соответствие. Это разовая работа, и она окупается на второй же загрузке. Альтернатива — опознавание по названию — обернётся дублями, и разбирать их будет дороже.
Нужно ли переписывать названия товаров вручную?
Ходовые — да, они продают. Весь ассортимент из пяти тысяч позиций — нереально. Рабочая стратегия: автоматическая чистка названий по правилам (убрать сокращения, привести регистр), плюс ручная доработка топовых позиций.
Можно ли обойтись без загрузки и вести каталог руками?
Если позиций пара сотен и они меняются редко — вполне. Автоматизация начинает окупаться, когда обновлять приходится часто или позиций становится больше тысячи.
Что дальше
Допустим, товары на сайте. Дальше выясняется, что фильтр по цвету не работает, потому что цвет записан в названии; что один товар в трёх размерах превратился в три карточки; а характеристики лежат текстом, и отобрать по ним ничего нельзя.
Это уже не про загрузку, а про структуру каталога — и чинить её потом дороже, чем заложить сразу. В следующей части разберём, чем товар отличается от варианта, а характеристика от свойства, и почему из-за путаницы между ними каталог перестаёт фильтроваться.
Разобрать прайсы поставщиков, свести номенклатуру и настроить регулярную загрузку — покажите, что есть, скажем, сколько там работы.
- 1 Обмен 1С с сайтом: что на самом деле синхронизируется
- 2 Прайс поставщика на сайте: как загрузить и ничего не потерять вы здесь
- 3 Товары, варианты и характеристики: почему каталог потом не фильтруется скоро
- 4 Цены и остатки обновляются сами: как устроено и что ломается скоро
- 5 Покупатель не находит товар: фильтры и поиск по каталогу скоро
Была статья полезной: