УкрСклад — популярна облікова програма в малому бізнесі, а Prom.ua — головний маркетплейс для багатьох українських магазинів. Коли товарів кілька сотень чи тисяч, оновлювати залишки й ціни на Prom вручну неможливо: продаєте те, чого немає, або тримаєте старі ціни. Синхронізація це вирішує — але перший запуск може зробити з акуратного каталогу кашу з дублікатів. Розбираємо, як налаштувати безпечно.
Загальна логіка синхронізації з маркетплейсами — у статті синхронізація з Rozetka і Prom. Тут — конкретно про звʼязку УкрСклад → Prom і граблі, які ми бачили на реальному проєкті.
Як влаштована звʼязка
У УкрСкладу є програма синхронізації з інтернет-магазинами з підтримкою Prom. Схема:
- В УкрСкладі ведуться товари, ціни і залишки — це джерело істини.
- Модуль синхронізації формує файл (наприклад, XLSX) або пакет даних.
- Через API Prom за вашим токеном товари надсилаються на маркетплейс: нові додаються, наявні оновлюються.
Звучить просто. Уся складність — у слові «наявні»: як Prom зрозуміє, що товар з УкрСкладу — це саме та картка, яку ви колись створили вручну.
Головне правило: Prom шукає товар за ідентифікатором
Prom при імпорті зіставляє товари за полем «Ідентифікатор товару» (зовнішній ID), а не за назвою і не просто за артикулом.
| Ситуація | Що станеться при імпорті |
|---|---|
| Товари на Prom створені з УкрСкладу, ідентифікатор = ID УкрСкладу | Оновляться ціни й залишки — все добре |
| Товари на Prom створені вручну, ідентифікатора немає | Prom додасть усі позиції як нові — дублі |
| Ідентифікатор є, але проставлений з неточного списку | Ціни й залишки одного товару запишуться в чужу картку |
У реальному проєкті перший запуск синхронізації на магазин, де товари створювали вручну, додав на Prom кілька тисяч нових карток поруч зі старими: старі — з фото і відгуками, нові — без фото, з новою ціною і наявністю. Покупець бачить два однакові товари з різними цінами, а частина карток узагалі без української назви.
Висновок: перед першим запуском у кожної картки на Prom має стояти правильний ідентифікатор, взятий з експорту самого УкрСкладу, а не відновлений вручну чи з інших файлів.
Підводні камені, які ми бачили
1. Токен «для читання» проходить тест, але не працює
«Тест зʼєднання» в модулі успішний, а реальне надсилання падає з помилкою 401 Unauthorized. Причина — токен API створений лише з правами читання. Для синхронізації потрібен токен із правом запису товарів.
2. Коди товарів збігаються випадково
Здається логічним звʼязати товари за кодом (артикулом). Але якщо коди на Prom проставляли незалежно від УкрСкладу, збіги бувають випадкові: код 48 у обліку — одне насіння, код 48 на Prom — зовсім інше. На вибірці таких хибних пар виявилися сотні. Тому автоматичному зіставленню за кодом довіряти не можна без перевірки.
3. Різні мови назв
На Prom основна назва часто російською, а в УкрСкладі — українською. Якщо модуль працює в режимі «Код + назва» (потрібен збіг і коду, і назви), він не впізнає жодного товару з різномовною назвою і створить новий — навіть якщо код і ідентифікатор правильні.
4. Синхронізація може змінювати сам УкрСклад
У деяких режимах модуль при оновленні переписує в УкрСкладі назву, ціну і навіть код за даними з Prom. Помилкова пара — і ваш облік отримує чужий код. Тому режим синхронізації треба вибирати свідомо і перевіряти на кількох товарах.
5. Нову групу імпортом не створити
Поле «Назва групи» на аркуші товарів при імпорті в Prom не створює групу. Робочий спосіб: створити групу вручну в кабінеті, взяти її номер з адреси сторінки і вказати в файлі «Номер групи». Режим «Тільки оновлення» в імпорті ховає поле групи — для переміщення товарів у групи він не підходить.
6. Дублі повертаються, якщо видалити їх раніше часу
Якщо видалити дублікати, не змінивши режим зіставлення чи не виправивши ідентифікатори, наступний запуск синхронізації створить їх знову.
Безпечний порядок першого запуску
- Зробіть експорт товарів з Prom (Excel) — це ваша страховка і основа для зіставлення.
- Зробіть експорт товарів з УкрСкладу: ID, код, назва, ціна, кількість.
- Зіставте товари. За назвою (з урахуванням мови), фасуванням і кодом. Нечіткі пари — лише з ручною перевіркою. Різні сорти, кольори, обʼєми — це різні товари, навіть якщо назви схожі.
- Подивіться очима 20 найслабших пар. Якщо серед них є явно чужі — алгоритм зіставлення треба посилити.
- Проставте ідентифікатори на Prom імпортом файлу з правильними ID з УкрСкладу. Товарам, яких немає в обліку, — окремі ідентифікатори, які не перетинаються з ID УкрСкладу.
- Перевірте режим модуля: зіставлення, які поля оновлюються, чи пише модуль назад в УкрСклад.
- Створіть токен із правами запису і перевірте його не лише тестом, а пробним надсиланням.
- Перший запуск — на обмеженій кількості товарів, якщо модуль дозволяє, і з перевіркою результату.
- Лише потім — повна синхронізація за розкладом.
Так, це довше, ніж «натиснути кнопку». Але виправлення тисяч дублів, повернення відгуків і цін займає набагато більше часу.
Що ще врахувати
- Де стоїть УкрСклад. Якщо програма працює на компʼютері, який вимикають на ніч, вночі залишки не оновлюються. Для частого оновлення потрібен комп, що працює постійно, або сервер.
- Різні ціни для каналів. Ціна на Prom може відрізнятися від роздрібної через комісію маркетплейсу — вирішіть, яку колонку цін передавати. Див. ціноутворення в інтернет-магазині.
- Резерв. Якщо товар продали в магазині, а синхронізація ще не відбулася, Prom продасть його вдруге. При малих залишках передавайте кількість із запасом. Див. складський облік: залишки і резерв.
- Моніторинг. Синхронізація ламається тихо: прострочений токен, зміна API, вимкнений компʼютер. Потрібне сповіщення, якщо оновлення не відбулося. Див. моніторинг інтеграцій.
Для розробників. Файл XLSX, який віддає УкрСклад, може містити некоректну розмірність аркуша (A1:A1). Бібліотека openpyxl у режимі read_only=True вірить цьому значенню і читає лише один рядок заголовка — і будь-яке зіставлення «нічого не знаходить». Читайте файл без read_only і завжди виводьте кількість прочитаних рядків з кожного джерела.
Коли штатного модуля недостатньо
Штатна синхронізація закриває типовий сценарій: один склад, одна ціна, оновлення кількості. Власний обмін потрібен, коли:
- товари продаються на кількох маркетплейсах і на власному сайті одночасно;
- є кілька складів і різні ціни для каналів;
- треба передавати замовлення з Prom назад в облік;
- потрібні звіти: що продається де, які залишки зависли.
Тоді між УкрСкладом і маркетплейсами ставлять проміжний шар, який тримає зіставлення товарів, правила цін і журнал змін. Про вибір між обліковими системами — у статті CRM чи ERP: що обрати.
Скільки часу займає налаштування
Залежить не від програми, а від стану каталогу:
| Ситуація | Що треба зробити |
|---|---|
| Новий магазин на Prom, товари ще не створені | Налаштувати модуль, токен, перший запуск — найпростіший випадок |
| Товари на Prom створені з УкрСкладу, ідентифікатори є | Перевірити режим, налаштувати розклад |
| Товари на Prom створені вручну, коди не збігаються | Зіставлення, ручна перевірка спірних пар, імпорт ідентифікаторів — основний обсяг роботи |
| Уже був невдалий запуск і є дублі | Розбір, хто з дублів «справжній» (з фото, відгуками), перенесення правильних ідентифікаторів, видалення копій, лише потім — синхронізація |
Для каталогу на кілька тисяч позицій ручне зіставлення займає більше часу, ніж налаштування самого модуля. Тому найдешевший шлях — проставити ідентифікатори до першого запуску, а не після.
Що підготувати перед зверненням до спеціаліста
- Версію УкрСкладу і чи встановлена програма синхронізації.
- Скільки товарів у вас на Prom і скільки в УкрСкладі.
- Як товари потрапили на Prom: створені вручну, імпортом з Excel, з УкрСкладу.
- Чи збігаються коди (артикули) в обох системах.
- Якою мовою основні назви на Prom і в УкрСкладі.
- Де працює УкрСклад і чи увімкнений компʼютер постійно.
- Як часто треба оновлювати залишки і ціни.
З відповідями на ці питання реально назвати і план, і обсяг робіт, а не «подивимось».
Чек-лист
- Є експорт товарів з Prom (страховка)
- Є експорт з УкрСкладу: ID, код, назва, ціна, кількість
- Товари зіставлені, 20 найслабших пар перевірені очима
- Ідентифікатори на Prom проставлені з ID УкрСкладу
- Обрано режим зіставлення, перевірено, що модуль пише назад в облік
- Токен API з правом запису, перевірений реальним надсиланням
- Пробний запуск на кількох товарах пройшов без дублів
- Визначено, як часто оновлювати і де працює УкрСклад
- Налаштовано сповіщення про збої синхронізації
Головне
Синхронізація УкрСкладу з Prom економить години щодня і рятує від продажу відсутніх товарів. Але її перший запуск — це не кнопка, а проєкт: правильні ідентифікатори, перевірене зіставлення, правильний режим модуля і токен із правом запису. Пропустіть ці кроки — і замість економії отримаєте тисячі дублів і змішані ціни.
Якщо хочете налаштувати звʼязку без ризику для каталогу або вже розбираєте наслідки невдалого запуску, ми в Obliko беремо таку інтеграцію УкрСкладу з Prom під ключ: зіставляємо товари, проставляємо ідентифікатори і запускаємо синхронізацію разом із вами. Напишіть, скільки товарів у вас на Prom і як вони туди потрапили, — скажемо, з чого почати.
Чи можна автоматично передавати залишки й ціни з УкрСкладу на Prom.ua?
Так. У УкрСкладу є програма синхронізації з інтернет-магазинами, яка вміє надсилати товари з цінами й кількістю на Prom через API за токеном. Головне — перед першим запуском правильно звʼязати товари, які вже є на Prom, з товарами в УкрСкладі, інакше Prom створить дублікати.
Чому після синхронізації з УкрСкладом на Prom зʼявилися дублі товарів?
Prom при імпорті шукає товар за полем «Ідентифікатор товару» (зовнішній ID). Якщо товари на Prom створювали вручну, цього поля в них немає або воно не збігається з УкрСкладом — і Prom додає всі позиції як нові. Друга причина — режим зіставлення «Код + назва», коли назви на Prom і в УкрСкладі різні, наприклад, російською і українською.
Який токен Prom потрібен для синхронізації з УкрСкладом?
Токен API з правами на запис товарів. Токен лише з читанням проходить «Тест зʼєднання», але реальне надсилання завершується помилкою 401 Unauthorized. Створюйте токен у кабінеті Prom у розділі налаштувань API і перевіряйте права перед першим запуском.
Як часто оновлюються залишки при синхронізації УкрСкладу з Prom?
Залежить від налаштувань модуля і того, чи увімкнений компʼютер або сервер з УкрСкладом. Для більшості магазинів достатньо оновлення кілька разів на день; при швидкому обороті і малих залишках — частіше. Якщо УкрСклад стоїть на компʼютері, який вимикають на ніч, вночі оновлень не буде.
Чи змінює синхронізація дані в самому УкрСкладі?
Може. У деяких режимах модуль оновлює в УкрСкладі назву, ціну чи код за даними з Prom. Тому перед запуском треба чітко визначити, хто джерело істини, і перевірити режим на кількох товарах, а не на всьому каталозі.
Рутина зʼїдає робочий день?
Подивимось ваші процеси й порахуємо, що автоматизувати першим, щоб віддача була найшвидшою.