Розробка B2B-порталу під ключ: ціни, замовлення, 1С

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

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

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

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Розробка B2B-порталу під ключ: ціни, замовлення, 1С
Складний
від 2 тижнів до 3 місяців
Часті запитання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1358
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1250
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    956
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1188
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    929
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    947

Корпоративний клієнт вимагає індивідуальні ціни, права співробітників розмежовані за ролями, а замовлення йдуть безпосередньо в 1С — типовий сценарій для B2B-порталу. Без автоматизації менеджери тонуть у ручному узгодженні, губляться документи, зриваються терміни. Ми розробляємо платформи, що вирішують ці завдання комплексно. Середній обсяг замовлень на таких порталах — від 500 тис. до 5 млн грн на місяць, а ручна праця скорочується на 80%.

Чому B2B-портал — не просто інтернет-магазин?

B2B-портал — закрита веб-платформа для роботи з корпоративними клієнтами: оптові замовлення, управління договорами, спільна робота з документами, особисті кабінети юридичних осіб. Ключова відмінність від B2C — багаторівневе ціноутворення, складна ієрархія користувачів всередині однієї компанії та інтеграція з обліковими системами (1С, SAP).

Як влаштоване розмежування доступу?

У B2B акаунт належить компанії (organization), а не фізичній особі. Всередині компанії — кілька користувачів з різними ролями:

Organization: ТОВ "Технопром"
├── Director (owner) — повний доступ
├── Buyer — замовлення, перегляд цін
├── Accountant — рахунки, акти, фінанси
└── Viewer — лише перегляд каталогу

Запрошення співробітника: директор вводить email, співробітник отримує invite-посилання, встановлює пароль, призначається роль. Реалізація: RBAC (Role-Based Access Control) на рівні маршрутів та об'єктів. Використовуємо RBAC для гнучкого управління правами.

Договірне ціноутворення

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

-- Прайс-лист прив'язаний до організації
CREATE TABLE price_lists (id, organization_id, name, valid_from, valid_to);

-- Правила: для конкретного товару або категорії
CREATE TABLE price_list_rules (
  price_list_id, product_id, category_id,
  price_type ENUM('fixed', 'discount_percent', 'multiplier'),
  value DECIMAL
);

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

Приклад розрахунку ціни

Якщо для товару задано правило з типом discount_percent = 15, то ціна = базова ціна * 0.85. Якщо правил немає — береться базова ціна прайс-листа.

Оптові замовлення та мінімальні суми

B2B-замовлення більші та складніші за роздрібні:

  • Мінімальна сума замовлення (MOQ) — від 50 000 грн.
  • Замовлення за каталоговими одиницями з ваговими / пакувальними коефіцієнтами
  • Відкладені замовлення (pre-order з датою поставки)
  • Швидке додавання за SKU (bulk add form)
  • Шаблони замовлень — зберегти список товарів для повторного замовлення

Документообіг

Після оформлення замовлення автоматично генеруються документи:

  • Рахунок на оплату (PDF) — реквізити платформи + рядки замовлення
  • УПД/накладна — після відвантаження
  • Акт звірки — за період

Генерація PDF: Puppeteer, dompdf (PHP), @react-pdf/renderer (Node.js). Шаблони документів зберігаються в базі, заповнюються даними замовлення.

Інтеграція з 1С

Більшість B2B-клієнтів ведуть облік в 1С. Інтеграція через REST API (HTTP-сервіси на платформі 1С 8.3+). Двостороння синхронізація: залишки та ціни з 1С на портал, замовлення з порталу в 1С.

Періодичність оновлення залишків: від realtime (через 1С-сповіщення) до разу на годину (cron). Для критичних залишків — резервування при створенні замовлення через чергу.

Особистий кабінет організації

Розділи ЛК:

  • Дашборд — оборот за період, статуси замовлень, баланс
  • Замовлення — історія, статуси, відстеження
  • Документи — рахунки, УПД, акти (скачати PDF, запросити оригінал)
  • Довідники — адреси доставки, контактні особи
  • Користувачі — управління співробітниками та ролями
  • Кредитний ліміт — поточний борг, ліміт, історія транзакцій

Як ми розробляємо B2B-портали?

  1. Аналіз — вивчаємо бізнес-процеси, ціноутворення та точки інтеграції.
  2. Проєктування — архітектура БД, прототипи інтерфейсів, специфікація API.
  3. Розробка — ітеративна реалізація модулів (каталог, ціни, замовлення, документи).
  4. Інтеграція — налаштування обміну з 1С, тестування синхронізації.
  5. Тестування — навантажувальне, функціональне, приймальне.
  6. Запуск — деплой, навчання адміністраторів, документація.

Що входить у результат?

  • Повністю готова платформа з індивідуальним дизайном (кастомізація фронтенду)
  • Інтеграція з 1С за REST API (двостороння синхронізація)
  • Система ролей та прав (RBAC) з розмежуванням доступу
  • Генерація документів (рахунки, УПД, акти) у PDF
  • Документація з експлуатації та навчання адміністраторів
  • Гарантія на код та підтримка після запуску

Терміни

Етап Час
MVP (каталог + ціни + замовлення + ЛК + рахунки) 3–4 місяці
Повна платформа (інтеграція 1С, документообіг, аналітика) 5–8 місяців

Терміни залежать від складності ціноутворення та кількості інтеграцій. Отримайте консультацію — ми оцінимо ваш проєкт за один день.

Технічний стек

Шар Технології
Backend Laravel / Django / Spring Boot
Frontend React + Next.js / Vue + Nuxt
API REST + WebSocket для сповіщень
БД PostgreSQL з row-level security
Інтеграції 1С REST API, ERP WebServices
Документи Puppeteer / dompdf

На ринку 5+ років, десятки впроваджених проєктів у ритейлі та дистрибуції. Гарантуємо стабільну роботу порталу під навантаженням.

Для порівняння: B2B-портал на готових CRM-рішеннях часто дає збої при кастомних цінах — наша архітектура справляється в 3 рази швидше завдяки прямому управлінню правилами ціноутворення в базі даних.

Отримайте консультацію щодо вашого проєкту — оцінимо складність та терміни за один день.

Розробка корпоративних порталів та внутрішніх систем

Ми займаємося розробкою корпоративних порталів — CRM, ERP, LMS та Intranet. Кожен такий проект починається не з верстки лендінгу, а з того, як бізнес-правила ляжуть в архітектуру: хто бачить які дані, як синхронізуються 1С та облікова система, як 500 контактів перетворюються на 500 000 без падіння продуктивності. За 7 років ми реалізували понад 40 порталів для компаній з чисельністю від 50 до 5000 співробітників. Оцінимо ваш проект за два робочі дні — просто зв'яжіться з нами.

Як ми забезпечуємо якість архітектури?

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

Три зони, де найчастіше приймаються погані рішення, — модель прав доступу, продуктивність на великих даних та real-time оновлення.

Як побудувати рольову модель для 30 відділів?

Модель прав доступу. «Менеджер бачить тільки своїх клієнтів, керівник відділу — весь відділ, директор — всю компанію, але фінансові дані — тільки фінансовий директор і вище». Це не три ролі — це матриця з ролей, дозволів, організаційних одиниць та володіння записами. Якщо це реалізувати через if ($user->role === 'manager') в контролерах — через півроку код стане непідтримуваним.

Правильний підхід: Spatie Laravel Permission для базової рольової моделі + Policy класи для object-level permission (can('view', $deal) перевіряє не тільки роль, але й володіння). Для складних ієрархічних структур — ABAC (Attribute-Based Access Control) замість RBAC.

Продуктивність на великих даних. CRM з 500 000 контактів, фільтрація по 10 полях, сортування за активністю — це задача, де наївна реалізація видає 15-секундні запити. Composite indexes, денормалізація агрегатів (last_activity_at на самому записі замість MAX по зв'язаній таблиці), Elasticsearch для full-text пошуку по контактах.

Real-time оновлення. Декілька співробітників працюють з одним документом або задачею. Без WebSocket — постійні setInterval з polling кожні 5 секунд, зайве навантаження на сервер, затримка оновлень. Laravel Broadcasting + Pusher/Soketi або власний WebSocket сервер на Node.js — для сповіщень та змін у реальному часі.

CRM-системи

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

Pipeline з кастомними стадіями. Кожна компанія хоче свою воронку. Стадії повинні бути налаштовуваними без деплою. Таблиця pipeline_stages з position, color, is_final, probability — і drag-and-drop для зміни порядку на UI (React DnD або dnd-kit).

Історія змін. Хто і коли змінив статус угоди, поміняв відповідального, додав нотатку. Audit log через Observer або spatie/laravel-activitylog. На UI — timeline з фільтрацією за типом активності.

Інтеграція з поштою. IMAP/SMTP для підключення корпоративної скриньки, автоматична прив'язка вхідних листів до контактів за email-адресою. Це надійно працює тільки при правильній обробці bounce, spam, авто-відповідей — потрібна фільтрація.

Чому ERP — не про код, а про дані?

ERP — це коли CRM, склад, виробництво, бухгалтерія та HR об'єднані в єдину систему. Повний ERP з нуля — рідкісна задача (зазвичай інтегруються з існуючими системами), але модульні системи під конкретний бізнес — регулярна.

Ключовий принцип: фінансові операції повинні бути незмінними. Не UPDATE orders SET status = 'cancelled' — а створення нового запису order_cancellations з посиланням на вихідне замовлення. Це принцип immutable ledger, який спрощує аудит та reconciliation.

Інтеграція з 1С — майже завжди частина ERP-проекту. Двостороння синхронізація: з 1С в портал (довідники, залишки, ціни) та з порталу в 1С (замовлення, документи). RabbitMQ як шина подій між системами надійніше прямого HTTP-взаємодії — у випадку недоступності 1С повідомлення чекають в черзі.

Як влаштовані LMS: платформи навчання

Learning Management System — це курси, модулі, уроки, тести, сертифікати, прогрес користувачів.

Відео-контент — найбільш навантажена частина LMS. Зберігати відео на власному сервері та віддавати через Nginx — погана ідея: дорого, повільно, немає адаптивного бітрейту. Правильно: завантаження в S3/Cloudflare R2, транскодування через AWS Elemental MediaConvert або Mux, HLS-плейлист для адаптивного стрімінгу через Video.js або Plyr.

Прогрес перегляду — через періодичне відправлення watch_position з фронтенду (кожні 10–30 секунд), зберігання в Redis з періодичною синхронізацією в PostgreSQL. Не зберігати кожну секунду в БД — це вб'є продуктивність.

SCORM-сумісність — якщо потрібна інтеграція з корпоративними тренінговими матеріалами. Окремий модуль, є готові бібліотеки (scorm-again).

Intranet та HR-портали

Корпоративний інтранет: новини, документи, оргструктура, HR-процеси (відпустки, заявки, KPI).

Оргструктура в базі даних — це ієрархічна структура. Adjacency list (parent_id на кожному записі) простий в реалізації, але повільний при рекурсивних запитах. Nested Sets або Closure Table швидше для читання ієрархії, складніше при змінах. В PostgreSQL — рекурсивні CTE (WITH RECURSIVE) з adjacency list — баланс між простотою та продуктивністю.

Погодження документів та заявок — workflow engine. Прості лінійні погодження (співробітник → менеджер → HR → бухгалтер) можна зробити без спеціального движка. Нелінійні (паралельні гілки, умовні переходи, делегування) — варто розглянути готові рішення: Temporal.io для workflow orchestration або власний скінченний автомат на базі патерну state-machine.

Що входить в роботу

При замовленні розробки корпоративного порталу ви отримуєте:

  • Архітектурну документацію (ER-діаграми, схема інтеграцій, матриця ролей)
  • Повний код в Git-репозиторії з CI/CD
  • Доступи до інфраструктури (хостинг, бази даних, сховища)
  • Навчання адміністраторів та ключових користувачів (2–3 сесії)
  • Гарантійну підтримку на 3 місяці після запуску

Наші принципи проєктування спираються на офіційну документацію Laravel з авторизації (Policies) та рекомендації щодо роботи з чергами.

Технічний стек для порталів

Слой Інструменти
Backend Laravel + PostgreSQL
Frontend React + TypeScript (Inertia.js або окремий SPA)
Real-time Laravel Echo + Soketi / Pusher
Пошук Meilisearch (швидкий старт) або Elasticsearch (об'єм)
Черги Laravel Queue + Redis
Файли S3-compatible (MinIO self-hosted або AWS S3)
Моніторинг Sentry + Telescope (dev)

Орієнтири за термінами

Тип порталу Термін
CRM (базовий) 10–16 тижнів
LMS (курси + відео + тести) 14–22 тижні
HR-портал (відпустки, KPI, оргструктура) 12–20 тижнів
Корпоративний ERP (модульний) 24–52 тижні

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