Кейс B2B упаковка - производитель гофрокартонной упаковки из Тосно (Ленинградская область). Заказчик пришёл с задачей разгрузить отдел продаж: 6 менеджеров обслуживали 1200 постоянных клиентов, тонули в звонках и переписке по электронной почте. Мы разработали онлайн-кабинет с заказами, ценами по договору, статусами производства и документами. Через 5 месяцев 73% заказов пошли через кабинет, нагрузка на менеджеров снизилась на 55%, цикл сделки сократился с 4 до 1,5 рабочих дней.
Проект сделан студией Сайты2.рф из Кронштадта (СПб) в 2025 году. Стек: PHP-фреймворк Laravel 11, интеграция с 1С:Управление производственным предприятием (УПП) через REST API, PostgreSQL, очереди Redis. В статье: исходная ситуация, поэтапные решения и финальные цифры. Имя завода и название бренда обезличены, числа сверены с клиентом перед публикацией.
О клиенте
Производитель гофрокартонной упаковки и тары из Тосно. Работает с 2008 года, обслуживает оптовых клиентов в Санкт-Петербурге, Ленинградской области и Северо-Западе. Производственная площадка - 8 400 м², своя печать, штанцевая высечка, упаковка под нестандартные размеры.
Ключевые цифры на момент старта:
- 1 200 постоянных B2B-клиентов в базе 1С:УПП
- 280-320 заказов в месяц
- Средний чек оптового заказа - 87 000 ₽
- 6 менеджеров отдела продаж
- Складские остатки 4 200 SKU в наличии и на отгрузке
- Сеть из 8 регулярных клиентов с долей более 5% выручки каждый
Конкуренция в нише плотная: 14 крупных производителей в Северо-Западном округе плюс федеральные сети с филиалами в СПб и ЛО.
Задача от заказчика
Коммерческий директор сформулировал проблему так: "У нас 6 менеджеров принимают 320 заказов в месяц. Половина времени уходит на повторяющиеся вопросы: где мой заказ, когда отгрузка, какая у меня цена по договору. Клиенты раздражаются, мы упускаем сделки. Нужен онлайн-кабинет, как у крупных федералов".
Что было не так:
- Заказы принимаются по телефону, почте и через мессенджеры, источники теряются
- У каждого клиента своя матрица скидок, цены обсуждаются в каждом разговоре
- Статусы производства видны только в 1С:УПП у менеджера, клиент не знает, на каком этапе его заказ
- УПД и акты отправляются вручную, бухгалтерия завалена запросами
- История заказов клиента ему не доступна
- Менеджер уходит в отпуск - его клиенты звонят коллегам и теряют ответы
Цели на проект:
- Онлайн-кабинет для всех 1 200 постоянных клиентов
- Корзина с автоматической подстановкой цен по договору
- Статус производства в реальном времени (заказ принят, в работе, готов, отгружен)
- История заказов и документов (УПД, акты, договоры)
- Снижение нагрузки на менеджеров на 40-50%
- Срок - 18 рабочих недель, бюджет - 2 400 000 ₽
Этап 1. Аудит процесса продаж
Перед разработкой провели аудит процесса продаж и интервью с командой. Занимает 8-12 рабочих дней, но без аудита B2B-проект превращается в "копию интернет-магазина с обвязкой", что для B2B не работает.
Что выяснили из интервью с менеджерами
Поговорили с 6 менеджерами, коммерческим директором и руководителем производства. По 45-60 минут с каждым. Находки:
- 62% звонков - повторяющиеся вопросы ("где мой заказ", "какая цена", "когда отгрузка")
- 34% времени менеджера уходит на оформление документов и отправку их клиенту
- Среднее время обработки нового заказа - 4 рабочих дня от запроса до отгрузки
- 18 клиентов из 1 200 дают 67% выручки - им нужен персональный сервис
- 7 нестандартных моделей продукции делаются по индивидуальному ТЗ, остальные 4 200 SKU - регулярная номенклатура
Что выяснили из интервью с клиентами
Опросили 14 действующих клиентов (закупщики, операционисты, владельцы малого бизнеса). Находки:
- 89% хотели бы видеть статус заказа онлайн, без звонков
- 71% готовы оформлять повторяющиеся заказы самостоятельно через сайт
- 64% теряют документы и просят менеджеров переотправить - онлайн-архив закрыл бы проблему
- 5 клиентов из 14 готовы платить +1-2% к цене за удобный сервис самообслуживания
Подробнее про подход через CJM - в статье о структуре сайта через CJM.
Этап 2. Архитектура и стек
После аудита стало ясно: 1С-Битрикс или Tilda с таким объёмом B2B-логики не справятся. Выбрали PHP-фреймворк Laravel 11 как основу. Почему:
- Гибкость на бэкенде, нет ограничений CMS на структуру данных
- Лёгкое подключение очередей через Redis для обмена с 1С
- Готовая экосистема Laravel Nova для админки и Sanctum для авторизации
- Опыт команды студии - 12+ проектов B2B-уровня на Laravel за последние 3 года
Архитектурные решения
- Бэкенд: Laravel 11, PostgreSQL 15, Redis для очередей и кэша
- Фронтенд: Vue 3 + Vite, отдельная сборка для кабинета
- Интеграция с 1С:УПП: REST API через очереди, синхронизация каждые 5 минут
- Авторизация: Laravel Sanctum + SMS-подтверждение через сервис SMS Aero
- Хостинг: Selectel VDS в Санкт-Петербурге, бэкап каждые 6 часов
Сервер в РФ - условие 152-ФЗ для проектов с обработкой персональных данных представителей клиентов. Подробнее - в обзоре хостингов с серверами в РФ.
Защита периметра
B2B-кабинет с финансовыми операциями требует более серьёзной защиты, чем обычный сайт:
- HTTPS с TLS 1.3 и HSTS
- Двухфакторная авторизация через SMS
- Лог всех действий пользователя в кабинете (для расследования инцидентов)
- IP-фильтр на админ-панели Laravel Nova
- Ежедневный аудит изменений в БД через триггеры
Про общие требования к SSL - в гайде по SSL-сертификатам.
Этап 3. Интеграция с 1С:УПП
Техническая задача - синхронизация с 1С:Управление производственным предприятием. Конфигурация с глубокой кастомизацией: производственный учёт, штанцевая высечка, печать, маршрутные карты. Коробочной интеграции под Laravel не существует.
Что разработали
Команда программистов 1С на стороне клиента написала REST API на стороне 1С:УПП. Со стороны Laravel реализовали:
- Получение справочника контрагентов с матрицей цен по договору (раз в час)
- Получение остатков и резервов на складе (каждые 5 минут)
- Получение статусов производства по конкретному заказу (по запросу клиента)
- Отправка новых заказов с сайта в 1С с автоматическим созданием документа "Заказ покупателя"
- Получение готовых УПД и актов после отгрузки
Очереди Redis обеспечивают надёжность: если 1С временно недоступна, запросы накапливаются и обрабатываются после восстановления связи.
Что выяснилось в процессе
При первом тестовом обмене из 1С пришли цены без учёта НДС - сайт показывал их напрямую, клиент видел отличающуюся цифру против УПД. Доработали API на стороне 1С, теперь цены приходят с разбивкой "без НДС / НДС / с НДС".
Второй нюанс - матрица скидок индивидуальна для каждого клиента и зависит от объёма годовых закупок. Решили так: 1С пересчитывает прайс-листы под клиента раз в сутки ночью и отдаёт готовый JSON. Сайт не делает вычисления, показывает финальную цену.
Этап 4. Личный кабинет
Основной интерфейс - личный кабинет клиента. Структура определена по результатам интервью.
Разделы кабинета
- Главная - текущий баланс по договору, активные заказы, остатки по регулярной номенклатуре
- Каталог продукции - 4 200 SKU с фильтрами по типу упаковки, размерам, плотности картона, типу печати
- Корзина - выбор товаров с автоматической подстановкой цен из матрицы
- Мои заказы - история со статусами и фильтром по периоду
- Документы - УПД, акты, договор, спецификации в архив за 3 года
- Производство - статус текущих заказов в реальном времени (принят, в работе, готов, отгружен)
- Заявки на нестандарт - форма для индивидуальных размеров и тиражей
- Профиль - реквизиты, контакты, привязка менеджера
Ключевые UX-решения
- На главной всегда виден баланс по договору и сумма открытых заказов
- В корзине показывается оставшийся объём по согласованной квоте на месяц
- Статус производства подсвечивается цветами: жёлтый "в работе", зелёный "готов", синий "отгружен"
- Документы скачиваются одним кликом, есть массовая выгрузка за период
- Уведомления о смене статуса заказа приходят на email и в Telegram (по выбору клиента)
Подробнее про настройку метрик в проекте - в гайде по Яндекс.Метрике.
Этап 5. Документооборот
Раньше клиент терял УПД и обращался в бухгалтерию повторно. В кабинете закрыли этот процесс полностью.
Что сделали
- Все УПД, акты и счёт-фактуры подгружаются из 1С:УПП автоматически после проведения отгрузки
- Документы хранятся в кабинете 3 года, доступны для скачивания в PDF и XML (для систем электронного документооборота)
- Массовая выгрузка документов за период одним архивом
- Подключили опциональный обмен с Контур.Диадок и СБИС через ЭДО
- Договор и спецификации подписываются электронной подписью с использованием Контур.Сайн
К концу 3-го месяца после запуска бухгалтерия отметила снижение запросов "переотправить документы" на 78%.
Подводные камни
За 5 месяцев работы столкнулись с тремя серьёзными проблемами. Их разбор пригодится команде с похожим проектом.
Сложность бизнес-правил в производстве
Гофрокартон не продаётся в "штуках". Каждый заказ - размер, плотность, печать, нестандартная высечка. У клиента 14 разных правил формирования цены под разные типы продукции. Перенесли всю логику на сторону 1С: сайт показывает результат.
Производительность при пиковых нагрузках
В первый месяц при выгрузке прайс-листа на всех 1 200 клиентов сервер падал каждую ночь в 3:00. Решили через очереди Redis: пересчёт идёт батчами по 50 клиентов с интервалом 30 секунд. После доработки - стабильная работа.
Авторизация бухгалтеров и сотрудников клиента
У одного юрлица 2-5 сотрудников с разными правами (закупщик оформляет заказ, бухгалтер только скачивает документы). Реализовали систему ролей внутри одной учётной записи компании. Главный пользователь приглашает сотрудников по email и назначает права.
Подробнее про сложные интеграции в статье о SEO для интернет-магазинов (хотя B2B-кабинет не магазин, многие технические подходы пересекаются).
Результаты за 5 месяцев
Все цифры подтверждены аналитикой Laravel-логов, отчётами 1С:УПП и интервью с командой клиента.
| Показатель | До | После | Изменение |
|---|---|---|---|
| Доля заказов через онлайн-кабинет | 0% | 73% | - |
| Среднее число активных клиентов в кабинете | 0 | 875 | - |
| Время на обработку нового заказа | 4 раб. дня | 1,5 раб. дня | -62% |
| Нагрузка на менеджеров (часов в день) | 8,4 ч | 3,8 ч | -55% |
| Запросов "где мой заказ" в день | 42 | 6 | -86% |
| Запросов "переотправить документы" | 14/день | 3/день | -78% |
| Среднее число заказов в месяц на клиента | 1,8 | 2,4 | +33% |
Коммерческий директор прокомментировал результат: "За 5 месяцев освободили двух менеджеров под развитие. Они переключились на холодный поиск новых клиентов, а текучка по постоянникам теперь идёт через кабинет".
Окупаемость проекта - 11 месяцев по расчёту клиента, с учётом снижения расходов на ФОТ менеджеров и роста среднего числа заказов на клиента.
Применимо ли в вашей нише
Подход с B2B-онлайн-кабинетом на Laravel и интеграцией с 1С работает для производств и оптовых поставщиков:
- Производители строительных материалов (плитка, краски, утеплители)
- Оптовые поставщики продуктов питания
- Производители металлоконструкций и арматуры
- Дистрибьюторы электротехники и инструмента
- Производители мебели для B2B-сегмента
- Поставщики офисных принадлежностей и расходников
- Производители химии и лакокрасочной продукции
Базовый бюджет на проект такого уровня - от 1 800 000 ₽, срок 14-22 рабочих недели. Точная смета рассчитывается на калькуляторе стоимости или на бесплатной встрече.
Подробнее про разработку корпоративных сайтов и порталов - на странице услуги. Истории других проектов - в разделе кейсов, включая кейс грузоперевозок B2B и кейс IT-аутсорса.
FAQ
Сколько стоит B2B-онлайн-кабинет с интеграцией 1С?
Базовый кабинет с каталогом, корзиной и историей заказов - от 480 000 ₽, срок 8-12 рабочих недель. Полноценный B2B-портал с интеграцией 1С:УПП или 1С:КА, статусами производства, документооборотом и системой ролей - от 1 800 000 ₽, срок 14-22 недели. Цена сильно зависит от сложности интеграций.
Почему Laravel, а не 1С-Битрикс для B2B?
1С-Битрикс подходит для интернет-магазинов и корпоративных сайтов с типовой логикой. Для B2B-портала с глубокой интеграцией 1С:УПП, индивидуальными матрицами скидок, сложными бизнес-правилами производства Laravel даёт больше гибкости. На Битриксе пришлось бы бороться с архитектурой, на Laravel мы её строим под задачу. Подробнее - в сравнении Битрикс и Битрикс24.
Сколько времени занимает интеграция с 1С:УПП?
Базовая интеграция (контрагенты, прайс-листы, остатки) - 4-6 рабочих недель. Полная интеграция со статусами производства, документооборотом и обменом маршрутными картами - 8-12 недель. Срок зависит от состояния 1С на стороне клиента: чистая типовая конфигурация интегрируется в 2-3 раза быстрее кастомизированной.
Что делать, если у нас не 1С:УПП, а 1С:КА или 1С:ERP?
Подход тот же: REST API на стороне 1С + Laravel-обвязка на сайте. Различия в составе доступных объектов. 1С:КА (Комплексная автоматизация) и 1С:ERP (Управление предприятием) дают больше данных, чем 1С:УПП. Стоимость интеграции сопоставимая. Готовые модули "из коробки" не работают для сложных B2B-задач, почти всегда нужна доработка на стороне 1С.
Как мотивировать клиентов перейти из звонков в кабинет?
Три приёма работают на практике: уведомления менеджера "оформите следующий заказ в кабинете" в первый месяц после релиза, скидка 1-2% за заказ через кабинет (если экономика бизнеса позволяет), персональное обучение для топ-20 клиентов с показом интерфейса. В кейсе сработала комбинация: менеджеры активно "продавали" кабинет, а топ-клиенты получили видеотуры.
Можно ли подключить ЭДО (Контур.Диадок, СБИС) к B2B-кабинету?
Да, через стандартные API провайдеров ЭДО. Интеграция с Контур.Диадок или СБИС - от 80 000 до 180 000 ₽ в зависимости от объёма документов. После подключения УПД и акты подписываются электронно и сразу попадают в учётную систему клиента, без бумажной пересылки.
Рассчитать B2B-кабинет с интеграцией 1С · Telegram: @t9424744 · Бесплатный аудит проекта



