У компании уже могут быть сайт, CRM, 1С, складская система и электронный документооборот. Кабинет не заменяет их автоматически. Он становится внешним рабочим окном, а данные и решения остаются в назначенных системах.
Главная ошибка первой версии - перенести в браузер весь внутренний процесс. Клиенту нужен короткий маршрут: увидеть свои условия, выполнить действие и получить достоверный результат. Состав такого маршрута определяет MVP.
Как спроектировать B2B-личный кабинет?
- Выбрать один процесс клиента, который сегодня требует участия менеджера.
- Описать организации, пользователей, роли и доступные каждой роли действия.
- Назначить источник для цен, остатков, заказов, оплат и документов.
- Зафиксировать статусы и правила переходов между ними.
- Ограничить MVP одним сквозным маршрутом и реальными исключениями.
- Настроить обмен с 1С или другой учётной системой без ручных дублей.
- Проверить изоляцию клиентов, журнал действий и восстановление после ошибки.
- Запустить пилот на небольшой группе партнёров и измерить результат.
Какие роли нужны в B2B-кабинете?
В B2B один аккаунт редко равен одному клиенту. Контрагентом выступает организация, а внутри неё работают сотрудники с разными полномочиями. Права задают на сочетание пользователя, организации, договора, объекта и действия.
| Роль | Что видит | Что делает | Что проверять |
|---|---|---|---|
| Администратор клиента | Организацию и её пользователей | Приглашает сотрудников, назначает доступ | Право управлять именно этой организацией |
| Покупатель | Доступный каталог, цены и остатки | Собирает черновик и создаёт заказ | Договор, ассортимент, склад и лимит |
| Согласующий | Заказы своего подразделения | Подтверждает или возвращает заказ | Сумму, полномочия и актуальную версию |
| Бухгалтер клиента | Счета, оплаты и закрывающие документы | Скачивает документы, сообщает о расхождении | Юрлицо, договор и период документа |
| Менеджер поставщика | Назначенных клиентов и исключения | Уточняет заказ, меняет разрешённый статус | Зону ответственности и историю решения |
Список ролей не нужно копировать из оргструктуры. Роль существует, если у неё есть отдельное действие или отдельная граница данных. Иначе интерфейс и тесты усложняются без пользы.
Какие функции нужны клиентам и партнёрам?
Функции выбирают по частым обращениям, а не по полноте каталога возможностей. Если менеджеры каждый день отвечают о цене, наличии, статусе и документах, именно эти вопросы образуют первый кандидат на самообслуживание.
| Блок | Задача клиента | Разумная первая версия | Позже |
|---|---|---|---|
| Каталог | Найти доступную позицию | Поиск, фильтр, единица и доступность | Подбор аналогов и конфигуратор |
| Условия | Увидеть свою цену | Цена, валюта, срок действия | Сложные акции и персональные наборы |
| Заказ | Отправить потребность | Черновик, позиции, адрес, комментарий | Шаблоны, повтор и массовая загрузка |
| Статусы | Понять, что происходит | Небольшой словарь статусов с датой | Прогноз и детализация по позициям |
| Документы | Получить нужный файл | Счёт, акт или накладная по заказу | Сверка комплектности и ЭДО |
| Обращения | Сообщить об исключении | Тема, заказ, сообщение и вложение | Претензии, возвраты и SLA |
Где должны храниться данные кабинета?
Для каждого показателя назначают один источник истины. Кабинет может хранить копию для быстрого чтения, но обязан знать версию, время обновления и правило разрешения конфликта. Иначе клиент увидит одну цену, а заказ будет принят по другой.
| Данные | Возможный владелец | Что получает кабинет | Контроль |
|---|---|---|---|
| Контрагенты и договоры | 1С или ERP | Внешний ID, статус, условия | Архивные и заблокированные записи |
| Каталог и характеристики | 1С, ERP или PIM | Товар, единицы, группы | Неизменяемые идентификаторы |
| Цены | Учётная система | Вид цены или готовый расчёт | Дата, валюта, договор и количество |
| Остатки | Складская система | Доступность по складу | Время обновления и резерв |
| Заказы | 1С, ERP или OMS | Номер, состав, сумма и статус | Связь ID кабинета с внешним ID |
| Файлы | ЭДО или хранилище | Разрешённая версия документа | Срок ссылки и право на скачивание |
Если одна сущность собирается из нескольких систем, правило объединения фиксируют до разработки. Название компании или товара не подходит как ключ: совпадения и переименования создадут ошибочные связи.
Как провести заказ и документы через кабинет?
Заказ должен иметь один прослеживаемый маршрут от черновика клиента до записи в системе учёта. Каждый переход меняет понятное состояние, сохраняет автора и возвращает клиенту результат, который можно связать с исходной заявкой.
- Клиент выбирает организацию, адрес, позиции и количество.
- Кабинет повторно проверяет доступ, цены, кратность и обязательные поля.
- Заказ получает технический ID и защиту от повторной отправки.
- Учётная система создаёт запись или возвращает конкретную ошибку.
- Кабинет сохраняет внешний номер и показывает подтверждённый статус.
- Новые статусы и документы связываются с тем же заказом.
- Необработанная ошибка попадает ответственному, а не исчезает у клиента.
Документ не следует искать по совпадению номера в имени файла. Связь заказа, отгрузки, счёта и акта должна приходить из системы-владельца через устойчивые идентификаторы.
Как показывать персональные цены и остатки?
Цена в B2B зависит не только от товара. На неё могут влиять организация, договор, вид цены, валюта, количество, склад и период. Кабинет должен показать клиенту результат расчёта и сохранить условия, по которым был отправлен заказ.
| Ситуация | Что показывать | Как поступить при изменении |
|---|---|---|
| Цена подтверждается сразу | Сумму, валюту и срок действия | Повторно проверить перед отправкой |
| Нужен расчёт менеджера | Статус «запрос цены» | Не выдавать ориентир за предложение |
| Остаток изменился | Доступное количество и время данных | Предложить исправить заказ |
| Цена изменилась в черновике | Старое и новое значение | Попросить подтверждение клиента |
| Условие не найдено | Понятное ограничение | Передать менеджеру без выдуманного расчёта |
Кэш ускоряет каталог, но не заменяет финальную проверку. Перед созданием заказа система должна подтвердить критичные условия в актуальном источнике.
Как связать B2B-кабинет с 1С?
Интеграцию с 1С начинают с распределения ответственности, а не с выбора протокола. Для каждого потока фиксируют направление, событие, поля, внешний ID, допустимую задержку и действие при ошибке. Технический способ выбирают после этого.
| Поток | Направление | Событие | Проверка |
|---|---|---|---|
| Контрагенты и договоры | 1С → кабинет | Изменение статуса или условий | Внешний ID и разрешённый доступ |
| Каталог и цены | 1С → кабинет | Изменение или расписание | Версия выгрузки и полнота |
| Заказ | Кабинет → 1С | Подтверждение клиентом | Повтор, сумма и внешний номер |
| Статусы | 1С → кабинет | Изменение заказа или отгрузки | Разрешённые переходы и время |
| Документы | 1С или ЭДО → кабинет | Формирование новой версии | Организация, заказ и право скачивания |
Платформа 1С поддерживает несколько механизмов интеграции, включая REST и CommerceML. Их возможности не отменяют проектирование данных и ошибок. Эти технические вопросы отдельно разобраны в материале про надёжную интеграцию по API.
Как защитить данные разных B2B-клиентов?
Главный риск кабинета - не только вход постороннего, но и доступ авторизованного пользователя к чужой организации, цене, заказу или файлу. Проверка должна выполняться на сервере для каждого объекта и действия, даже если ссылка или кнопка скрыта в интерфейсе.
- Запрещать доступ по умолчанию
- Выдавать минимально необходимые права
- Проверять организацию и объект на каждом запросе
- Не доверять идентификатору из адресной строки
- Разделять просмотр, изменение и подтверждение
- Повторно подтверждать критичные действия
- Журналировать входы, выгрузки и изменения
- Автоматически отзывать доступ у ушедших сотрудников
- Не помещать персональные и договорные данные в технические ошибки
- Проверять матрицу доступа при каждом новом модуле
До пилота определяют состав персональных данных, основания обработки, место и срок хранения, порядок удаления и ответственных. Общая фраза «кабинет защищён» не заменяет модель угроз и проверку конкретных сценариев доступа.
Что включить в MVP B2B-личного кабинета?
MVP кабинета доказывает один полезный маршрут, а не наличие личного профиля. Сильная первая версия позволяет выбранной группе клиентов выполнить частое действие без менеджера и получить тот же подтверждённый результат в учётной системе.
| Включить | Обычно отложить |
|---|---|
| Приглашение и вход представителей клиента | Несколько способов сложной федеративной авторизации |
| Одна организация и проверенные роли | Все варианты холдингов и филиалов |
| Нужный каталог и персональные условия | Полный PIM и визуальный конфигуратор |
| Создание одного типа заказа | Возвраты, претензии и сложные согласования |
| Небольшой словарь статусов | Детальный трекинг каждой операции |
| Один тип документа | Полный архив и юридически значимый ЭДО |
| Журнал ошибок и ручной маршрут | Автоматическое разрешение всех исключений |
Границы первой версии полезно сверить с отдельным руководством о составе MVP продукта. Если типовая платформа уже закрывает маршрут, сначала сравните её с no-code и заказной разработкой.
Как проходит разработка и запуск кабинета?
- 01
Наблюдение процесса
Фиксируем реальные запросы клиентов, действия менеджеров и исключения.
- 02
Роли и данные
Назначаем владельцев сущностей, права, статусы и правила конфликтов.
- 03
Прототип маршрута
Проверяем экраны и переходы на одном заказе до полной разработки.
- 04
Тестовый контур
Соединяем ограниченный набор данных и проверяем негативные сценарии.
- 05
Пилот клиентов
Подключаем небольшую группу, наблюдаем использование и ручные обходы.
- 06
Приёмка и развитие
Сверяем критерии, передаём регламенты и выбираем следующий сценарий.
Требования к первой версии лучше фиксировать через сценарии, данные и критерии, а не через список экранов. Структуру такого документа можно взять из статьи о техническом задании на разработку.
По каким критериям принимать B2B-кабинет?
Критерий приёмки описывает наблюдаемый результат на известных данных. Фраза «интеграция работает» слишком широка. Нужно заранее определить исходную запись, действие, ожидаемое состояние обеих систем и способ увидеть ошибку.
| Область | Проверка | Ожидаемый результат |
|---|---|---|
| Изоляция | Пользователь меняет ID чужого заказа | Доступ запрещён, событие записано |
| Цена | Два клиента открывают один товар | Каждый видит свои подтверждённые условия |
| Заказ | Клиент дважды отправляет форму | В учёте создан один заказ |
| Ошибка | 1С временно недоступна | Заказ сохранён, клиент видит статус, ответственному создана задача |
| Статус | Заказ изменён в системе учёта | Кабинет показывает разрешённое новое состояние и время обновления |
| Документ | Пользователь открывает ссылку другого клиента | Файл не выдаётся даже при известном адресе |
| Аудит | Менеджер корректирует заказ | Сохранены автор, время, старое и новое значение |
Какие метрики показывают пользу кабинета?
Пользу измеряют по изменению клиентского процесса, а не по числу экранов или зарегистрированных аккаунтов. До пилота нужна исходная линия: сколько запросов проходит через менеджеров, где возникают ожидание, ошибки и повторная работа.
- доля активных приглашённых организаций;
- доля заказов, созданных клиентами без повторного ввода менеджером;
- время от начала заказа до его регистрации в учётной системе;
- количество обращений о цене, наличии, статусе и документах;
- доля заказов, возвращённых из-за неверных условий или данных;
- расхождения цен, остатков и статусов между системами;
- ошибки доступа и попытки обращения к чужим объектам;
- время от сбоя обмена до восстановления процесса;
- доля клиентов, которые вернулись в кабинет после первого заказа.
Стоимость разработки зависит от сценариев, ролей, интеграций и требований к эксплуатации. Общие составляющие сметы вынесены в материал о стоимости веб-приложения, чтобы не смешивать проектирование кабинета с ценовым обзором.
Частые вопросы
Чем B2B-личный кабинет отличается от интернет-магазина?
Интернет-магазин обычно показывает общий каталог и стандартные условия. B2B-кабинет учитывает договор, организацию, роли её сотрудников, персональные цены, лимиты, документы и рабочий маршрут заказа.
Обязательно ли интегрировать кабинет с 1С?
Нет. Но если цены, остатки, контрагенты, заказы и документы ведутся в 1С, ручное дублирование быстро сделает кабинет недостоверным. Для MVP можно ограничить обмен одним сценарием и небольшой группой данных.
Какие функции включить в первую версию?
Один сквозной сценарий, который можно принять по фактам: вход представителя компании, просмотр своих условий, создание заказа, получение статуса и нужного документа. Остальные модули добавляют после проверки использования.
Можно ли показывать разным клиентам разные цены?
Да, если заранее определён источник цены и порядок расчёта. Кабинет должен проверять организацию, договор, вид цены, период действия и права пользователя на каждом запросе, а не только скрывать элементы интерфейса.
Кто должен быть владельцем B2B-кабинета?
Бизнес-владелец отвечает за правила заказов и обслуживания, а технический владелец за работу системы и обмен данными. Без бизнес-владельца спорные статусы, цены и исключения останутся без решения.
Как понять, что кабинет готов к запуску?
Все роли проходят согласованные сценарии на тестовых организациях, один клиент не видит данные другого, заказы и статусы сходятся с системой учёта, ошибки попадают в журнал, а команда умеет обработать исключение вручную.
Источники и границы материала
- 1С: стандарт обмена коммерческой информацией CommerceML 2
- 1С: REST-интерфейс платформы 1С:Предприятие
- 1С: интеграция 1С:УНФ с сайтами и другими системами
- OWASP: рекомендации по проектированию авторизации
- OWASP: проверка авторизации транзакций
- Официальный текст 152-ФЗ о персональных данных
Материал носит информационный характер. Конкретная архитектура, бюджет, режим работы с данными и уровень человеческого контроля зависят от процесса и требований компании.
Опишите один маршрут B2B-клиента
Покажите, как клиент сейчас запрашивает цену, оформляет заказ и получает документы. Мы поможем определить роли, источники данных и границу первой проверяемой версии кабинета.
