Импорт товаров поставщиков в интернет-магазин: цены, наличие и защита каталога
Перед регулярной загрузкой прайса нужно решить, как находить существующий товар, какие поля обновлять и что делать с исчезнувшей строкой. Иначе импорт может создать дубли, затереть свои описания или оставить в продаже недоступную позицию.
Разберём импорт CSV, Excel, XML и API: поставщиков, наценку, варианты, ошибки и восстановление. Скриншоты из документации WooCommerce показывают сопоставление CSV-колонок. Правила для вашего Битрикс- или Laravel-магазина нужно согласовать по исходным файлам.
Разделите первую загрузку и регулярное обновление
Первая загрузка создаёт карточки, характеристики, изображения и связи с категориями. Регулярный обмен чаще меняет ограниченный набор полей: цену, доступное количество и срок поставки. Если при каждом обновлении заново создавать весь товар, магазин потеряет ручную редактуру, историю и устойчивые адреса страниц.
Для каждого поля укажите источник. Поставщик отвечает за закупочную цену и свой остаток, контент-менеджер — за описание и фотографии магазина, ваша команда — за категорию и правила публикации. Если источник меняется, это отдельное решение с проверкой последствий. Простая галочка «перезаписывать всё» скрывает слишком много различных операций.
Запросите два файла одного поставщика за разные даты. Один образец показывает формат, но не демонстрирует изменения. На паре выгрузок можно проверить переименование, исчезновение товара, новый вариант, изменение цены и повторную загрузку того же файла.
Какие материалы нужны для оценки
Передайте подрядчику исходные файлы без ручного исправления, описание доступа и расписания обновлений, структуру каталога магазина и примеры сложных товаров. Укажите объём строк, число поставщиков, формат картинок, валюты и единицы измерения. Личные данные и секреты доступа в публичную переписку не помещают.
Важнее одного общего числа товаров оказывается изменчивость формата. Если поставщик каждую неделю переименовывает столбцы или меняет ссылку на файл, нужна обработка этой ситуации и ответственный за контакт с ним. Нельзя оценить поддержку такого источника как разовую загрузку неизменного шаблона.
| Материал | Что выясняется | Результат подготовки |
|---|---|---|
| Два последовательных прайса | Как выглядят изменения | Набор сценариев обновления |
| Карточки магазина | Какие поля уже заполнены | Список защищённой ручной редактуры |
| Справочник категорий | Куда распределять товар | Согласованная таблица соответствий |
| Правила цены | Наценка, округление, ограничения | Воспроизводимый расчёт |
| График источника | Когда данные считаются свежими | Расписание и реакция на задержку |
Как выбрать идентификатор и не потерять модификации
Внутренний код поставщика должен храниться вместе с указанием самого поставщика. Код 125 у двух разных компаний не обязан обозначать один товар. Название использовать как постоянный ключ рискованно: после переименования появится дубль. Артикул производителя и штрихкод проверяют на уникальность и полноту, прежде чем использовать для объединения.
Разделите карточку товара, его модификацию и предложение поставщика. Одна модель кроссовок имеет размеры и цвета; один и тот же размер может поставляться двумя компаниями по разным ценам. Если свести эти уровни в одну строку без связей, будет трудно правильно обновлять наличие и сохранять единый адрес модели.
В спорных совпадениях оставляйте очередь на проверку. Автоматическое объединение по похожему названию особенно опасно для совместимости и комплектации. Менеджер должен понимать, почему система сочла две строки одним товаром, и уметь отменить ошибочное соответствие.
Что показывает сопоставление колонок в реальном импортере

В официальном примере WooCommerce столбцы файла связываются с полями товара: названием характеристики, значениями и настройками её использования. Этот экран помогает увидеть границу задачи. Колонка «Размер» ещё не говорит, создаёт ли она отдельную модификацию, текстовое свойство или вариант общего справочника.
В задании на импорт перечислите преобразования: «красн.» превращается в «Красный», сантиметры — в согласованную единицу, категория поставщика — в категорию магазина. Для неизвестного значения задайте действие: пропустить поле, остановить публикацию строки или передать её на проверку. Молчаливая подстановка значения по умолчанию часто создаёт правдоподобную, но неверную карточку.
Отдельно проверьте ведущие нули, десятичные разделители, переносы строк, кодировку и разделители CSV. Табличный редактор может изменить код товара при открытии. Сравнивать нужно сохранённый исходный файл, результат разбора и опубликованный объект, а не только то, что видно в Excel.
Наценка и выбор поставщика должны объясняться
Пример учебного правила: закупочная цена 2 400 ₽, наценка 25%, доставка поставщика 150 ₽ на единицу. Если доставка добавляется после наценки, цена равна 2 400 × 1,25 + 150 = 3 150 ₽. Если сначала включить доставку в базу наценки, получится 3 187,50 ₽. Оба расчёта технически выполнимы, но смысл у них разный. В задании фиксируют порядок и округление.
Наценка 25% не означает маржу 25%. В первом варианте даже разница между продажей и закупкой не равна чистой прибыли: остаются комиссии, налоги и другие расходы. Импорт должен выполнять утверждённое правило цены, а экономическую модель подтверждает ответственное лицо магазина.
При выборе поставщика учитывайте наличие, минимальную партию, срок и склад. Сохраняйте источник цены, курс и применённое правило. По ним менеджер сможет объяснить итог и найти ошибку.
Отсутствующий товар и пустое поле требуют разных действий
Строка исчезла из полного прайса, поставщик прислал только изменения или файл оборвался на половине — внешне это может выглядеть одинаково. Прежде чем скрывать товары, нужно знать тип выгрузки и проверить её полноту. Пустой файл не должен автоматически обнулить весь ассортимент, если источник просто временно сломан.
Согласуйте минимальные проверки: ожидаемая структура, обязательные поля, дата, разумные изменения объёма и количество ошибок. Сильное отклонение отправляет пакет на проверку. Конкретные пороги выбирают по истории источника: универсальное число допустимых строк или процентов не подходит всем поставщикам.
Пустое описание может означать «не менять», а нулевой остаток — «нет в наличии». Пустая цена не должна становиться бесплатным товаром. Для каждого такого случая нужна явная трактовка. Снятый с продажи товар обычно сохраняют в истории и обрабатывают по правилам каталога, а не безусловно удаляют вместе с адресом страницы.
Два прайса одного поставщика: что должно измениться
Для учебной проверки возьмём полный прайс поставщика A. В первом файле есть коды 00125 и 00126. Во втором у 00125 изменилась цена, 00126 отсутствует, а 00127 появился впервые. В магазине для 00125 уже написано своё описание. До запуска договоритесь о результате каждой строки; для выгрузки только изменений правила отсутствия строки будут другими.
| Ситуация | Ожидаемая обработка | Что проверить повтором |
|---|---|---|
| A / 00125: новая цена | Обновить цену по правилу, сохранить ручное описание и URL | Повтор того же файла не создаёт вторую карточку |
| A / 00126: исчез из полного прайса | Применить согласованное правило доступности после проверки полноты пакета | Товар не удаляется вместе с историей заказов |
| A / 00127: новая строка | Создать черновик или опубликовать после обязательных проверок | Все требуемые характеристики и связи заполнены |
| B / 00125: такой же код другого поставщика | Обработать отдельное предложение; объединение товара требует подтверждения | Поставщик B не перезаписал предложение A |
| Файл A пуст или обрезан | Остановить опасные массовые изменения и сообщить ответственному | Каталог остаётся в последнем согласованном состоянии |
После обработки сравните строки исходного файла с карточками, поиском и корзиной. Проверьте отдельно ID, сохранение своего описания и действие для исчезнувшего кода. Затем оформите тестовый заказ с обновлённой позицией.
Проверка перед записью и повторный запуск

В штатной форме WooCommerce отдельно выбирается обновление существующих товаров. Возможности и точные правила зависят от версии, поэтому переносить поведение этого инструмента на другую CMS нельзя. Полезен сам принцип: создание новых объектов и обновление уже известных — разные режимы с разными рисками.
Для собственного импорта запросите предварительный отчёт: сколько товаров появится, изменится, будет скрыто и не пройдёт проверку. Покажите несколько конкретных изменений до записи. Большой каталог удобнее сначала обработать в промежуточном состоянии, проверить и затем публиковать согласованную версию.
Повтор того же пакета не должен создавать дубли, заново скачивать все одинаковые изображения или бесконечно менять дату карточки. При обрыве посредине система должна понимать, что уже завершено. Если импорт выполняется частями, нужно описать, увидит ли покупатель смешанные данные из старого и нового пакета.
Картинки, описания и поисковые страницы
Права на использование фотографий и текстов нужно выяснить у поставщика. Техническая доступность ссылки не означает, что материалы можно свободно публиковать. Для согласованных изображений проверьте доступ без авторизации, качество, соответствие варианту товара и порядок галереи. Ошибка загрузки картинки должна попадать в отчёт.
Ручные описания, SEO-поля и выбранная главная фотография требуют защиты от обычного обновления цены. Если поставщик прислал лучшее изображение, решение о замене может быть отдельной операцией. Не стоит автоматически менять URL товара вслед за каждым переименованием строки в прайсе.
Определите условия публикации импортированного товара: выбранный вариант, цена или способ её уточнения, наличие и основные свойства. Неполные строки отправляйте на исправление, чтобы загрузка прайса не создавала пустые карточки.
После обновления каталога проверьте поиск по артикулу и характеристикам. Импорт может завершиться раньше обновления поисковой копии: важно знать, когда новая позиция действительно начинает находиться и старая цена исчезает из выдачи.
Как проверить нагрузку, ошибки и восстановление
Проверяйте полный объём на копии магазина, включая изображения и параллельную работу каталога. Время разбора файла не равно времени завершения импорта. Отдельно измеряются получение источника, обработка, запись, обновление поиска и момент, когда новые данные действительно увидит покупатель.
В отчёте менеджеру покажите строку, причину ошибки и способ исправить сопоставление. Разработчику сохраните технический журнал с ограниченным доступом. Для пропущенного обновления назначьте ответственного и контролируйте дату исходного файла.
Для отката сохраните исходный пакет, правила преобразования и изменённые поля. Если за время импорта появились заказы, восстановление всей старой базы может их удалить. План восстановления должен возвращать ошибочные изменения каталога и сохранять новые торговые операции.
Как заказать разработку импорта и принять результат
Скачать таблицу приёмки импорта товаров поставщиков. Используйте её для проверки идентификаторов, наценки, исчезнувших строк, изображений, повторов и отчёта. В качестве доказательства сохраняйте исходный файл и несколько карточек до и после обработки.
Начните с одного поставщика и сложных позиций, затем повторите обновление. В смете разделите справочники, обработчик, цены, публикацию и сопровождение. Следующий источник оценивайте по отличиям формата и правил.
Для оценки в CAPS подготовьте адрес магазина, два последовательных прайса и описание проблемного обновления. Проверим, хватит ли настройки модуля или нужен отдельный обработчик и управление несколькими поставщиками.
Источники и примеры интерфейсов
- WooCommerce: штатный CSV-импорт, сопоставление колонок и обновление товаров. Официальные экраны, проверено 25 октября 2026. Правила конкретной версии не приписываются другим CMS.
- Shopify: проверка CSV и перезапись полей. Ещё один пример того, почему поведение обновления необходимо читать для выбранного инструмента.
- Как спроектировать админку Laravel-магазина — для процесса проверки и ручного исправления данных. Расчёты статьи учебные, результаты внедрения и рост продаж не заявляются.