Import/Export

Імпорт прайсів постачальників для OpenCart 2.3, 3 і 4

Оновлення цін і залишків з прайсу постачальника: Excel, CSV, XML/YML з файлу або за посиланням, націнка рівнями, план «було → стане» і відкат будь-якого запуску.

Завантажити безкоштовно
Версія
v1.0.0 (OpenCart 4)
v1.0.0 (OpenCart 3.x)
v1.0.0 (OpenCart 2.3)
Сумісність
OpenCart 2.3.0.x, 3.0.2 – 3.0.5.0 та 4.0.2 – 4.1.x
Імпорт прайсів постачальників для OpenCart 2.3, 3 і 4

Що всередині

  • Прайс у XLSX, CSV (UTF-8 і windows-1251), XML та YML
  • Завантаження файлом або автоматично за посиланням
  • Автовизначення колонок за заголовком прайсу
  • Пошук товару за артикулом, моделлю або штрих-кодом
  • Націнка рівнями від ціни постачальника + фіксована сума
  • Валюта прайсу з курсом магазину або власним
  • Округлення до гривні, десятки, …,99, …,95, …,50
  • Текстові залишки: «в наявності», «під замовлення», «немає»
  • Захист від підозрілих змін ціни (ліміт у відсотках)
  • План «було → стане» перед записом у каталог
  • Обробка пакетами — файли на десятки тисяч рядків
  • Товари, яких немає у прайсі: обнулити або вимкнути в межах виробника чи категорії
  • Журнал усіх змін і відкат будь-якого запуску одним кліком
  • Кілька постачальників з окремими правилами (Pro)
  • Автоматичне оновлення за розкладом через cron (Pro)

Імпорт прайсів постачальників оновлює ціни й залишки в OpenCart з файлу, який надіслав постачальник — Excel, CSV або XML/YML, з комп’ютера або за посиланням. Є три збірки: для OpenCart 4.0.2 – 4.1.x, 3.0.2 – 3.0.5.0 і 2.3.0.x; функціональність однакова, відрізняється лише пакет.

Будь-який файл постачальника

Модуль читає XLSX (звичайний Excel, без перезбереження в CSV), CSV у UTF-8 або windows-1251 із будь-яким роздільником, а також XML і YML — той формат, у якому прайси віддають Rozetka, Prom і більшість українських дистриб’юторів. Роздільник, кодування й формат визначаються автоматично; аркуш Excel, кількість службових рядків згори й тег товару в XML за потреби вказуються вручну.

Прайс можна завантажити файлом або дати посилання — тоді модуль сам забирає його з сайту постачальника при кожному запуску.

Автовизначення колонок прайсу: артикул, ціна, залишок
Колонки прайсу визначені автоматично, поруч — перші рядки файлу

Колонки визначаються самі

Модуль читає заголовок файлу й сам знаходить, де артикул, де ціна, де залишок: розуміє «Артикул», «Код товара», «Цена закупочная», «Наличие», «vendorCode», «stock_quantity» і десятки інших варіантів написання. Будь-яку відповідність можна перевизначити вручну — поруч показані перші рядки файлу, щоб було видно, що саме потрапить у магазин.

Товар знаходиться за артикулом (SKU, MPN або модель), окремо за моделлю чи за штрих-кодом (EAN, UPC, JAN, ISBN) — тим полем, яке реально заповнене у вашому каталозі.

Ціна рахується за вашими правилами

Ціна постачальника не потрапляє в магазин напряму. Спочатку вона переводиться з валюти прайсу за курсом магазину або за курсом, який ви вкажете. Далі застосовується націнка рівнями: до 500 грн — 40%, від 500 до 2000 — 25%, вище — 15% плюс фіксована сума, скільки рівнів потрібно. Потім — округлення: до гривні, до десятки або до звичного «…,99», «…,95», «…,50». Є й нижня межа ціни, нижче якої модуль не опускається.

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

Захист від зіпсованого прайсу

Постачальник один раз вивантажив ціни в копійках або зсунув колонку — і весь каталог поїхав. Щоб такого не сталося, вкажіть ліміт зміни у відсотках: рядки, де ціна змінюється сильніше, ніж дозволено, не записуються, а показуються окремим списком «Підозріла зміна». Ви дивитесь на них і вирішуєте самі.

Спочатку план, потім запис

Модуль ніколи не пише в каталог одразу. Спершу він читає файл, зіставляє його з товарами й показує повний план: скільки рядків прочитано, скільки знайдено в каталозі, які ціни й залишки зміняться — таблиця «було → стане» по кожному товару. Окремо видно рядки з невідомими кодами, підозрілі зміни, помилки й ті, де нічого не змінилося.

Лише після вашого підтвердження план застосовується — пакетами, тож 40 тисяч рядків не залежать від того, чи витримає один запит таймаут сервера.

План імпорту з таблицею «було → стане» перед записом у каталог
План імпорту: скільки рядків знайдено, які ціни й залишки зміняться

Товари, яких немає у прайсі

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

Журнал і відкат

Кожен запуск зберігається: коли, з якого файлу, скільки рядків прочитано й скільки товарів оновлено. Усі зміни записуються по полях — стара й нова ціна, старий і новий залишок, — тож будь-який запуск відкочується одним кліком до значень, які були до нього. Це не «відновіть бекап бази», а точне повернення саме тих товарів, яких торкнувся імпорт.

Автоматичне оновлення за розкладом

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

Що входить у ліцензію

Ліцензія видається на один домен і включає рік оновлень та підтримки. Одна покупка покриває всі три гілки OpenCart — 2.3.0.x, 3.0.2 – 3.0.5.0 і 4.0.2 – 4.1.x, — тож переїзд магазину на нову версію нічого не коштує. Код відкритий, ionCube не потрібен, файли ядра не змінюються.

Безкоштовна версія повністю робоча: читає ті самі формати, показує той самий план і той самий журнал, але оновлює до 50 рядків за запуск і веде одного постачальника без розкладу.

Технічні вимоги

OpenCart 2.3.0.x, 3.0.2 – 3.0.5.0 або 4.0.2 – 4.1.x, PHP 7.0 – 8.3, увімкнені розширення zip і xml, cURL для завантаження прайсу за посиланням. Встановлення штатне: Адмін → Розширення → Інсталятор → Завантажити, далі активація в списку модулів.

Часті питання

Чи треба переганяти Excel у CSV?

Ні. Модуль читає .xlsx напряму, включно з формулами (береться пораховане значення) і кількома аркушами.

Постачальник надсилає прайс у windows-1251 — буде «кракозябра»?

Ні, кодування визначається автоматично, а за потреби вказується вручну.

Що буде, якщо в прайсі помилка і ціни в 100 разів менші?

Увімкніть ліміт зміни у відсотках — такі рядки не запишуться, а потраплять у список «Підозріла зміна» на перевірку.

Чи можна відкотити імпорт?

Так. Кожен запуск зберігає старі й нові значення по кожному полю, відкат повертає рівно ті товари, яких торкнувся імпорт.

Модуль створює нові товари?

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

Чи можна оновлювати прайс автоматично щодня?

Так, у Pro: вкажіть посилання на прайс і розклад, далі модуль забирає файл і оновлює каталог сам.

Одна ліцензія покриває і 3.x, і 4.x?

Так, у ліцензію входять збірки для 2.3, 3.x і 4.x — переїзд магазину на іншу версію нічого не коштує.

Питання щодо модуля?

Пишіть у Telegram — відповімо протягом робочого дня. Допоможемо з налаштуванням, сумісністю та активацією ключа.

@catcode_support

Не той варіант, що шукаєте?

Ми робимо кастомні модулі під WordPress, WooCommerce, OpenCart і Shopify. Розкажіть про задачу — підготуємо оцінку.

Замовити кастомний модуль