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-портала или создать его с нуля, мы будем рады помочь вам в этом.