B2B-портал на Битриксе с миллионом товаров

www.tesli.com

Компания TESLI занимается производством электрощитов, монтажом электрооборудования, продажей низковольтных комплектующих, электроустановочных изделий и источников света ведущих международных производителей.

Перед нами была поставлена единственная большая задача — доработать B2B-портал. На момент старта работ он был запущен, но с сильно ограниченным функционалом (можно было только оформить заказ). На сайте были проблемы:

  • с импортом данных;
  • со скоростью работы.

В итоге мы сделали сделали полноценный сайт с каталогом продукции, в котором содержится порядка 800 тыс. товарных позиций.  При этом сайт работает одновременно и как розничный интернет-магазин, и как b2b-портал.

Проект работает на одном сервере на обычной лицензии 1С-Битрикс «Бизнес». На этапе тестирования мы подключали до миллиона товарных позиций, все работало без снижения уровня производительности.

Мы не будем подробно останавливаться на функционале розничного интернет-магазина, а расскажем о решениях для сегмента b2b.

ФУНКЦИЯ «БЫСТРЫЙ ЗАКАЗ»

Эта функция позволяет быстро добавить товар в корзину зарегистрированным пользователям, если заказчик знает ассортимент. Можно добавить номера артикулов или загрузить их из своей базы.

Заказ по артикулам

ЛИЧНЫЙ КАБИНЕТ

Личный кабинет (ЛК) b2b-пользователя кардинально отличается от ЛК розничного покупателя. Очевидное и основное отличие — невозможно сразу отправить заказ в обработку и мгновенно его оплатить, потому что b2b-сделки обычно сопровождаются множеством документов. 

личный кабинет

Рассмотрим подробнее весь путь клиента от заказа до доставки.

Клиент создает счет-заказ, который фиксирует текущие цены на три дня. На портале представлено много импортного оборудования, поэтому цены меняются в зависимости от курса  доллара. Например, клиент хочет приобрести 100 позиций, он создает на них счет и фиксирует цены. За это время он может сформировать счет на оплату: есть опции создания счета на часть позиций в заказе или на весь товар сразу. Счет на оплату резервирует товары. Если по какой-то причине заказ находится в кабинете  больше трех дней без каких-либо действий, то система автоматически предлагает пересчитать цены. 

У одного ЛК может быть несколько юридических лиц, несколько договоров, по каждому договору могут быть разные цены, способы оплаты и отгрузки. Во время просмотров товаров в каталоге пользователь должен выбрать соответствующий договор. После этого автоматически отобразятся актуальные для этого договора условия.

Структура ЛК

После оплаты счета становится доступна информация:

  • наличие товаров на складе;
  • степень готовности их к отгрузке;
  • отсутствующие товары;
  • ближайшие поставки товаров.

В любой момент пользователь может заказать частичную  отгрузку собранных товаров. Например, в заказе 300 позиций, 100 из них уже собрано, а 200 должны поступить на склад в течение двух дней. Клиент может оформить заказ на доставку или самовывоз 100 позиций. После доставки всех позиций заказу присваивается статус «выполненный». 

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

ИНДИВИДУАЛЬНЫЙ РАСЧЕТ ЦЕН

В проекте реализована функция индивидуального расчета цен для b2b-клиентов.

Система настроена так, что у любого договора клиента (напомним, их может быть несколько у одного клиента) может быть указана индивидуальная скидка на индивидуальную группу товаров. Например, есть  договора, которые заключены по тендерам. В них была зафиксирована определенная цена на определенный набор товаров. И эта цена будет отображена пользователям ЛК, в котором оформлен этот договор.

На сегодняшний день на портале зарегистрировано несколько тысяч  b2b-клиентов. И для каждого из них может быть рассчитана индивидуальная цена, которая отображается:

  • в каталоге;
  • в корзине;
  • во всех счетах.

КАТАЛОГ

Каталог товаров настроен на базе Elasticsearch. На этом движке размещены:

  • сам каталог;
  • все характеристики;
  • выборки по построению каталога;
  • алгоритмы поиска;
  • настройки фильтров.
Каталог Карточка товара

Однако при этом поддерживается и стандартный механизм поиска и фильтрации 1С-Битрикс. Если по какой-либо причине Elasticsearch отваливается, то сайт продолжает полноценно функционировать. Да, скорость становится ниже, но работа не останавливается. 

API

На этом проекте мы реализовали API. 

API

Любой бизнес-контрагент может интегрировать свою бизнес-систему (1С, AXAPTA, SAP) с личным кабинетом и получать от проекта данные по:

  • актуальным ценам;
  • наличию товаров;
  • по остаткам на складе.

Кроме того, возможно даже оформлять заказы, не заходя на сайт. Эта опция доступна любому контрагенту, нужно лишь в своей версии 1С добавить соответствующий функционал, благодаря которому он не выходя из своей системы 1С  в своих документах может видеть остатки и цены в Тесли и условно одной кнопкой у себя добавлять товары в заказ. 

Если вы задумываетесь о том, чтобы расширить функционал интернет-магазина до B2B-портала или создать его с нуля, мы будем рады помочь вам в этом.