Імпорт товарів файлом CSV

Перенесіть увесь каталог у Live-cart одним файлом. CSV — це проста таблиця, яку можна зберегти в Excel чи Google Таблицях або вивантажити з іншого магазину. Заповніть колонки за зразком нижче, і товари, варіанти, фото, ціни та залишки з’являться в каталозі автоматично.

Завантажити шаблон CSV

Як це працює

У файлі один рядок — це один варіант. Рядки з однаковим значенням у колонці Handle об’єднуються в один товар — саме так описується товар із розмірами чи кольорами. Спільні дані товару (Title, Description) беруться з першого рядка, де вони заповнені, тож у наступних рядках достатньо даних варіанта: Variant, SKU, Price, Quantity.

Рядок стає варіантом, лише якщо в ньому заповнено Variant або SKU. Рядок, де є тільки Handle і Image, додає до товару фото — і нічого більше. Товар без варіантів описується одним рядком (плюс рядки з фото, якщо фото кілька): залиште Variant порожнім.

Імпорт відбувається у два кроки. Натиснувши «Перевірити файл», ви побачите, що саме станеться: скільки товарів додасться й оновиться і що потребує уваги. У каталозі нічого не змінюється, доки ви не натиснете «Імпортувати».

Колонки

Перший рядок файлу — це рядок заголовків із назвами колонок. Порядок колонок і великі чи малі літери не мають значення, а колонки, які вам не потрібні, можна не додавати. Колонки з іншими назвами не читаються — перевірка покаже їхній список. Якщо назва колонки трапляється двічі, читається лише перша з них — крім Image: фото беруться з усіх колонок Image. Повтори перевірка теж покаже.

У вивантаженні з іншого магазину колонки названі по-своєму — перейменуйте їх перед завантаженням, інакше ціни, залишки, фото й варіанти не прочитаються. Для вивантаження з Shopify: Variant Price → Price, Variant Inventory Qty → Quantity, Variant SKU → SKU, Option1 Value → Variant, Image Src → Image, Body (HTML) → Description.

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

КолонкаОбов’язковаЩо робить
HandleОбов’язковаУнікальний код товару, наприклад futbolka-bavovna, до 255 символів. Усі рядки з однаковим Handle — це один товар. Під час наступного імпорту саме за ним ми знаходимо цей товар і оновлюємо його. Рядки без Handle пропускаються.
TitleНеобов’язковаНазва товару, до 160 символів. Береться з першого рядка, де вона заповнена, — в інших рядках цю клітинку можна залишити порожньою. Якщо назви немає зовсім, замість неї буде Handle.
DescriptionНеобов’язковаОпис товару, до 20 000 символів. Також береться з першого заповненого рядка. Звичайний текст або простий HTML: абзаци (<p> або <div>), переноси рядків (<br>), жирний і курсив, списки, посилання, підзаголовки. Звичайне перенесення рядка всередині клітинки не зберігається — текст зіллється в один абзац, тож для цього використовуйте теги. Решта розмітки (скрипти, стилі, вбудовані картинки) прибирається.
ImageНеобов’язковаПосилання на фото для галереї. Фото з усіх рядків товару збираються в галерею по порядку, повтори ігноруються. В одній клітинці можна вказати кілька посилань через пробіл або кому, а колонок Image може бути кілька — читаються всі.
VariantНеобов’язковаНазва варіанта — наприклад, «S» або «Червоний», до 200 символів. Рядок із Variant або SKU стає варіантом; рядок без обох лише додає фото.
SKUНеобов’язковаВаш складський код варіанта, до 120 символів. За ним ми впізнаємо той самий варіант під час повторного імпорту, тож не змінюйте його.
PriceНеобов’язковаЦіна в гривнях, наприклад: 499 · 499,90 · 1 250. Перша ціна серед рядків товару — це ціна товару: варіант із порожньою Price отримує саме її.
QuantityНеобов’язковаСкільки одиниць цього варіанта на складі. Ціле число; порожня клітинка означає 0.
Variant ImageНеобов’язковаПосилання на фото, яке показується, коли покупець обирає саме цей варіант. Якщо посилань у клітинці кілька, фото варіанта стає перше, а решта додаються до галереї товару.
TagsНеобов’язковаМітки для фільтрації в каталозі, через кому в одній клітинці: Льон,Сукні. Теги з усіх рядків товару об’єднуються. До 50 тегів на товар.

Приклад

Футболка в трьох розмірах із додатковим фото, а після неї — чашка без варіантів:

Handle,Title,Description,Image,Variant,SKU,Price,Quantity,Variant Image,Tags tee,Футболка бавовняна,100% бавовна,https://…/tee.jpg,S,TEE-S,499,12,https://…/s.jpg,"Бавовна,Футболки" tee,,,,M,TEE-M,,8,https://…/m.jpg, tee,,,,L,TEE-L,549,5,https://…/l.jpg, tee,,,https://…/tee-back.jpg,,,,,, mug,Чашка керамічна,350 мл,https://…/mug.jpg,,MUG,199,30,,Посуд
  • Три рядки tee із заповненою колонкою Variant стають одним товаром із варіантами S, M і L.
  • У варіанта M ціна порожня, тож він отримує ціну першого рядка — 499. L має власну ціну 549.
  • Четвертий рядок tee не має ні Variant, ні SKU — це рядок із фото: tee-back.jpg додається до галереї, а нового варіанта не з’являється.
  • Теги «Бавовна» й «Футболки» взято в лапки, бо між ними кома. Excel і Google Таблиці ставлять лапки самі.
  • У mug назви варіанта немає, тож це товар з одним варіантом (SKU MUG).

Кілька фото одного товару

Багато магазинів вивантажують товар так: у першому рядку — усі дані й перше фото, а кожне наступне фото — окремим рядком, де заповнено лише Handle та Image. Live-cart читає такі рядки саме як фото: рядок без Variant і без SKU додає фото й не створює нового варіанта.

HandleTitleImageSKUPriceQuantity
bagСумка шкірянаhttps://…/bag-1.jpgBAG-112505
bag—https://…/bag-2.jpg———
bag—https://…/bag-3.jpg———
  • Результат: один товар з одним варіантом за 1 250 ₴, 5 шт. на складі, і три фото в галереї. Прочерк у таблиці означає порожню клітинку.
  • Так само працює рядок, що повторює SKU варіанта, але має порожню ціну: він об’єднується з цим варіантом і не стирає його ціну чи залишок. З кількох рядків одного варіанта береться перше заповнене значення кожної клітинки; якщо рядки суперечать один одному, перевірка попередить.
  • Рядок із фото не має власної ціни чи залишку. Його Price не використовується, якщо відрізняється від ціни товару, а Quantity — якщо відрізняється від залишку товару або якщо в товару є варіанти (тоді залишок належить їм). Перевірка про це підкаже. Якщо такий рядок насправді окремий варіант, дайте йому назву в колонці Variant.
  • Рядки з однаковою назвою в Variant і без SKU — це один варіант. Якщо насправді це різні варіанти (скажімо, розмір S у двох кольорах, а колір записано в іншій колонці), дайте кожному власну назву — «S червоний», «S синій» — або власний SKU. Інакше вони об’єднаються й залишок другого рядка не врахується; якщо кількість заповнено в обох рядках, перевірка попередить.
  • Рядок лише з SKU, без Variant, об’єднується з варіантом, що має цей SKU. Якщо такий SKU мають кілька варіантів (наприклад, артикул моделі вказано в кожного розміру), незрозуміло, до якого з них належить рядок, тож він читається як рядок товару: його Price може стати ціною товару, якщо це перша ціна серед рядків, а Quantity не використовується — перевірка підкаже. Так само читається рядок лише з назвою, якщо таку назву мають кілька варіантів із різними SKU.
  • Variant Image у рядку з фото теж потрапляє до галереї товару. Туди ж додаються й зайві фото варіанта: друге та наступні посилання в його клітинці Variant Image або інше фото в повторному рядку того самого варіанта.

Якщо раніше такі рядки імпортувалися як зайві варіанти за 0 ₴, завантажте той самий файл ще раз і оберіть «Оновити їх з імпорту»: варіанти, яких немає у файлі, буде видалено, і ціна товару знову стане правильною. Разом із ними з «Живої стрічки» зникнуть пропозиції за 0 ₴ без назви, створені з цих варіантів. Товар, який ви вже редагували вручну, імпорт не змінює — зайві варіанти в ньому видаліть у картці товару, а якщо товар є в «Живій стрічці», приберіть його звідти й додайте знову.

Ціни та залишки

  • Ціна товару — перша заповнена Price серед рядків цього Handle. Варіант із порожньою Price отримує саме її, тож спільну ціну достатньо вказати один раз. Варіант із власною ціною зберігає свою.
  • У каталозі товар показується з найнижчою ціною серед його варіантів.
  • Товар без Variant і SKU отримує один варіант із ціною та залишком товару — першими заповненими Price і Quantity.
  • Залишок не успадковується: варіант із порожньою Quantity імпортується з 0 на складі.
  • Якщо ціни немає ніде, товар імпортується з ціною 0 — перевірка про це попередить.

Які записи ціни ми розуміємо

ЗаписЩо означає
499 · 499.90 · 499,90Гривні; копійки — через крапку або кому, не більше двох знаків. Якщо колонки у файлі розділено комами, ціна з комою має бути в лапках: "499,90".
1 250 · 1 250,50Пробіл між тисячами, зокрема нерозривний — так пише Excel.
1,250.50 · 1.250,50 · 1,250,000Роздільник тисяч, якщо є копійки або кілька груп цифр.
₴499 · 499 грн · 499 UAHПозначка гривні спереду або ззаду.

Ціну, яку можна прочитати двояко, ми не вгадуємо: помилкова ціна під час ефіру гірша, ніж товар, якого ще немає. Такі записи відхиляються:

  • 1,250 і 1.250 — це може бути і 1 250 ₴, і 1,25 ₴. Напишіть 1250, 1 250 або 1250,00.
  • Інша валюта ($10, 10 USD, €5), від’ємне число, запис на кшталт 1e3, більше двох знаків після коми або понад 10 000 000 ₴.

Кількість — ціле число від 0 до 100 000 000: 12, 12.0, 1 000 або 1 000,00 (так Excel записує число з двома знаками після коми). Тисячі відокремлюйте лише пробілом (12 000) або пишіть разом (12000): записи 1,000 і 12.000 відхиляються, як і 2,5 чи −1.

Товар із такою ціною чи кількістю не імпортується: перевірка покаже його в розділі «НЕ буде імпортовано», а решта файлу імпортується як звичайно. Виправте клітинку й завантажте файл ще раз.

Формат файлу, Excel і Google Таблиці

Колонки можуть розділятися комою, крапкою з комою або табуляцією — ми визначаємо це самі за рядком заголовків. Кодування — бажано UTF-8.

Excel з українськими налаштуваннями

  • Зберігайте у форматі, назва якого починається з «CSV UTF-8» («Файл → Зберегти як», список типів файлу). Excel з українськими налаштуваннями розділить колонки крапкою з комою, а копійки запише через кому (499,90) — це нормально, саме так ми й читаємо.
  • Звичайний тип «CSV» Excel зберігає в кодуванні Windows. На Windows з українськими налаштуваннями це Windows-1251: такий файл ми прочитаємо, а перевірка попередить — переконайтеся, що назви виглядають правильно. З іншими налаштуваннями Excel ще під час збереження замінює українські літери на «?» — вони втрачаються назавжди, і жодна перевірка цього не помітить. Знака ₴ та емодзі там теж немає. Тож завжди обирайте «CSV UTF-8».
  • Якщо шаблон після подвійного клацання відкрився однією колонкою або з незрозумілими символами, відкрийте його через «Дані → З тексту/CSV» й оберіть кодування UTF-8 та роздільник «кома». Або просто відкрийте файл у Google Таблицях.
  • Перед заповненням задайте колонкам Variant і SKU формат «Текстовий». Інакше Excel перетворить розмір 3/4 на дату, прибере нулі на початку SKU й запише довгий код як 1,23E+12.

Google Таблиці

«Файл → Завантажити», формат .csv. Google Таблиці зберігають UTF-8 із комами, тож нічого налаштовувати не потрібно. Перед заповненням задайте колонкам Variant і SKU формат «Формат → Число → Звичайний текст» — інакше Таблиці приберуть нулі на початку SKU й перетворять розмір 3/4 на дату.

Лапки

Якщо значення містить роздільник (кому чи крапку з комою) або перенесення рядка, його беруть у подвійні лапки: "Диван, сірий", "499,90". Таблиці роблять це автоматично; пам’ятати про лапки треба, лише якщо ви редагуєте файл у текстовому редакторі.

Рядок, у якому значень більше, ніж колонок у заголовку, не імпортується — перевірка покаже товар у розділі «НЕ буде імпортовано». Найчастіше це ціна 499,90 без лапок у файлі з комами: вона розпадається на дві клітинки, і все, що після неї, зсувається. Візьміть таке значення в лапки або збережіть файл із крапкою з комою між колонками. Якщо ж рядок коротший за заголовок (порожні клітинки в кінці не записано), зайва клітинка може не вийти за його межі, і зсув не буде помітно — тож лапки потрібні завжди.

Повторний імпорт і оновлення

Завантажте той самий файл ще раз — із тими самими значеннями Handle — і Live-cart знайде товари, які вже створив раніше, замість того щоб створювати дублікати. Під час імпорту ви обираєте, що робити з наявними товарами:

Оновити їх з імпорту

Наявні товари оновлюються даними з вашого файлу. Товари, які ви редагували вручну, захищені й залишаються без змін.

Залишити без змін

Додаються лише нові товари. Усе, що вже є в каталозі, залишається точно таким, як було.

Що змінює оновлення

  • Назва, опис, ціни, залишки й теги стають такими, як у файлі.
  • Варіанти, яких більше немає у файлі, видаляються — файл описує товар повністю. Минулі замовлення з цими варіантами не змінюються.
  • Фото замінюються набором із файлу, у тому самому порядку. Якщо у файлі для товару немає жодного фото, наявні фото буде видалено — перевірка попередить.
  • Варіант упізнається за SKU (якщо один SKU мають кілька варіантів — за SKU й назвою разом), а варіант без SKU — за назвою. У товарі з кількома варіантами змінений SKU означає вже інший варіант: старий видалиться, новий створиться.
  • Варіант зберігається — разом із його зв’язком із замовленнями та «Живою стрічкою», — якщо змінився лише спосіб, у який ми його впізнаємо: його SKU став спільним для кількох варіантів або перестав бути спільним, або це варіант без SKU з попереднього імпорту, коли такі варіанти впізнавалися за номером рядка. У товару з одним варіантом можна додати чи змінити SKU — варіант теж залишиться тим самим.
  • Товар, який уже є в «Живій стрічці», зберігає пропозиції, з якими його додали: ціни й варіанти в ефірі самі не змінюються. Щоб показати оновлений товар, приберіть його зі стрічки й додайте знову. Виняток — пропозиції за 0 ₴ без назви, що залишилися від зайвих варіантів із рядків фото: оновлення прибирає їх разом із цими варіантами.
  • Товари, які ви редагували вручну — у картці товару або в «Живій стрічці», коли додавали їх в ефір, — захищені: імпорт їх не перезаписує, а перевірка показує їх окремо.
  • Товар із «Нещодавно видалених» імпорт повертає в каталог — перевірка про це попередить.

Товари з CSV зіставляються лише з іншими імпортами CSV, тому Handle ніколи не конфліктує з товаром, завантаженим із Shopify чи з іншого джерела.

Обмеження

  • Файл — до 25 МБ і до 100 000 рядків. Більший каталог розділіть на кілька файлів і імпортуйте їх по черзі.
  • Довжина полів — як у формі товару: назва до 160 символів, назва варіанта до 200, SKU до 120, опис до 20 000 (після очищення розмітки). Handle — до 255 символів. Товар із довшим значенням не імпортується, і перевірка його покаже.
  • На один товар, як у формі товару: до 50 фото (зайві не імпортуються, з попередженням) і до 100 варіантів. Понад 100 варіантів з одним Handle — це майже завжди кілька різних товарів, яким помилково дали однаковий Handle, тож такий товар не імпортується, і перевірка його покаже.
  • Посилання на фото — лише повні адреси, що починаються з http:// або https://. Інші (шлях до файлу на комп’ютері, сама назва файлу) не імпортуються, і перевірка про це попередить. Фото показується з указаної адреси, тож вона має залишатися доступною.
  • Ліміт товарів вашого плану. Нові товари понад ліміт не додаються — перевірка назве, які саме. Наявні товари оновлюються як завжди. Товар, який імпорт повертає з «Нещодавно видалених», теж займає місце в ліміті.
  • Одночасно може виконуватися лише один імпорт. Перевірений файл чекає на підтвердження добу, після цього його треба завантажити знову.
  • Якщо імпорт перервався (наприклад, під час оновлення Live-cart), він позначається як невдалий. Уже збережені товари залишаються — завантажте той самий файл ще раз: повторний імпорт нічого не подвоює.

Поради

  • Не змінюйте Handle і SKU між імпортами — саме за ними оновлення знаходить потрібний товар і варіант.
  • Почніть із шаблону: у ньому вже є товар із розмірами, рядок із фото й товар із кількома фото.
  • Перш ніж натиснути «Імпортувати», уважно перегляньте результати перевірки: вона нічого не змінює в каталозі, а показує все, що зробить імпорт.
  • Ціни — у гривнях. Інші валюти не приймаються.

Стаття не допомогла?

Напишіть нам — розберемося з вашим випадком особисто.

Напишіть нам