Ми розробляємо оптові (B2B) розділи інтернет-магазинів на платформі 1С-Бітрікс уже понад 7 років. За цей час реалізовано понад 50 проектів — від простих дворівневих прайсів до повномасштабних дилерських порталів з кредитними лімітами, інтеграцією 1С та електронним документообігом. Якщо вам потрібно, щоб роздрібний каталог працював і для оптових клієнтів — з окремими цінами, мінімальними партіями, швидким замовленням за артикулом та завантаженням Excel, — ми запропонуємо рішення під ключ. Вартість базового рішення стартує від 20 000 грн. Економія до 30% часу на обробку замовлень. Надаємо гарантію на роботи 6 місяців. Сертифіковані фахівці 1С-Бітрікс. Оптовий розділ збільшує швидкість оформлення замовлення в 3 рази порівняно з ручною випискою. Оцінимо ваш проект і назвемо терміни протягом дня. Замовте розробку B2B магазину на 1С-Бітрікс вже сьогодні, щоб ваші B2B-клієнти отримали зручний інструмент для закупівель. Розробка оптового інтернет-магазину 1С-Бітрікс потребує глибокого розуміння B2B-процесів.
Чому стандартного функціоналу Бітрікс недостатньо?
Вбудовані типи цін та групи користувачів покривають лише прості сценарії. Для B2B-сценаріїв необхідні індивідуальні знижки, порогові ціни, валютні курси, кредитні ліміти та окремий документообіг. Без доробок ядра та модулів не обійтися.
Як налаштувати типи цін для B2B?
В основі цінової архітектури — таблиця b_catalog_group. Кожен тип ціни ("Роздрібна", "Оптова", "Дилерська") прив'язується до групи користувачів. Налаштування типів цін бітрікс для B2B вимагає уваги до групи користувачів. Механізм CCatalogProduct::GetOptimalPrice() повертає найкращу ціну для авторизованого клієнта. Але на практиці цього мало.
Для індивідуальних знижок контрагентів використовуємо правила кошика sale.discount з умовами по групах. Порогові ціни (від 100 штук — одна ціна, від 1000 — інша) реалізуються через діапазони кількості в b_catalog_price (QUANTITY_FROM / QUANTITY_TO). Якщо оптовики працюють у різних валютах — створюємо типи цін у різних валютах, конвертація через модуль currency.
Важливий нюанс: тип ціни прив'язаний до групи, а не до користувача. Для 200 контрагентів створювати 200 груп нераціонально. У таких випадках пишемо обробник події OnGetOptimalPrice, який підтягує ціну з 1С або ERP через кеш. Докладніше про типи цін читайте в офіційна документація.
| Сценарій | Реалізація в Бітрікс | Обмеження |
|---|---|---|
| 3–5 цінових рівнів | Типи цін + групи користувачів | Стандартний механізм, працює з коробки |
| Порогові ціни за кількістю | Діапазони в b_catalog_price |
Не відображаються в картці без доробки шаблону |
| Індивідуальний прайс на контрагента | Подія OnGetOptimalPrice + зовнішнє джерело |
Вимагає кешування, інакше — запит до 1С на кожен товар |
| Знижка на категорію для групи | Правила кошика sale.discount |
Не видна в каталозі до додавання в кошик |
Мінімальна партія та кратність замовлення
Для оптових товарів потрібні мінімальна кількість та крок (кратність). У Бітрікс є поле "Коефіцієнт одиниці виміру" (b_catalog_measure_ratio), але воно працює лише як множник. Повноцінна реалізація вимагає:
- Властивість інфоблоку "Мінімальна партія" — перевірка через
OnSaleBasketItemBeforeUpdate. - Властивість "Кратність" — округлення кількості вгору до найближчого кратного.
- Відображення в картці товару: селектор з кроком (10, 20, 30) або поле з валідацією.
- Використовуємо ORM для запитів до
b_catalog_measure_ratio.
Як реалізувати швидке замовлення за артикулом: крок за кроком
Оптові клієнти часто замовляють за артикулами, не гортаючи каталог. Покрокова інструкція:
- Створіть форму "артикул + кількість" — список рядків. Сервер матчить артикул з
PROPERTY_CML2_ARTICLEабоXML_ID, додає в кошик. - Реалізуйте завантаження Excel/CSV за допомогою PhpSpreadsheet (через Composer). Парсер розбирає файл, формує кошик. Неспівставлені артикули виводяться у звіті.
- Додайте кнопку "Повторити замовлення" в особистому кабінеті, що копіює склад у поточний кошик через
Bitrix\Sale\Basket::loadItemsForOrder().
Цей алгоритм швидкого замовлення дозволяє клієнтам швидко додавати товари в кошик для опту.
Кредитні ліміти та відстрочка платежу
У B2B оплата часто постфактум. Механізм:
- У профілі контрагента (UF-поля) зберігаються ліміт та поточна заборгованість.
- Обробник
OnSaleOrderBeforeSavedперевіряє: сума замовлення + заборгованість ≤ ліміт. - При перевищенні — замовлення не оформлюється, показується доступний залишок.
- Після оплати (статус через 1С-обмін) заборгованість перераховується. Це забезпечує надійний контроль дебіторської заборгованості.
Документообіг в особистому кабінеті
Оптовий клієнт очікує: рахунки на оплату (генеруються при створенні замовлення, PDF через sale_print або TCPDF), акти звірки (з 1С, у highload-блоці), накладні та УПД (з ЕЦП), історія замовлень з фільтрацією за періодом, статусом, сумою. Налаштування документообігу бітрікс дозволяє автоматично генерувати PDF-рахунки. Стандартний компонент sale.personal.order доопрацьовується або замінюється кастомним.
Чому розділення кошиків критичне?
Технічно кошик у Бітрікс один на користувача. Якщо клієнт купує і в роздріб, і оптом, потрібна ізоляція. Кошик для опту повинен бути ізольований від роздрібного. Рішення:
-
Два сайти в одній установці — кошики розділяються за
FUSER_ID+LID. Мінус: дублювання налаштувань. -
Властивість елемента кошика (
BASKET_TYPE = wholesale). При оформленні фільтруються лише оптові позиції. Мінус: складніша реалізація.
Перший варіант надійніший: два сайти зі спільним каталогом, різними шаблонами та незалежними кошиками. Перемикання — за піддоменом або розділом URL.
Інтеграція з 1С для оптового розділу
Стандартний CommerceML (Wikipedia) не покриває B2B-сутності: контрагенти (маппінг за ІПН), взаєморозрахунки (борг, кредитний ліміт), індивідуальні прайси (контрагент-товар-ціна). Потрібна доробка: або розширення XML-вузлів, або окремий REST-обмін. Інтеграція 1С через REST API зменшує кількість помилок.
Чек-лист типових помилок при впровадженні оптового розділу
- Типи цін не прив'язані до груп користувачів — ціна не перераховується.
- Відсутня обробка мінімальної партії — клієнт може замовити 1 штуку.
- Кошик спільний для роздробу та опту — плутанина в залишках.
- Немає кешування індивідуальних цін — гальмує каталог.
- Документи не генеруються автоматично — клієнти йдуть.
| Етап | Тривалість | Результат |
|---|---|---|
| Аналіз та проектування | 2-3 дні | Технічне завдання |
| Налаштування типів цін | 2-4 дні | Працююча цінова схема |
| Розробка модулів | 5-10 днів | Готовий функціонал |
| Інтеграція з 1С | 3-5 днів | Обмін даними |
| Тестування | 2 дні | Звіт |
Що входить до нашої роботи
При замовленні розробки оптового розділу ви отримуєте:
- Аудит поточного каталогу та налаштування типів цін.
- Реалізація механізмів мінімальної партії, кратності, кредитних лімітів.
- Розробка інтерфейсу швидкого замовлення та завантаження Excel.
- Налаштування документообігу (рахунки, акти) в особистому кабінеті.
- Інтеграція з 1С (контрагенти, взаєморозрахунки, прайси).
- Тестування та передача документації.
- Підтримка після запуску (за договором).
Наші компетенції
Понад 7 років досвіду в розробці на 1С-Бітрікс. Стек: PHP 8.1+, інфоблоки v2.0, ORM, компоненти 2.0, MySQL/MariaDB, інтеграції з ЮKassa, Сбер, СДЕК, Пошта Росії. Працюємо як з хмарними, так і з коробковими версіями Бітрікс24. Надаємо гарантію на роботи 6 місяців. Сертифіковані фахівці 1С-Бітрікс.
Отримайте консультацію щодо вашого проекту з використанням ORM та кешування — ми запропонуємо оптимальне рішення та назвемо терміни.







