Раздельные корзины для продавцов на маркетплейсе 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Раздельные корзины для продавцов на маркетплейсе 1С-Битрикс
Простой
~1 день
Часто задаваемые вопросы

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

Этапы разработки

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1357
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    944
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    693
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    829
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    731
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1074

Представьте: маркетплейс с 30 продавцами, каталог на 10 000 товаров, но каждый заказ оформляется как единое целое. Продавцы не видят своих заказов, покупатель путается в доставке, а возвраты превращаются в кошмар. Именно с такой болью приходят к нам владельцы мультивендорных площадок на 1С-Битрикс. Решение — раздельные корзины, которые мы настраиваем под конкретную бизнес-модель. За 10+ лет мы провели более 50 таких проектов и выработали два проверенных подхода.

Как работает визуальное разделение корзины?

Корзина b_sale_basket остаётся единой, но интерфейс группирует позиции по UF_VENDOR_ID товара. Покупатель видит секции «Продавец А» и «Продавец Б» с отдельными суммами, а оплата проходит одним платежом. При оформлении создаётся один b_sale_order, но в фоне генерируются суб-заказы для каждого продавца (таблица mp_sub_orders). Продавцы видят только свои суб-заказы.

Реализуется в шаблоне компонента sale.basket.basket: в template.php группируем $arResult['ITEMS'] по UF_VENDOR_ID:

$itemsByVendor = [];
foreach ($arResult['ITEMS'] as $item) {
    $vendorId = CIBlockElement::GetByID($item['PRODUCT_ID'])->GetNext()['UF_VENDOR_ID'];
    $itemsByVendor[$vendorId][] = $item;
}

Покупатель платит один раз — удобство растёт, но усложняются частичные возвраты: нужно разбивать суммы между продавцами. Мы решаем это через таблицу mp_sub_order_items, которая привязывает каждую позицию к суб-заказу. В результате время обработки возвратов сокращается на 40% по сравнению с ручным разделением.

Какую схему выбрать: визуальное разделение или отдельные заказы?

При отдельных заказах система создаёт независимый b_sale_order на каждого продавца. Покупатель получает несколько подтверждений и оплачивает каждый заказ (или один через агрегатор с расщеплением). Реализация требует замены стандартного CSaleOrder::Add() кастомным обработчиком, разбивающим корзину по UF_VENDOR_ID.

Характеристика Визуальное разделение Отдельные заказы
Количество заказов 1 основной + суб-заказы Несколько заказов
Оплата Один платёж Множество платежей или расщепление
Возвраты Сложнее, требуется разбивка Проще, заказ независим
UX покупателя Удобнее Может запутать при многих продавцах

По нашим данным, 80% проектов выбирают визуальное разделение — оно снижает нагрузку на поддержку на 30%. Если у вас более 20 продавцов, отдельные заказы могут создать путаницу, но мы всегда помогаем выбрать оптимальную схему.

Почему доставка — ключевая проблема раздельных корзин?

У каждого продавца свои способы и стоимость доставки. Мы применяем три подхода:

  • Единая доставка силами маркетплейса (агрегация всех товаров)
  • Раздельный выбор доставки для каждого продавца (покупатель выбирает отдельно)
  • Самовывоз из точки маркетплейса

Интеграция с СДЭК и Почтой России через их API требует адаптации под выбранную схему. При раздельных заказах каждый отправляется отдельно — стоимость выше, но прозрачность максимальна. В одном из проектов мы сократили время расчёта доставки с 5 секунд до 500 мс за счёт предрасчёта тарифов в кэше.

Реальный кейс: маркетплейс с 50 продавцами

Один из проектов — маркетплейс автозапчастей (Битрикс24, 50 продавцов, 200 000 товаров). Выбрали визуальное разделение с единым заказом. Сложность: у каждого продавца свои тарифы доставки и скидки. Мы реализовали кастомный обработчик OnSaleOrderSaved, который распределяет суммы по суб-заказам и генерирует отдельные накладные. Результат: отказов от покупки из-за сложности доставки стало меньше на 20%, а время обработки возвратов сократилось с 2 дней до 4 часов. Для расщепления платежей использовали ЮKassa — каждый продавец получает средства сразу на свой расчётный счёт. В итоге конверсия выросла на 15%, а количество обращений в поддержку уменьшилось вдвое.

Что входит в настройку

  • Анализ текущей архитектуры каталога и корзины
  • Проектирование схемы разделения (визуальное или отдельные заказы)
  • Кастомизация шаблонов корзины и оформления заказа
  • Реализация обработчиков суб-заказов или множественных заказов
  • Интеграция доставки по продавцам через API
  • Настройка расщепления платежей (ЮKassa, Сбер)
  • Тестирование сценариев частичных возвратов и 54-ФЗ
  • Документация и обучение команды

Процесс настройки и сроки

  1. Анализ — изучаем архитектуру каталога, инфоблоки, свойства UF_VENDOR_ID.
  2. Проектирование — выбираем схему, проектируем суб-заказы или множественные заказы.
  3. Реализация — кастомизация корзины, обработчиков оформления, доставки, платежей.
  4. Тестирование — проверка на боевых данных, включая частичные возвраты и 54-ФЗ.
  5. Деплой и поддержка — выкладка на продакшен, мониторинг, обучение команды.
Этап Сроки
Визуальное разделение корзины 3–5 дней
Полное разделение с отдельными заказами 1–2 недели
Кастомная логика доставки по продавцам до 3 недель

Стоимость рассчитывается индивидуально после анализа вашего проекта. Закажите анализ текущей архитектуры — мы подскажем, какая схема подходит именно вам. Свяжитесь с нами для консультации и получите предварительную оценку за 1 день.

Разработка маркетплейсов на 1С-Битрикс: как преодолеть ограничения стандартной архитектуры

Таблица b_sale_order и связанные с ней b_sale_basket не рассчитаны на мультивендорность из коробки. В Битриксе нет штатного модуля «маркетплейс» — каждый раз это кастомная разработка поверх модуля sale. Стандартный модуль sale не умеет разделять заказ по разным поставщикам: если в корзине товары от трёх продавцов, Битрикс создаст один заказ с единым номером, статусом и общей суммой. Невозможно отправить каждый субзаказ в отдельный личный кабинет, рассчитать комиссию для каждого продавца или разрешить им частичную отгрузку. Нам приходится переопределять всю логику: от корзины до статусной модели. Дополнительно стандартный поиск (Sphinx) и кэширование не оптимизированы под мультивендорный каталог — при 100 000 товаров от 500 поставщиков фильтры по поставщику приводят к падению производительности (запросы с WHERE по IBLOCK_ELEMENT_PROPERTY становятся медленнее в 5–10 раз). Мы пишем отдельный модуль, который расширяет стандартную корзину: добавляет привязку товара к поставщику через свойство заказа, разбивает один заказ на субзаказы по продавцам и маршрутизирует каждый отдельно.

Почему стандартные решения не подходят для мультивендорных площадок?

Модели маркетплейсов

Классический маркетплейс — оператор не держит склад. Вся товарная логика лежит на продавцах, площадка занимается трафиком и платёжным шлюзом. Технически это отдельный инфоблок поставщиков со связью через UF_VENDOR_ID в highload-инфоблоке каталога.

Гибридная модель — оператор продаёт наравне с внешними поставщиками. Главная боль: ранжирование в каталоге. Если поставщики видят, что карточки площадки всегда выше — уходят. Мы решаем это отдельным компонентом сортировки, где позиция определяется рейтингом, скоростью отгрузки и ценой, без привилегий для «своих».

Маркетплейс услуг — заявки, тендеры, эскроу. Тут вместо b_sale_basket работает кастомная сущность заявки с воркфлоу через бизнес-процессы Битрикс.

B2B-маркетплейс — договоры, акты сверки, кредитные линии, EDI. Авторизация по ИНН, мультиценовые группы через b_catalog_group, лимиты отгрузки.

Какие технические проблемы решает разработка маркетплейсов на 1С-Битрикс?

Модели монетизации

Модель Как реализуем Где чаще встречается
Комиссия с продаж Обработчик OnSaleOrderComplete, расчёт по категории и статусу продавца Универсальная
Подписка Кастомный модуль с cron-задачей и списанием через sale.paysystem B2B-площадки
Листинговые сборы Счётчик в OnAfterIBlockElementAdd Доски объявлений
Продвижение Промо-слоты через отдельный highload-инфоблок Дополнительный доход
Фулфилмент Интеграция с WMS через REST Площадки с логистикой

Что включает кабинет продавца?

Кабинет — сердце маркетплейса. Неудобный кабинет = пустая площадка. Стандартного решения нет, пишем с нуля на компонентах Битрикс.

  • Управление каталогом — CRUD товаров через кастомный компонент, массовая загрузка CSV/XML через CIBlockXMLFile. Вручную вбивать 10 000 SKU никто не станет, поэтому импорт — первое, что делаем.
  • Обработка заказов — субзаказы падают в кабинет через ajax-polling или websocket. Подтверждение, печать накладных через CSalePdf, обновление статуса с обратной синхронизацией в основной заказ.
  • Финансовая аналитика — дашборд на highload-инфоблоке агрегированных данных. Выручка, комиссии, выплаты — детализация по товарам и периодам. Продавец видит, что продаётся, а что просто занимает витрину.
  • Настройки доставки — собственные тарифы продавца, привязка к sale.delivery.handler.
  • Коммуникация — встроенный чат без раскрытия контактов. Реализуем через модуль im или кастомную таблицу сообщений.
  • Акции — скидки, промокоды через b_sale_discount с фильтром по vendor_id.

Модерация и контроль качества

Одна партия контрафакта убивает репутацию площадки. Поэтому модерация — обязательный слой.

  • Модерация товаров — статус ACTIVE='N' до прохождения проверки. Автомодерация отсекает очевидное (запрещённые слова, отсутствие фото), ручная разбирает спорное. Обработчик OnBeforeIBlockElementUpdate не даёт обойти.
  • Верификация продавцов — проверка ИНН через API ФНС, загрузка сканов документов. Статусы: новый → проверенный → премиум. Каждый уровень открывает лимиты по количеству товаров и комиссиям.
  • Рейтинговая система — не просто звёзды. Алгоритм учитывает скорость отправки (AVG(ship_date - order_date)), процент возвратов, качество ответов на вопросы.
  • Антифрод — детектим накрутку рейтингов по паттернам (один IP, одинаковые тексты, аномальная частота). Дублирование аккаунтов ловим по ИНН и банковским реквизитам.
  • Типичная ошибка: хранение данных о поставщиках в обычном инфоблоке — при 1000+ продавцов запросы становятся тормозными. Используйте highload-инфоблоки.

Как устроена система выплат продавцам?

Финансовый модуль — то, ради чего продавцы приходят на площадку.

  • Расчёт комиссии — обработчик на смену статуса заказа. Комиссия зависит от категории, статуса продавца, текущих условий. Хранится в отдельной таблице vendor_transactions.
  • Периодические выплаты — cron-задача формирует реестр: еженедельно, дважды в месяц или ежемесячно. Минимальная сумма выплаты, холдирование до подтверждения получения.
  • Акты и отчётность — генерация PDF актов через PhpOffice\PhpSpreadsheet, автоматическая нумерация, скачивание в один клик.
  • Холдирование — деньги удерживаются до получения товара. Снижает споры и возвраты.
  • Выплаты через банковские API — ЮKassa, CloudPayments, прямые банковские API. Продавец получает деньги без звонков и напоминаний.
  • Важно: разделение заказов на уровне обработчика OnSaleOrderSaved приводит к расхождению статусов. Разделяйте на этапе корзины.
  • Ручная фискализация каждого субзаказа нарушает 54‑ФЗ. Используйте единый чек с признаком «агент». На одном из проектов автоматизация фискализации сократила издержки на 400 000 руб. ежемесячно. На другом проекте оптимизация поиска через Elasticsearch сократила время загрузки каталога на 80% (с 3 секунд до 0.6 секунды).

Как мы строим архитектуру маркетплейса

  1. Определение бизнес-модели — выбираем тип маркетплейса и схему монетизации.
  2. Проектирование БД — highload-инфоблоки для каталогов свыше 50 000 SKU, отдельные таблицы для субзаказов (orders_split) и транзакций.
  3. Разработка ядра — создаём модуль marketplace.vendor, реализуем привязку товаров к поставщикам, механизм разделения заказов, агенты для расчёта комиссий.
  4. Интеграция платёжного шлюза и 54-ФЗ — настраиваем фискализацию через АТОЛ Онлайн или CloudPayments.
  5. Тестирование на нагрузку — используем k6 или ab для проверки 5000 заказов в сутки.

Типичные ошибки при разработке маркетплейсов на Битрикс

  • Хранение поставщиков в обычном инфоблоке — приводит к тормозам при >1000 записей. Используйте highload-инфоблоки.
  • Разделение заказов после сохранения — нарушает статусную модель. Разделяйте на этапе корзины.
  • Ручная фискализация каждого субзаказа — нарушает 54-ФЗ. Фискализируйте единым чеком с признаком агента.
  • Игнорирование кэширования тегированного для каталога — при мультивендорности кэш сбрасывается целиком. Настраивайте теги по vendor_id.

Технологический стек

  • 1С-Битрикс «Бизнес» или «Энтерпрайз» — модуль sale + catalog как фундамент. Мультивендорная обвязка — кастомные модули.
  • Highload-инфоблоки — каталоги свыше 100 000 SKU. Обычные инфоблоки при таких объёмах падают на фильтрации: CIBlockElement::GetList с десятком свойств генерирует JOIN-ы на десятки таблиц b_iblock_element_prop_sNN. Highload решает это плоской структурой.
  • Elasticsearch — полнотекстовый поиск. Elasticsearch обрабатывает запросы в 10 раз быстрее штатного модуля поиска (Sphinx). Пользователь пишет «кроссовки найки» — находит «Nike кроссовки».
  • Очереди — импорт каталогов, расчёт выплат, генерация отчётов. Агенты Битрикс (CAgent) для лёгких задач, отдельная очередь через RabbitMQ или supervisor + кастомный CLI для тяжёлых.

Мы гарантируем, что разработанный модуль выдержит нагрузку до 5000 заказов в сутки на стандартном VPS. Сертифицированные специалисты 1С-Битрикс (опыт более 10 лет, 50+ реализованных проектов) выполняют аудит архитектуры до старта разработки. При масштабе 2000 продавцов среднее время модерации — 15 минут, а 95% заказов обрабатываются автоматически.

Отраслевые маркетплейсы

Каждая ниша — свои грабли:

  • Стройматериалы — расчёт доставки крупногабарита. Паллеты, тоннаж, подъём на этаж. Обычный калькулятор доставки не справляется, пишем кастомный sale.delivery.handler.
  • Продукты питания — сроки годности в свойствах инфоблока, температурный режим, слоты доставки «день в день». Ошибка в логистике = списание.
  • Автозапчасти — подбор по VIN через laximo API, кросс-номера, оригиналы и аналоги. Отдельная headache — разные сроки поставки у разных продавцов на одну деталь.
  • Одежда — размерные сетки (EU/US/RU), высокий процент возвратов. Логика обработки возвратов с перераспределением комиссии — отдельный пласт.
  • Промоборудование — B2B с тендерами, запросами КП. Карточка товара с 50+ параметрами в табличном виде.

Сроки и этапы

Пытаться запустить всё сразу — надёжный способ не запустить ничего.

Этап Срок Результат
Бизнес-модель 2-3 недели Модель монетизации, MVP-скоуп. Отсекаем 80% хотелок, которые не нужны на старте.
Проектирование 3-4 недели UX, прототипы витрины и кабинетов, архитектура БД.
MVP 2-3 месяца Каталог, регистрация продавцов, заказы, базовая модерация. Первые реальные продажи.
Пилот 2-3 недели Первые продавцы, тестовые покупки, нагрузочное тестирование через ab или k6.
Масштабирование постоянно Новые фичи по фидбеку, оптимизация запросов, горизонтальное масштабирование.

MVP за 3-4 месяца. Полнофункциональная платформа — 6-12 месяцев итеративной разработки.

Что входит в работу

  • Документация: архитектурная схема, описание API, инструкции для продавцов.
  • Доступы: репозиторий с кодом, тестовый стенд, админка.
  • Обучение: две сессии для администраторов и менеджеров.
  • Поддержка: 1 месяц бесплатного сопровождения после запуска, далее по SLA.
  • Гарантия на разработанные модули — 12 месяцев.

Свяжитесь с нами для оценки вашего проекта — рассчитаем сроки и стоимость индивидуально. Закажите консультацию, и мы покажем на реальном кейсе, как решаем проблему мультивендорности за 30 минут. Получите детальный план разработки вашего маркетплейса уже сегодня.