Розробка B2B-порталу на 1С-Бітрікс під ключ
Стандартний інтернет-магазин на Бітріксі не підходить для оптових продажів: одна ціна для всіх, публічний каталог, відсутність лімітів кредиту та алгоритму узгодження замовлень. Коли менеджер витрачає 40 хвилин на оформлення кожного замовлення вручну через CRM, а дилер телефонує, щоб дізнатися залишки — це симптоми відсутності B2B-порталу. Ми проєктуємо архітектуру, налаштовуємо ціноутворення, інтегруємо з 1С та впроваджуємо бізнес-процеси узгодження. Зв'яжіться з нами, щоб оцінити ваш проєкт.
Чим B2B-портал принципово відрізняється від публічного магазину
Архітектурно — інша логіка авторизації, модель ціноутворення та сценарій замовлення. B2B-портал на Бітріксі впроваджується в 3-5 разів швидше самописного рішення при співставному функціоналі. Кастомна розробка вимагає в середньому 30-40 тижнів, тоді як на Бітрікс — 12-22.
Авторизація та групи користувачів. У bitrix:sale користувач прив'язаний до однієї групи. У B2B потрібна ієрархія: компанія → контактна особа → роль (закупівельник, бухгалтер, директор). Штатні групи не підходять — вони плоскі. Реалізується через кастомний модуль з таблицею зв'язків company_user та D7 ORM (Bitrix\Main\ORM\Data\DataManager). Права на дії задаються через бітову маску в Highload-блоці ролей.
Типи цін. Модуль catalog підтримує декілька типів цін: CATALOG_GROUP_ID у таблиці b_catalog_price. Для B2B це обов'язкова механіка — кожній групі користувачів призначається свій тип ціни. Індивідуальні контрактні ціни реалізуються через обробник події OnSaleOrderBeforeSaved або кастомний провайдер цін.
Каталог із залишками в реальному часі. B2B-покупці замовляють великими партіями і перевіряють доступність до оформлення. Дані про залишки b_catalog_store_product оновлюються при синхронізації з 1С через CommerceML. Якщо синхронізація раз на годину — клієнт бачить застарілі дані. Рішення: REST API 1С + інкрементальне оновлення через CCatalogStoreProduct::Update(). Економія часу менеджерів — до 40 годин на місяць, що при ставці $20/год дає $800 економії щомісяця.
Як організувати авторизацію на B2B-порталі?
Для B2B необхідний кастомний модуль авторизації, що реалізує ієрархію «Компанія — Контактна особа — Роль» з розподілом прав. Це дозволяє, наприклад, дати бухгалтеру доступ до фінансових документів, але не до замовлень. Комерційна платформа 1С-Бітрікс надає D7 ORM для побудови таких зв'язків.
Ключові модулі та компоненти
- Модуль
sale — основа для кошика та замовлень. У B2B доопрацьовується: додаємо статуси (На узгодженні, Узгоджено, Відхилено), налаштовуємо бізнес-процеси через модуль bizproc.
- Модуль
catalog — ціноутворення, торгові пропозиції (SKU), управління складами. Обов'язково задіюються CatalogGroup та DiscountCoupon.
- Модуль
crm (якщо схема з Бітрікс24) — синхронізація замовлень порталу з угодами CRM через REST API crm.deal.add / crm.deal.update.
- Особистий кабінет — історія замовлень з повторенням, поточні замовлення, заборгованість, документи (рахунки, накладні в PDF), управління контактними особами.
Як інтегрувати B2B-портал з 1С без порушення штатного обміну?
Стандартний обмін через CommerceML закриває товари, ціни, склади, замовлення. Але не закриває:
- Ліміти кредиту та заборгованість — вивантажуються окремим XML або REST-сервісом 1С. На стороні Бітрікс — кастомний Highload-блок
b2b_credit_limits.
- Документи — рахунки та накладні зберігаються в 1С. Портал запитує список через REST, кешує в
/upload/b2b/docs/ з TTL 24 години.
- Специфікації — індивідуальні договірні позиції, зберігаються в Highload-блоці з прив'язкою до компанії.
Важливо: не ламати стандартний обмін CommerceML. Кастомні поля та логіка — через події OnBeforeCatalogImport1C, OnSuccessCatalogImport1C, окремі таблиці.
Продуктивність під навантаженням
B2B-портал з 500+ активними компаніями та піковим навантаженням вимагає:
- Тегований кеш каталогу:
CIBlock::clearIblockTagCache($iblockId) при оновленні залишків.
- Альтернатива для персональних цін: кеш по ключу
user_group_price_{groupId}_{productId}.
- Сесії в Redis при балансуванні.
-
Elasticsearch для пошуку по каталогу замість модуля
search.
Етапи розробки
Розгорнути таблицю етапів
| Етап |
Зміст |
Термін (тижні) |
| Аналітика |
Схема ролей, сценарії замовлення, карта інтеграцій з 1С |
2-3 |
| Проєктування БД |
Highload-блоки, D7-сутності, схема ціноутворення |
1-2 |
| Бекенд |
Модуль авторизації, ціноутворення, інтеграція 1С |
4-8 |
| Особистий кабінет |
Замовлення, документи, управління компанією |
3-5 |
| Узгодження замовлень |
Бізнес-процеси bizproc, сповіщення |
1-3 |
| Тестування |
Навантажувальне, приймальне, інтеграційне |
2-3 |
Разом: 12-22 тижні в залежності від складності інтеграції з 1С.
Типові помилки та їх вирішення
Розгорнути таблицю помилок
| Помилка |
Вирішення |
| Зберігання персональних цін у сесії |
Використовувати Redis або БД |
| Синхронізація 1С блокує сайт |
Інкрементальний обмін, тільки змінені позиції |
Бізнес-процеси узгодження в init.php |
Винести в окремий модуль з конфігурованими правилами |
Покрокова інструкція: як відбувається інтеграція з 1С
- Налаштування CommerceML на стороні 1С: задати регламент вивантаження товарів, цін, залишків.
- Створення REST-сервісу в 1С для передачі кредитних лімітів та документів.
- Реалізація обробників подій Бітрікс (
OnBeforeCatalogImport1C, OnSuccessCatalogImport1C).
- Тестування обміну на тестовому контурі.
- Запуск у продакшн та моніторинг.
Що входить у роботу
- Повна технічна документація (архітектура, схема БД, API-контракти).
- Вихідний код кастомних модулів з ліцензією на використання.
- Доступи до dev- та prod-оточень, репозиторію.
- Навчання адміністраторів (до 8 годин) та інструкції для користувачів.
- Гарантійна підтримка 6 місяців з реакцією протягом 4 годин.
Наша компанія має 7+ років досвіду в розробці на 1С-Бітрікс, реалізовано понад 50 B2B-проектів для виробничих та дистриб'юторських компаній. Ми на ринку з 2016 року.
Готові обговорити ваш проєкт? Зв'яжіться з нами для консультації. Замовте розробку B2B-порталу під ключ та отримайте оцінку вартості та термінів.
B2B-портали на 1С-Бітрікс
Наша спеціалізація — розробка B2B-порталів на 1С-Бітрікс. Не просто «інтернет-магазинів для оптовиків». Тут інший всесвіт: у кожного контрагента свій прайс, свій кредитний ліміт, свій набір документів і свій менеджер у Краснодарі. Роздрібний покупець обирає за картинкою та відгуками. Оптовик вбиває 50 артикулів у форму швидкого замовлення і чекає рахунок через 30 секунд.
У нас 10+ років досвіду в цій ніші, понад 50 проектів впровадження. Гарантія на роботи — 12 місяців. Сертифіковані спеціалісти 1С-Бітрікс. Зв'яжіться з нами — ми проаналізуємо вашу поточну структуру цін і запропонуємо архітектуру порталу під ваш бізнес.
Як влаштоване ціноутворення в B2B-порталі?
Якщо в роздробі одна ціна для всіх, то в B2B — матриця. Типи цін в b_catalog_price множаться на групи контрагентів, накопичувальні знижки, валютні перерахунки та договірні умови. Саме тут проект або злітає, або тоне в багах.
Типи цін і прайс-листи. У Бітрікс типи цін задаються через CCatalogGroup. Стандартний набір: роздрібна, дрібнооптова, оптова, дилерська, дистриб'юторська. Кожен контрагент прив'язаний до групи користувачів, група — до типу ціни. Але реальність складніша: один дилер може бачити оптові ціни на електроніку та дистриб'юторські на аксесуари. Це вже не штатний механізм — потрібна кастомна логіка через обробник OnSaleBasketItemBeforePriceSave.
Знижки — прогресивна шкала за обсягом (від 100 штук — мінус 5%, від 500 — мінус 12%), накопичувальні за період, сезонні, за категоріями. Знижки комбінуються через пріоритети в b_sale_discount. Порядок застосування — окремий головний біль: знижка може бути до або після фіксованої; пріоритети налаштовуються в «Правилах роботи з кошиком». При 20+ правилах налагодження перетворюється на квест.
Кредитні ліміти. Контрагенту встановлюється поріг відвантаження в кредит. Поточна заборгованість синхронізується з 1С через регістр РасчетыСКонтрагентами. Перевищення ліміту → блокування оформлення замовлення. Без цього менеджери відвантажують у борг, а бухгалтерія потім розгрібає дебіторку.
Договірні ціни — прайс прив'язаний до конкретного договору: терміни дії, номер, умови пролонгації. Договір закінчився — ціни перемикаються на базові автоматично. Реалізується через користувацькі властивості замовлення та обробник OnSaleComponentOrderProperties.
Валюта — для ЗЕД обов'язково. Перерахунок за курсом ЦБ (парсинг cbr.ru через CCurrencyRates::ConvertCurrency()) або фіксований курс контракту.
Що входить до дилерського кабінету?
Замовлення — повна історія з фільтрацією за статусами, датами, сумами. Повтор попереднього замовлення в один клік — для регулярних закупівель це економить години. Шаблони замовлень для типових позицій.
Фінанси — сальдо взаєморозрахунків, акт звірки, історія оплат. Все, що бухгалтер зазвичай запитує по email і чекає три дні — в кабінеті миттєво. Дані тягнуться з 1С через REST або CommerceML.
Документи — рахунки, накладні, рахунки-фактури, УПД, акти. Формуються в 1С, PDF пушиться на портал через інтеграцію. Завантаження одним кліком. Жодного «надішліть повторно, загубилося в пошті».
Управління співробітниками дилера — адміністратор створює обліковки з розмежуванням прав. Менеджер із закупівель формує замовлення, бухгалтер бачить лише фінанси, керівник — загальну картину. Реалізується через розширення стандартних груп користувачів Бітрікс.
Швидке замовлення: артикул + кількість = рахунок
B2B-клієнт знає, що йому потрібно. Каталог з красивими картками йому не потрібен — потрібна форма: артикул, кількість, наступний рядок.
- Форма швидкого замовлення — автопідстановка найменування та ціни при введенні артикула. Використовуємо AJAX-пошук по
b_iblock_element.XML_ID або PROPERTY_ARTICLE. 50 позицій за 3 хвилини
- Імпорт з Excel/CSV — клієнт вивантажив зі своєї системи, завантажив на портал. Автоспівставлення артикулів, перевірка наявності, формування замовлення. Парсинг через
PHPExcel або PhpSpreadsheet
- Кошик з повною інформацією — вага, об'єм, кількість місць, орієнтовна вартість доставки до оформлення
Чому інтеграція з 1С критична для B2B-порталу?
Без актуальних даних з 1С портал марний. Менеджер Іванов змінив ціну на цвяхи — через 15 хвилин дилер в Красноярську має бачити нову ціну.
| Дані |
Напрямок |
Механізм |
| Каталог, характеристики |
1С → Портал |
CommerceML або REST, 15–60 хв |
| Ціни за типами та контрагентами |
1С → Портал |
REST API, за подією або розкладом |
| Залишки по складах |
1С → Портал |
REST, 5–15 хв або realtime через HTTP-сервіс 1С |
| Замовлення |
Портал → 1С |
REST, реальний час |
| Статуси, відвантаження |
1С → Портал |
За подією |
| Взаєморозрахунки |
1С → Портал |
1–2 рази на день |
| Документи (PDF) |
1С → Портал |
За подією |
CommerceML простіше: штатний модуль обміну, XML-файли, мінімум налаштувань. Але він повільний на великих каталогах і не підтримує кастомні сутності (кредитні ліміти, сальдо). REST API через HTTP-сервіс 1С — гнучкіший, швидший, але потребує доопрацювання на стороні 1С. На практиці часто використовуємо гібрид: CommerceML для каталогу, REST для цін, залишків і документів. Згідно з офіційною документацією 1С-Бітрікс, для B2B-порталів критично налаштувати синхронізацію довідників та залишків у реальному часі. Детальніше про CommerceML та REST API 1С-Бітрікс.
ЕДО: юридично значущий обмін без паперу
Для великих B2B-проектів:
- Провайдери — Контур.Діадок, СБІС, Калуга Астрал. Рахунки-фактури, акти, накладні в електронному вигляді з юридичною силою
- КЕП — кваліфікований електронний підпис. Контрагент підписує акт прямо в кабінеті
- Роумінг між операторами — без цього половина партнерів, у яких інший оператор ЕДО, залишиться за бортом
Багатофілійність
- Регіональні склади — клієнт бачить залишки найближчого складу, може обрати склад відвантаження. Товар є в Новосибірську, але немає в Москві — портал покаже обидва варіанти з різними термінами
- Автоназначення менеджера — дилер з Краснодару працює з Іваном, з Єкатеринбурга — з Мариною. За полем
UF_REGION в картці контрагента
- Локальні умови — мінімальна сума замовлення, умови доставки, терміни — відрізняються за регіонами
Процес розробки B2B-порталів
Розробка B2B-порталів включає п'ять етапів. Нижче таблиця з орієнтовними термінами та результатами.
| Етап |
Термін |
Результат |
| Аудит процесів |
1–2 тижні |
Схема бізнес-процесів, карта інтеграцій |
| Проектування |
2–3 тижні |
Архітектура, прототипи, специфікація обміну з 1С |
| Розробка |
4–8 тижнів |
Кабінети, цінові механіки, інтеграції, документообіг |
| Тестування |
1–2 тижні |
Функціональне, інтеграційне, навантажувальне на реальних даних |
| Пілот |
2–3 тижні |
5–10 дилерів, зворотний зв'язок, доопрацювання |
Що входить в роботу:
- Повна проектна документація (ТЗ, архітектурна схема, протоколи інтеграції)
- Налаштування серверного оточення та розгортання (On-Premise або хмара)
- Перенесення всіх користувацьких даних та конфігурацій
- Навчання адміністраторів порталу (2 заняття онлайн)
- Гарантійна підтримка 12 місяців з реакцією до 4 годин
Після запуску — техпідтримка та розвиток. B2B-портал — жива система, яка еволюціонує разом з бізнесом.
Середня економія часу менеджера на обробці замовлень — до 20 годин на тиждень.
На старті перевірте коректність типів цін та груп користувачів, обмежте кількість знижкових правил (не більше 3–4), протестуйте інтеграцію з 1С на реальних даних, видайте дилерам доступи та проведіть навантажувальне тестування на 50 одночасних користувачів.
Замовте розробку B2B-порталу та отримайте консультацію спеціаліста. Зв'яжіться з нами для обговорення вашого проекту — ми підготуємо попередній розрахунок та запропонуємо оптимальне рішення.