010110101010110101010110101010110101010110101110101100110101100110101100110101100110101100001101011001101011001101011001101011001101011101100110101100110101100110101100110101100110011010101011010101011010101011010101011010101100110101100110101100110101100110101100110101010101101010101101010101101010101101010101101110010110110010110110010110110010110110010110</>{ }{ }</>
  • Сайти · Next.js

Сайт для B2B: каталог, умови, запит прорахунку

Розробка сайту для B2B — це не вітрина, а робочий інструмент відділу збуту: каталог з артикулами й одиницями виміру, сторінка умов співпраці й форма запиту прорахунку, з якої заявка йде менеджеру та в CRM. Збираємо на Next.js, якщо потрібен каталог і заявки, або на OpenCart, якщо потрібні кошик і чекаут. Строк — 25–50 робочих днів від затвердженого ТЗ. Суму називаємо після безкоштовного розбору сценарію: у B2B кошторис рухає логіка цін і залишків, а не кількість екранів.

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

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

25–50
Строк розробки

робочих днів від затвердженого ТЗ

кількість типів контрагентів, схема цін, джерело залишків
Що рухає кошторис
1 848
Виміряний каталог запчастин

карток і 138 категорій, 1 992 адреси без жодного дубліката

106
Виміряний каталог обладнання

позицій у двох мовах, перша відповідь сервера 351,4 мс

передоплата 50%, два раунди правок на дизайні, гарантія 30 календарних днів
Умови
Кому підходить

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

Ситуація 1 з 4

Відділ збуту живе на телефоні, а сайт відстав від прайсу на два роки

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

Розберемо вашу ситуацію на безкоштовному аудиті
Кейси

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

B2B-каталог запчастин і комплектуючих до промислових швейних машин

Задача
Зробити дрібну номенклатуру знаходжуваною: механік або постачальник має знайти деталь за кодом чи моделлю машини за мінімум кроків. Плюс описати розрахунок для ФОП і неплатників ПДВ, щоб це питання не з'їдало перший дзвінок.
Рішення
Каталог із категоріями, підбором за моделлю обладнання, технічними схемами й формою запиту наявності. Дві мовні версії з коректним hreflang. На сторінці оплати прямо названі сценарії: безготівковий без ПДВ, переказ на IBAN, оплата після отримання на складі перевізника — з відкритою поміткою, що післяплата на час війни вимкнена. Чат для коротких питань.
Результат
Вимір 31.07.2026: 1 992 адреси в карті сайту без жодного дубліката — 1 848 карток товару і 138 категорій. Перша відповідь сервера 388,1 мс, повне завантаження 419,5 мс при 120,2 КБ HTML: третя найлегша розмітка серед 16 виміряних сайтів. Знайдені дефекти, які ми показуємо відкрито: у коді досі висить Universal Analytics, вимкнена Google 1 липня 2023 року, а властивості GA4 немає взагалі — три роки без даних; нуль блоків структурованих даних на каталозі з 1 848 позицій; robots.txt не оголошує карту сайту, хоча вона робоча й повна.

B2B-постачальник професійного обладнання для харчового виробництва

Задача
Показати лінійку обладнання з продуктивністю й технічними характеристиками і зібрати запити на прорахунок: таке обладнання не купують у кошик, його підбирають під конкретне виробництво.
Рішення
Сайт-каталог із формою запиту прорахунку, двома мовними версіями й повним переліком способів розрахунку на окремій сторінці умов. Підключені GTM, GA4 і колтрекінг, месенджери в один клік із картки.
Результат
Вимір 31.07.2026: 106 позицій у двох мовних версіях — 230 адрес у sitemap-індексі з чотирьох файлів. Перша відповідь сервера 351,4 мс, повне завантаження HTML 490,4 мс при 297,6 КБ. Шість способів розрахунку на сторінці доставки й оплати — найширший набір серед виміряних проєктів вибірки. Чесна межа: дзвінки відстежуються колтрекінгом, але їх кількість ззовні виміряти неможливо, тому цифр по дзвінках ми тут не наводимо.
Що входить

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

  • Каталог під вашу номенклатуру: категорії, артикули, одиниці виміру, мінімальна партія — контрагент одразу бачить, у чому рахувати й від скількох ви відвантажуєте
  • Пошук за артикулом із нормалізацією коду: «А-1234/5» знаходиться і коли його вводять як «1234 5», і коли як «а1234-5»
  • Сторінка умов співпраці: порядок роботи, документи, розрахунок з ПДВ і без — питання, які інакше з'їдають перший дзвінок
  • Форма запиту прорахунку зі специфікацією: заявка йде менеджеру в Telegram і в CRM, а не в поштову скриньку, яку відкривають раз на день
  • Дилерський розділ: умови партнерства, форма заявки, прямі контакти відділу збуту — щоб потенційний партнер не шукав, кому писати
  • Імпорт прайсу й залишків із файлу або вивантаження облікової системи за розкладом, який ви самі й задаєте
  • Статус наявності діапазоном замість точної кількості там, де надійного джерела залишків поки немає — це чесніше, ніж цифра зі стелі
  • Технічне SEO: ЧПУ під артикули, canonical, унікальні title, карта сайту без дублів і оголошена в robots.txt
  • Мікророзмітка JSON-LD: Organization, Product, BreadcrumbList, FAQPage — рівно на те, що реально є на сторінці
  • Аналітика: GTM і GA4 з подіями запиту прорахунку, завантаження прайсу й переходу в месенджер
  • Передача: доступи, письмова інструкція для менеджерів, гарантія 30 календарних днів після приймання
Коли ця послуга не підходить

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

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

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

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

  1. Розбір сценарію і ТЗ

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

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

  2. Структура каталогу й прототип

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

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

  3. Дизайн

    5–9 робочих днів

    Головна, категорія, картка позиції, умови співпраці, дилерський розділ, форми. Тут же фіксуємо цільову вагу сторінки: у виміряних нами B2B-каталогах HTML важить від 120,2 до 297,6 КБ, і це відчутна різниця на слабкому мобільному.

  4. Збірка сайту

    7–13 робочих днів

    Верстка, каталог, пошук за артикулом із нормалізованим полем коду, сторінка умов, форми з передачею в CRM і Telegram, ролі в адмінці.

  5. Імпорт прайсу й перевірка пошуку

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

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

  6. Інтеграції та аналітика

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

    CRM, месенджери, колтрекінг, GTM і GA4 з подіями запиту прорахунку й завантаження прайсу, JSON-LD, карта сайту, оголошена в robots.txt.

  7. Тестування, передача, запуск

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

    Наскрізний прогін заявки від пошуку до картки в CRM, заміри першої відповіді сервера й ваги HTML, прохід адмінки з вашим менеджером, передача доступів.

Безкоштовний розбір B2B-сценарію

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

Що міряємо

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

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

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

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

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

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

Що далі

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Скільки типів контрагентів обслуговує сайтОдин тип — один сценарій, одна сторінка умов, одна форма. Чотири типи означають чотири різні шляхи по тому самому каталогу, і кожен треба продумати окремо. Це головний множник у кошторисі, і саме його найчастіше не називають на старті.
  • Схема цінЄдиний прайс — просто число в картці. Рівні за обсягом — таблиця й правила. Персональні ціни за договором вимагають авторизації, ролей і джерела цін ззовні: це вже інша задача й окремий кошторис.
  • Джерело залишківФайл раз на добу коштує небагато. Автообмін з обліковою системою — окремий обсяг зі своїм строком. Чесна межа: обмін не виправляє облік. Якщо в системі пересорт і невідображені списання, сайт покаже неточні дані швидко й акуратно, а між вивантаженнями завжди лишається вікно.
  • Стан прайсу й характеристикАртикул, одиниця виміру й кратність окремими колонками — імпорт на день. Характеристики, зліплені в одне поле або лежачі в PDF картинкою, розбираються вручну: це окремий рядок кошторису, а не дрібниця по ходу.
  • Кошик і чекаут чи тільки запитФорма запиту робиться швидко. Кошик тягне статуси замовлень, розрахунок доставки, формування рахунка й наскрізне тестування — інший порядок робіт і інша платформа під ним.
  • Мовні версіїДруга мова — це hreflang, окремі адреси й подвоєна карта сайту. Чесна межа: переклад не є виходом на ринок — той потребує ще й місцевої оплати, доставки та підтримки.
Технології та інтеграції

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

Стек

  • Next.js, React, TypeScript — коли сайт це каталог і заявки без кошика: сторінки віддаються з сервера, вага HTML тримається малою. Обмеження: коробкової адмінки тут немає, її треба зробити, і це частина робіт
  • OpenCart — коли потрібні кошик, статуси замовлень і чекаут. Обмеження: ціна на конкретну пару «контрагент — товар» у ядрі не передбачена, її доводиться доробляти
  • PostgreSQL — каталог, артикули, заявки в одному місці
  • окреме нормалізоване поле артикула з власним індексом — без нього пошук за кодом із дефісами й слешами не працює
  • nginx, HTTP/2
  • HTTPS + HSTS
  • Cloudflare — кеш і фільтр трафіку. Обмеження: кеш ховає повільний бекенд, а не лікує його

Інтеграції

  • 1С / BAS — номенклатура, ціни, залишки
  • KeyCRM
  • Uspacy CRM
  • Нова Пошта
  • безготівковий розрахунок з ПДВ і без ПДВ
  • Google Tag Manager
  • GA4
  • Telegram-бот для заявок
  • JivoSite
  • Binotel — колтрекінг
Сайт із каталогом проти прайсу в пошті й профілю на майданчику

Чим цей варіант відрізняється від «PDF-прайс поштою + профіль на майданчику»

Як контрагент знаходить позиціюпошуком за артикулом, за секунди й без вас
Актуальність цінодне джерело, оновлюється імпортом за розкладом
Умови роботи й документиокрема сторінка, читається до першого дзвінка
Нові контрагентиприходять із пошуку за артикулом або назвою позиції
Що можна вимірятизапити прорахунку, завантаження прайсу, переходи в месенджер
Комісія й правилаваші, майданчик умов не диктує
Що потрібно від вас

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

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

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

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

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

кошик на B2B-сайті потрібен чи ні?

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

у кожного контрагента своя ціна за договором. як це показати на сайті?

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

чи можна виводити залишки на сайт?

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

пошук за артикулом справді працює, чи це як завжди?

Це найчастіша поломка на B2B-каталогах, і робиться вона руками. Штатний пошук більшості систем шукає підрядок у назві: контрагент вводить «1234 5», а в базі лежить «А-1234/5» — збігу немає, видача порожня, людина йде. Ми заводимо окреме поле нормалізованого артикула: з нього прибираються дефіси, слеші, пробіли й регістр, і воно отримує власний індекс. Пошуковий запит проходить ту саму нормалізацію перед порівнянням. На етапі імпорту прогонимо реальні коди з роздільниками — саме ті, якими користуються ваші менеджери. Обмеження в цього механізму просте: він допомагає тому, хто вже знає код. Тому, хто ще обирає, потрібні категорії й характеристики.

у нас близько двох тисяч позицій — це реально?

Так, це робоча зона. Виміряний нами каталог запчастин тримає 1 848 карток і 138 категорій, віддає першу відповідь за 388,1 мс при 120,2 КБ HTML і має 1 992 адреси в карті сайту без жодного дубліката. Обсяг тут майже ніколи не є проблемою — проблемою є якість даних. Якщо характеристики зліплені в одне текстове поле, фільтр із них не збереться ні на двох тисячах позицій, ні на двохстах. Тому на розборі ми дивимось не скільки у вас рядків, а які в них колонки.

нам однаково дзвонять менеджеру — навіщо тоді сайт?

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

скільки часу займе і від чого залежить строк?

25–50 робочих днів від затвердженого ТЗ, сім етапів: розбір і ТЗ 3–5 днів, структура й прототип 4–6, дизайн 5–9, збірка 7–13, імпорт прайсу 3–8, інтеграції та аналітика 2–5, тестування й передача 1–4. Найдовше йде не верстка, а приведення прайсу до вигляду, придатного для імпорту — і саме цей етап недооцінюють на старті майже всі. Друга річ, що зсуває строк: узгодження умов співпраці всередині компанії, коли з'ясовується, що для трьох старих клієнтів діють правила, яких немає в жодному документі.

чи потрібна друга мовна версія?

Залежить від того, кому ви продаєте. Обидва виміряні нами B2B-каталоги мають по дві мовні версії, і в одному з них hreflang проставлений коректно — uk-ua, ru-ua і x-default. Технічно це не складно, але тут потрібна чесність: переклад інтерфейсу не є виходом на новий ринок. Новий ринок вимагає ще й місцевої оплати, місцевої доставки, місцевої підтримки й місцевих цін — сайт закриває тільки перший шар. Якщо друга мова потрібна для внутрішнього ринку, це одна робота; якщо для експорту — рахуйте її як частину значно більшого проєкту.

Надішліть прайс і опишіть, хто у вас купує.

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

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

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