010110101010110101010110101010110101010110101110101100110101100110101100110101100110101100001101011001101011001101011001101011001101011101100110101100110101100110101100110101100110011010101011010101011010101011010101011010101100110101100110101100110101100110101100110101010101101010101101010101101010101101010101101110010110110010110110010110110010110110010110</>{ }{ }</>
  • Доробки · OpenCart 3.x і 4.x
  • Вимір 31.07.2026

Імпорт прайсів: каталог, який наповнюється сам

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

Подивитись, як це працює
Вартість
після безкоштовного аудиту
Гарантія
30 днів після підписання акта
З чого починаємо
з ваших реальних прайсів, а не з опису словами
після безкоштовного аудиту
Вартість
30
Гарантія

днів після підписання акта

з ваших реальних прайсів, а не з опису словами
З чого починаємо
єдиний ключ: артикул, штрихкод або код виробника
На чому тримається імпорт
5 830
Виміряний обсяг каталогу

товарів, підтверджено двома методами, вимір 31.07.2026

ховаємо, а не видаляємо — адреса лишається живою
Зняті позиції
10–30
Строк робіт

робочих днів від затвердження правил

безкоштовний аудит прайсів, 3–5 робочих днів
Перед кошторисом
Як проходить робота

Прозорі етапи з погодженням на кожному кроці

Загальний строк:10–30 днів

  1. Правила й схема зіставлення

    1–3 робочих дні

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

  2. Обробник прайсів: приймання й мапінг полів

    3–10 робочих днів

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

  3. Ціни, націнка й захист ручних полів

    1–4 робочих дні

    Правило націнки з округленням, зведення цін і залишків між джерелами, список полів, які прайс не чіпає. Перевіряємо на позиціях, які ви правили руками.

  4. Тестовий прогін на копії каталогу

    2–4 робочих дні

    Повний прогін на копії з розбором звіту: скільки зіставилося, що створилося зайвого, які рядки випали. Правки після цього прогону — норма, а не ознака помилки.

  5. Бойовий запуск і розклад

    1–3 робочих дні

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

  6. Два тижні на живих даних і передача

    2–6 робочих днів

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

Технології та інтеграції

На чому будуємо і з чим це з’єднується

Стек

  • OpenCart 3.x і 4.x — обробник пишемо під ядро. Обмеження: після оновлення ядра його перевіряють
  • PHP і MySQL — кілька тисяч рядків проходять порціями. Обмеження: важкий XLSX з'їдає пам'ять
  • Розбір XML, CSV, XLSX. Обмеження: PDF і скан не читає ніхто
  • Проміжна таблиця зіставлення. Обмеження: після зміни постачальника її чистять руками
  • cron з обробкою частинами. Обмеження: розклад мовчить, якщо за ним не наглядати
  • Черга завдань під великий прайс. Обмеження: паралельні прогони треба блокувати
  • Журнал імпорту. Обмеження: показує, що прогін відпрацював, а не що дані правильні

Інтеграції

  • прайси постачальників
  • вивантаження за посиланням
  • файли з пошти
  • FTP-каталог постачальника
  • 1С / BAS
  • XML-фід на маркетплейси
  • Google Merchant Center
  • Telegram — звіт після прогону
Що входить

Повний перелік робіт і того, що ви отримуєте на виході

  • Приймання прайсів у ваших форматах: таблиця, XML, CSV, посилання, вкладення з пошти, файл на FTP — конвертувати руками більше нічого не треба.
  • Нормалізація ключа перед зіставленням: регістр, пробіли й дефіси зводяться до одного вигляду, тому «AB-1200» і «ab 1200» лишаються одним товаром.
  • Проміжна таблиця відповідностей: раз зіставлена позиція далі впізнається сама, ручна робота лишається тільки на нових рядках.
  • Правило перетину асортименту: чия ціна головна, чий залишок головний, що робити при розбіжності — каталог перестає стрибати між постачальниками.
  • Правило націнки — загальне, за категоріями або за постачальниками, з округленням до звичного вигляду цінника.
  • Розкладка характеристик по окремих полях замість звалювання в опис: після імпорту фільтр у категорії справді щось фільтрує.
  • Захист ручних правок: явний перелік полів, які прайс не чіпає ніколи, — ваш заголовок, ваш опис, ваше фото.
  • Обробка знятих позицій: товар зникає з вітрини, лишається в базі й повертається одним рухом, коли з'явиться у постачальника.
  • Імпорт за розкладом порціями з паузами й пропуском незмінених рядків за хешем: оновлення йде вночі й чіпає тільки те, що справді змінилося.
  • Звіт після кожного прогону: додано, оновлено, приховано, не зіставлено і з якої причини, у пошту або месенджер.
  • Тестовий прогін на копії каталогу до бойового запуску, письмова інструкція менеджеру, оплата за етапами, гарантія 30 календарних днів.
Коли ця послуга не підходить

Що не входить у роботу — щоб не було сюрпризів на здачі

  • Домовленості з постачальниками про формат вивантаження — це ваша зона переговорів.
  • Написання описів і зйомка товарів, яких у прайсі немає.
  • Ручне доведення незіставлених позицій: контентна робота, рахується окремо.
  • Відповідальність за помилки в даних постачальника.
  • Хостинг, домен, еквайринг.
Кому підходить

Ситуації, у яких ця послуга дає результат

Ситуація 1 з 5

Прайси лежать у пошті, а каталог оновлює менеджер

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

Розберемо вашу ситуацію на безкоштовному аудиті
Обробник під ваші прайси проти коробкового модуля імпорту

Чим цей варіант відрізняється від «Коробковий модуль імпорту»

Кілька джерел одночаснозводяться в одну таблицю відповідностей за єдиним ключем
Захист ручних полівперелік полів, які прайс не чіпає, задається явно
Зняті позиціїховаємо, адреса лишається живою
Рядки, які не зіставилисялишаються у звіті з причиною
Формат прайсу змінивсяправимо ми, за своєю ж документацією
Витрата на стартівища: це розробка під ваші файли

Безкоштовний аудит ваших прайсів

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

Що міряємо

  • Формати й регулярністьУ чому приходять прайси, як часто оновлюються, чи стабільна структура файлу. Прайс, у якому щотижня змінюється порядок стовпців, вимагає окремої обробки.
  • Єдиний ключ товаруЧи є артикул, штрихкод або код виробника, за яким позиція впізнається між джерелами й між оновленнями. Без ключа автоматичне зіставлення неможливе, і це головна розвилка.
  • Повнота атрибутівЧи є в прайсі характеристики окремими стовпцями, чи все лежить у назві. Від цього залежить, чи запрацює фільтр після імпорту.
  • Перетин асортиментуСкільки позицій присутні в кількох прайсах одночасно й за якою ціною їх брати. Це правило треба ухвалити до розробки.
  • Обсяг і швидкістьСкільки позицій обробляється за один прогін і чи витримає це сервер. Для орієнтира: у виміряному нами гуртовому каталозі 5 830 товарів підтверджені двома незалежними методами — і саме такий обсяг зручно оновлювати частинами, а не одним прогоном.
  • Що станеться зі знятими позиціямиТовар зник із прайсу — його видалити, приховати чи позначити як відсутній. Видалення ламає адреси, які вже в пошуку, тому за замовчуванням ми ховаємо.

Що ви отримуєте на руки

  • Розбір ваших файлів: що з них береться автоматично, що потребує доведення руками.
  • Схему зіставлення: за яким ключем позиції зводяться між джерелами.
  • Правила оновлення: що перезаписується прайсом, а що лишається вашим назавжди.
  • Розмову на 30–40 хвилин по документу.

Строк: 3–5 робочих днів

Чому це безкоштовно

Бо оцінити імпорт без ваших файлів неможливо: різниця між охайним прайсом і таблицею з об'єднаними клітинками — це різниця в кілька разів по трудомісткості.

Що далі

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

Форма коротка: контакт і адреса сайту

Не знайшли свій випадок?

Опишіть, як це влаштовано у вас, — відповімо, чи підходить «Імпорт прайсів постачальників у каталог» і що це означає у вашій ситуації. Без брифу й без дзвінка: одне питання, одна відповідь.

Працюємо офіційно

Договір, акт і рахунок — на кожен проєкт, а не тільки на великий. Без документів у вас немає ні прав на роботу, ні підстави провести витрати.

  • Договір, акт і гарантія 30 днів

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

  • ФОП і безготівковий розрахунок

    Виконавець — зареєстрований ФОП. Оплата на рахунок із закривними документами, які бухгалтерія проведе як витрати. Курс для гривневої оплати фіксується договором, а не з’ясовується постфактум.

  • Права й доступи — ваші

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

  • Портал клієнта замість переписки

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

  • Замовники з Європи

    Серед робіт — проєкти для Норвегії, Болгарії та Іспанії: болгарський магазин трьома мовами з кур’єрською доставкою, іспанський з оплатою карткою й переказом, норвезький сайт клініки. Це видно в портфоліо, а не тільки в описі.

  • Цифри, які можна перевірити

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

  • Спершу аудит, потім сума

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

  • Кажемо «ні», коли не впевнені

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

NDA підписуємо на запит. Після завершення співпраці наші доступи до ваших сервісів видаляємо самі й повідомляємо про це.

Що впливає на вартість

Чому дві однакові на вигляд задачі рахуються по-різному — і що саме ми міряємо на аудиті

  • Кількість джерелОдин прайс — один розбір. П'ять прайсів — п'ять різних наборів назв тих самих характеристик і п'ять уявлень про те, як пишеться артикул. Робота росте звідси, а не від кількості позицій.
  • Якість ключаЗаповнений унікальний артикул у всіх джерелах — зіставлення налаштовується за день. Порожні артикули означають нечітке порівняння за назвою й виробником плюс ручне доведення першої партії.
  • Стан файлуРівна машинна таблиця читається одразу. Excel з об'єднаними клітинками, підзаголовками всередині таблиці й змінним порядком стовпців розбирається окремим кодом і перевіряється на кожному прогоні.
  • Перетин асортиментуДжерела не перетинаються — кожне живе окремо. Та сама позиція у трьох прайсах додає шар правил по ціні, залишку й пріоритету, і кожне правило треба протестувати на реальних розбіжностях.
  • Де лежать характеристикиОкремі стовпці стають атрибутами майже дослівно. Коли все злите в назву на кшталт «Дриль 650 Вт синій», розбір пишеться під кожного постачальника окремо і ніколи не працює бездоганно.
  • Обсяг і частотаКілька тисяч позицій раз на добу — звичайний розклад. Десятки тисяч кілька разів на день вимагають передачі лише змінених рядків, черги й розведення з піковими годинами.
Кейси

Задачі та результат у цифрах — усі показники зняті нашим виміром

гуртовий постачальник товарів із Китаю, B2B-каталог майже 6 тис. позицій

Задача
Тримати на сайті гуртовий асортимент, який бізнес-клієнт перебирає сам: великий каталог, зрозумілі умови доставки й короткий шлях від пошуку позиції до заявки.
Рішення
Магазин на OpenCart 3 з двома мовними версіями й окремою картою сайту на кожну. Розмітка пошуку по сайту, хлібні крихти й блок питань і відповідей у мікророзмітці. Оплата післяплатою й готівкою при отриманні, чотири способи доставки, чат і віджет зворотного дзвінка.
Результат
Вимір 31.07.2026. У каталозі 5 830 товарів, і цифра підтверджена двома незалежними способами: штатний пошук платформи дав 58 сторінок по 100 позицій і ще 30, карта сайту — по 6 234 адреси на кожну з двох мов, разом 12 468. Перша відповідь сервера 506,9 мс, повне завантаження 552,7 мс при 333,1 КБ HTML. Межу називаємо прямо: ми міряли каталог і швидкість, а не роботу імпорту. Цифра корисна іншим — вона показує, який масштаб уже нема сенсу оновлювати одним прогоном.

гуртовий магазин косметики для б'юті-індустрії, каталог майже 4 тис. позицій

Задача
Зібрати каталог під професійних закупівельників: навігація за брендами й категоріями, гуртові ціни, швидке оформлення на великому асортименті.
Рішення
Магазин на OpenCart із канонічною картою сайту, оголошеною в robots.txt. Оплата через платіжний сервіс, післяплатою й на банківський рахунок, дві служби доставки. Структуровані дані магазину з контактами й графіком, дві мовні версії з перемикачем.
Результат
Вимір 31.07.2026. 3 947 товарів, 166 брендів і 47 категорій — 4 167 адрес у канонічній карті сайту, два послідовні заміри дали однакове число. TTFB 576,8 мс при 192,4 КБ HTML. І знайдений дефект, рівно з того класу, що народжується при кількох паралельних джерелах даних: поруч живе застаріла карта на 7 782 записи, у якій лише 2 755 унікальних адрес (2 454 повторені по три рази) і приблизно 2 706 товарних проти 3 947 у канонічній. Одночасно дубльована й неповна.
Що потрібно від вас

Без цього не почнемо — краще підготувати заздалегідь

  1. Реальні прайси всіх постачальників у тому вигляді, як ви їх отримуєте, — з поштою, дивними назвами файлів і всім іншим.
  2. Правило націнки й округлення цін, включно з винятками по категоріях, якщо вони є.
  3. Рішення по перетину асортименту: чия ціна головна, чий залишок головний, чи сумуються залишки різних постачальників.
  4. Перелік полів, які ви правите руками і які прайсу чіпати не можна.
  5. Доступи до сайту, бази й хостингу, а також місце під копію каталогу для тестового прогону.
  6. Одну людину, яка відповідатиме за каталог після запуску: незіставлені рядки хтось має розбирати щотижня.

Якщо чогось із цього немає — скажіть, підкажемо, як зібрати або зробимо самі окремою задачею.

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

Те, що питають найчастіше — з конкретними відповідями

у прайсі немає артикулів — що робити?

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

імпорт перезапише мої описи й фото?

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

той самий товар у трьох прайсах — за якою ціною брати?

За правилом, яке задаєте ви: найнижча ціна, конкретний пріоритетний постачальник або той, у кого зараз є залишок. Ухвалити його треба до розробки, бо від нього залежить структура зіставлення. Окремо домовляємось про залишки: сумувати їх по джерелах чи брати максимальний. І ще одне питання, яке зазвичай згадують пізно: що робити, коли один постачальник товар зняв, а другий ні.

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

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

великий прайс не покладе сайт?

Не покладе, якщо не намагатися проковтнути файл цілком. Імпорт іде порціями з паузами за розкладом, а рядки, які не змінилися з минулого разу, взагалі не чіпаються — різниця між «оновили 5 000 товарів» і «оновили 120» саме тут. Виміряний нами гуртовий каталог на 5 830 товарів — приблизно та межа, після якої повний прогін за раз на середньому хостингу відчувається в швидкості сайту.

як я побачу, що прогін пройшов правильно?

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

залишки після імпорту стануть точними?

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

нові товари одразу з'являться в пошуку?

З'являться в каталозі й у карті сайту — це не те саме, що в пошуку. Google прямо пише, що карта сайту допомагає знайти сторінки, але не гарантує ні сканування, ні індексації. Картка, зібрана з рядка прайсу, у якому лише назва й ціна, конкурує з десятком таких самих карток у сусідніх магазинах. Імпорт дає сторінкам існувати, попит на них дає контент.

а фільтр у категорії після імпорту запрацює?

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

Надішліть прайси постачальників у тому вигляді, як ви їх отримуєте.

У відповідь — розбір файлів, схема зіставлення, правила оновлення й оцінка робіт по етапах. Якщо з файлів видно, що спершу треба просити в постачальника артикули, скажемо це першим же листом.

Переглянути кейси
  • Відповідь протягом 2 годин
  • Без зобов’язань
  • Працюємо за договором

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