Ой, ничего не найдено!

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

  • 9

Прайс поставщика на сайте: как загрузить и ничего не потерять

Часть 2 из 5 · Серия «Каталог без ручного труда»

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

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

Это нормальный прайс. Они почти все такие, и вот почему.

Почему «выгрузить как есть» не работает

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

Отсюда всё, что в нём есть и чего в нём нет:

  • названия для своих: «Кран шар. 1/2 ВВ руч. баб.» — снабженец прочитает, покупатель нет;
  • никаких описаний — зачем, если и так понятно;
  • цены закупочные, часто несколькими колонками под разные объёмы;
  • характеристики внутри названия, а не отдельными полями;
  • разделы строками посреди таблицы, а не отдельной колонкой;
  • фотографий нет или они где-то ещё.
Переделка сайта
Старый сайт мешает развивать бизнес?
Разбираемся в устаревших CMS, самописных сайтах и сложных магазинах: переносим данные и логику на Laravel и превращаем сайт в рабочий инструмент.
Обсудить проект

Каталог для покупателя устроен наоборот: понятное название, описание, картинка, характеристики отдельными полями, чтобы по ним работали фильтры.

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

Какие колонки нужны

Минимум, без которого каталог не соберётся:

Колонка Зачем
Артикул уникальный ключ; по нему товар опознаётся при следующих загрузках
Название то, что увидит покупатель
Цена закупочная или уже розничная — надо договориться
Остаток количество или хотя бы «есть / нет»
Раздел куда положить товар в каталоге

Желательно, но не обязательно: единица измерения, бренд, характеристики отдельными колонками, ссылка на фотографию, штрихкод, вес и габариты для расчёта доставки.

Артикул — единственная по-настоящему критичная колонка. Он связывает строку в файле с карточкой на сайте. Есть артикул — вторая загрузка обновит существующий товар. Нет артикула — система будет опознавать товар по названию, и любая правка названия у поставщика создаст дубль вместо обновления.

Если артикулов нет вообще, их придётся присвоить самим и вести своё соответствие. Это разовая работа, но её надо сделать до первой загрузки, а не после третьей.

Старт без ТЗ
Не знаете, как поставить задачу на переделку сайта?
Начать можно без готового ТЗ: покажите текущий сайт, мы разберёмся в бизнес-процессе и предложим понятный план переработки. Стоимость считается после знакомства с задачами.
Рассказать о проекте

Фотографии

Самая трудоёмкая часть, и её всегда недооценивают.

Варианты, в порядке убывания удобства:

Ссылки в файле. Идеально: колонка с адресом изображения, система скачивает сама. Проверьте, что ссылки открываются без авторизации.

Архив с именами по артикулу. Тоже рабочий вариант: А-1234.jpg кладётся к товару А-1234. Требует, чтобы поставщик так именовал файлы, а он редко так делает.

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

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

Удобная админка
Менеджеры боятся заходить в админку?
Собираем админку под реальные задачи: понятные разделы, массовые операции, права доступа. Рутинные правки делает менеджер, а не подрядчик.
Показать текущий сайт

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

Наценка и цены

Если в файле закупочные цены, нужно правило пересчёта. Обычно оно не одно.

  • общий процент — простой случай, работает для однородного ассортимента;
  • разные проценты по разделам — самый частый вариант: на расходники одна наценка, на оборудование другая;
  • фиксированная наценка для дешёвых позиций, где процент даёт копейки;
  • округление — до рубля, до десяти, до «красивых» окончаний;
  • ручные исключения — позиции, где цена задана вручную и пересчёт их не трогает.

Последний пункт важнее, чем кажется. Без него маркетолог поставит акционную цену, а ночная загрузка её сотрёт — и никто не поймёт, почему акция не сработала.

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

Товары, пропавшие из прайса

Позиция была, в новом файле её нет. Что делать — это решение, а не техника.

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

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

Показать как «нет в наличии». Хороший вариант для товаров, которые регулярно то есть, то нет. Карточка остаётся, покупатель видит честно.

Скрыть. Товар исчезает из каталога, но карточка сохраняется и вернётся, если позиция появится в файле снова.

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

Несколько поставщиков на один товар

Здесь начинается самая недооценённая по трудозатратам задача.

Один и тот же товар приходит от трёх поставщиков. Артикулы у всех разные, названия — тоже: «Кран шаровой 1/2», «Кран шар. 1/2 ВВ», «Шаровый кран Ду15». Для покупателя это одна карточка. Для системы — три разных товара.

Что с этим делают:

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

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

Штрихкод — лучший ключ, если он есть у всех. Артикул производителя — второй по надёжности. Название — худший, но иногда единственный.

Кто главный по цене и остатку. Когда товар есть у троих, надо решить: показывать минимальную цену, цену приоритетного поставщика или свою. И остаток — суммарный или только по основному.

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

Первая загрузка отличается от остальных

Об этом почти не думают, а стоит.

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

Старт без ТЗ
Нет ТЗ и непонятно, с чего начать?
Начать можно без готового ТЗ: покажите текущий сайт, мы разберёмся в бизнес-процессе и предложим понятный план переработки. Стоимость считается после знакомства с задачами.
Рассказать о проекте

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

Отсюда практическое следствие: не судите о скорости обмена по первой загрузке и не пугайтесь, если она шла всю ночь.

Частые вопросы

Поставщик присылает прайс в Excel. Это подойдёт?

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

Можно ли грузить прайс автоматически, без участия человека?

Можно, если файл приходит предсказуемо — на почту или по ссылке. Но полностью без надзора нельзя: нужны проверки и отчёт. Про это — четвёртая часть.

У нас 5 000 позиций и нет артикулов. Что делать?

Присваивать свои и вести соответствие. Это разовая работа, и она окупается на второй же загрузке. Альтернатива — опознавание по названию — обернётся дублями, и разбирать их будет дороже.

Нужно ли переписывать названия товаров вручную?

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

Каталог и импорт
Товары, цены и остатки правятся вручную?
Импорт из прайсов поставщиков, автообновление цен и остатков, фиды для маркетплейсов — каталог обновляется сам, а менеджер занимается продажами.
Разобрать задачу

Можно ли обойтись без загрузки и вести каталог руками?

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

Что дальше

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

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


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

Хостинг Siteko

Разработка на Laravel

Сайт мешает работать?

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

  • Можно без ТЗ покажите текущий сайт — план работ соберём вместе.
  • Старые CMS и самописные перенос данных и логики на современную основу.
  • Не исчезаем после запуска поддержка, доработки и развитие проекта.
Обсудить проект