Перший імпорт пройшов, товари на місці. За тиждень постачальник оновив прайс, ви запускаєте імпорт ще раз — і в каталозі два однакові чайники. Або дублів немає, але назва, яку ви переписали під пошук, знову стала «ЧАЙНИК ЕЛ. 1,7Л БІЛ.». Обидві біди — від одного: імпорт не знає, яку картку вважати «тією самою», і не знає, які поля ваші.
Як імпорт упізнає товар
У кожного рядка прайсу має бути ключ, за яким його знаходять у магазині. Є три поширені варіанти:
- код постачальника, записаний в артикул або окреме поле товару. Найнадійніший, якщо постачальник його не змінює;
- код виробника або штрихкод. Зручний, коли постачальників кілька, але є не в усіх товарів і буває заповнений з помилками;
- назва. Найгірше: постачальник виправив друкарську помилку чи дописав колір — і це вже «новий» товар.
Якщо постачальників кілька, до коду додають префікс постачальника: код «1042» може опинитися у двох, а «sup1-1042» і «sup2-1042» уже не переплутати.
Звідки беруться дублі
- Ключа немає або він нестабільний. Постачальник перенумерував каталог, змінив систему кодів, вивантажує порядковий номер рядка замість коду.
- Імпорт налаштовано «завжди створювати». Штатні імпортери часто розрізняють «створити» й «оновити» — перевірте, який режим увімкнено і за яким полем він шукає збіг.
- Каталог уже заповнювали руками. У товарів, заведених до імпорту, немає коду постачальника, і імпорт їх не впізнає.
- Змінили префікс або поле, в яке пишеться код. Старі товари перестають знаходитися, поруч з’являються нові.
- Варіанти. Один постачальник дає футболку п’ятьма рядками за розмірами, а в магазині це один товар із вибором розміру. Якщо імпорт цього не знає, отримаєте п’ять карток.
Які поля перезаписувати
Зручно ділити поля картки на два види:
| Поле | Зазвичай чиє | Під час оновлення |
|---|---|---|
| Ціна | Постачальника + ваші правила | Перераховується щоразу |
| Наявність | Постачальника | Оновлюється щоразу |
| Назва | Часто ваша після правки | Захищати, якщо правили |
| Опис | Часто ваш | Захищати, якщо переписували |
| Фотографії | Залежить від магазину | Захищати, якщо замінили на свої |
| Категорія | Ваша | Не чіпати, якщо переносили товар руками |
Правило просте: те, що змінюється в постачальника щодня, оновлюється; те, у що ви вклали роботу, захищається. Добре, якщо захист можна задати не лише для всього постачальника, а й для категорії чи одного товару.
Окремий випадок — ціна, про яку ви домовилися окремо. Її не захищають від оновлення, а задають як виняток із правил націнки. Як влаштовані правила ціни — у статті Як рахується ціна товару.
Що робити з товарами, яких більше немає в прайсі
Видаляти їх — погана ідея: у картки є адреса, яка могла потрапити в пошук, відгуки, посилання. Товар часто повертається за тиждень. Надійніше ховати його з вітрини й повертати, коли він знову з’явиться в прайсі. Перевірте, як чинить ваш інструмент: видаляє, ставить «немає в наявності» чи нічого не робить — останній варіант лишає на вітрині товар, який не можна купити.
Як перевірити до запуску за розкладом
- Імпортуйте невеликий набір товарів.
- Виправте руками назву й опис у кількох із них.
- Змініть ціну й наявність у тестовій копії прайсу (або дочекайтеся змін у постачальника).
- Запустіть оновлення ще раз.
- Перевірте: кількість товарів не зросла, ціна й наявність нові, ваші правки лишилися.
- Приберіть один товар із тестового прайсу й подивіться, що з ним сталося.

Як це влаштовано в PIMPORT
Товар упізнається за артикулом: префікс постачальника плюс код товару з прайсу. Тому префікс у робочого постачальника не змінюють — старі товари перестануть знаходитися.
Дві роботи розведено. Імпорт товарів створює те, чого в магазині ще немає; товар, який уже є, за замовчуванням пропускається, а не створюється вдруге. Перезаписати дані вже імпортованих товарів можна, але лише явно — окремою позначкою під час ручного запуску (в англійському інтерфейсі вона називається «Update the data of previously imported products»); імпорт за розкладом так не робить. Оновлення цін змінює лише ціну й наявність і не чіпає назви, описи та фотографії.
Якщо перезапис потрібен, а окремі поля чіпати не можна, їх захищає плагін «Правила оновлення»: назву, опис, фотографії, категорію, характеристики. Правило задається постачальнику, його категорії або одному товару, вужче уточнює загальне. Ціну так не захищають — для узгоджених цін є «Фіксована ціна».

Товар, що зник із прайсу, ховається з вітрини, але лишається в базі — повернувся в прайс, повернувся на полицю. Докладно — в документації: Products that left the feed (англійською).
Якщо каталог уже заповнено руками, програма таких товарів сама не впізнає — у них немає коду постачальника. Пов’язати їх із прайсом — окрема разова робота, і її обсяг залежить від того, що є у ваших картках: артикули виробника, штрихкоди чи лише назви. Це оцінюємо за вашим каталогом.
З чого починати, якщо ви лише обираєте спосіб імпорту, — у статті Імпорт товарів в інтернет-магазин.