
Оптовая компания обычно живёт на связке «менеджер плюс Excel». Утром рассылка прайса, днём приём заказов в почте и WhatsApp, вечером перенос позиций в 1С руками. Схема рабочая, пока клиентов сотня. На тысяче она превращается в узкое горло: больше заявок - больше людей в штате, и каждый новый человек добавляет ещё и ошибок в счетах. Личный кабинет для оптовых клиентов появляется в планах ровно на этом месте.
Нужен он не ради красивого сайта. Кабинет забирает у менеджера повторяющиеся операции и оставляет то, ради чего его наняли: переговоры, новых клиентов, сложные сделки. Разберём выгоду в часах, устройство персональных цен и лимитов и порядок запуска по частям.
Сколько часов уходит на рутину: считаем на отделе из шести менеджеров
Считать выручку тут бессмысленно: никто честно не скажет, вырастут ли продажи после запуска. Часы считаются точно, и цифру вы проверите на своём отделе за день, попросив менеджеров отмечать операции. Возьмём типичную картину: 40-50 активных клиентов на менеджера, каждый делает 2-3 заказа в месяц, ассортимент повторяется от заказа к заказу на 70-80%.
| Операция | Раз в месяц на менеджера | Минут за раз | Часов в месяц |
|---|---|---|---|
| Приём и оформление повторного заказа из почты или мессенджера | 120 | 20 | 40 |
| Ответ на вопрос про остаток и срок поставки | 150 | 4 | 10 |
| Пересборка и отправка прайса под конкретного клиента | 24 | 15 | 6 |
| Ответ на «где мой заказ», статус отгрузки | 90 | 3 | 4,5 |
| Повторная отправка счёта, УПД, акта сверки | 40 | 6 | 4 |
| Итого на одного менеджера | 424 операции | 64,5 |
Шестьдесят четыре с половиной часа при норме примерно 160 рабочих часов в месяц. То есть 40% времени менеджера уходит на операции, где он работает переносчиком данных. На отделе из шести человек набегает 387 часов, почти две с половиной ставки, занятые копированием строк из письма в 1С.
Сразу скажем честно: кабинет не снимет все 387 часов. Часть клиентов останется в WhatsApp навсегда, снабженцу так привычнее. По опыту в первый год через кабинет проходит от трети до половины повторных заказов, дальше доля растёт, если менеджеры сами перестают принимать заявки по почте. Даже треть от 387 часов - это около 130 часов в месяц, примерно 0,8 ставки, которую вы не добавляете в штат.
Прайсы посчитайте отдельной строкой. Собранный вручную файл рано или поздно уезжает клиенту с забытой позицией или вчерашней ценой, и стоит это либо скидки задним числом, либо испорченных отношений. Прайс в кабинете один и всегда актуальный.
Второй мотив: база перестаёт быть личной
Про этот мотив собственники говорят реже, но именно он чаще всего запускает проект. Пока история отношений с клиентом лежит в личной почте менеджера и его переписке в мессенджере, база остаётся его личным активом. Он уходит и уносит контакты снабженцев, договорённости по ценам, знание о том, что клиент берёт раз в квартал. Замену вы посадите, но новый человек полгода будет восстанавливать то, что лежало в чужом телефоне, а клиент за это время попробует конкурента.
Кабинет меняет схему владения. Заказы, цены, лимиты, история отгрузок и документы лежат в системе компании и привязаны к юрлицу клиента. Люди с обеих сторон меняются, данные остаются. Уход менеджера превращается в передачу списка контрагентов, без раскопок по чужим перепискам. Побочный эффект: руководитель видит, кто из клиентов снизил частоту закупок, без запроса отчёта у самого менеджера.
Из чего состоит личный кабинет: четыре слоя
Кабинет раскладывается на четыре слоя разной сложности и ценности. Запускать их можно по очереди.
Закрытые цены под договор. Клиент входит по логину и видит свой прайс: свою ценовую категорию, свои индивидуальные позиции, свою валюту расчётов. Никаких «цена по запросу» и публичных оптовых цен, которые конкурент выкачает парсером за пять минут.
Остатки и сроки поставки. То, ради чего снабженец вообще заходит на сайт: можно ли отгрузить сегодня, сколько лежит на ближайшем складе, когда приедет то, чего нет. Точную цифру показывать стоит не всегда, часто разумнее градация «много / мало / под заказ, срок 14 дней», особенно если склад общий с розницей.
История заказов с повтором в один клик. Самая недооценённая функция и при этом самая рабочая. Снабженец открывает прошлый заказ, жмёт «повторить», правит количества, оформляет. Двадцать минут переписки превращаются в две. Сюда же сохранённые списки закупки и шаблоны под объекты клиента.
Документы и закрывашки. Счёт, УПД, накладная, акт сверки, спецификация к договору. Бухгалтерия клиента ходит за ними к менеджеру, менеджер идёт к своей бухгалтерии, письмо теряется. ЭДО кабинет не отменяет, но остаётся местом, где документ находится по номеру заказа за десять секунд.
Как устроены персональные цены
Правила ценообразования у каждой оптовой компании свои, и это главный источник сюрпризов в смете. По сути вы строите оптовый интернет-магазин с индивидуальными ценами, где у каждого контрагента своя витрина.
Основа - ценовые категории. В 1С это типы цен: «Опт», «Дилер», «Дистрибьютор», «Сеть». Контрагент привязан к типу, и весь его прайс считается от него. Поверх ложатся условия договора: категория «Дилер», но по группе товаров минус 7%, а по одному бренду цена зафиксирована в спецификации. Третий уровень - акции и объёмные скидки, которые пересчитываются в корзине.
Правило простое: цена должна считаться в одном месте. Когда часть логики живёт в 1С, а часть дописана на сайте, расхождение между счётом и корзиной гарантировано, и разбирать его будет менеджер. Мы стараемся забирать готовую цену из учётной системы и оставлять на сайте только пересчёт по количеству. Механику товарного обмена разбирали отдельно, в статье про интеграцию интернет-магазина с 1С.
Ещё одна просьба звучит почти от всех: не показывать скидку в процентах. Клиент видит свою цену без пояснения «розница 1000, ваша цена 720, скидка 28%». Процент - повод торговаться дальше и подсказка о структуре наценки.
Личный кабинет дилера: кто что видит внутри компании клиента
У клиента не один пользователь, а несколько, и видеть им нужно разное.
| Кто со стороны клиента | Видит цены | Оформляет заказ | Видит финансы | Скачивает документы |
|---|---|---|---|---|
| Снабженец | Да | Да, в пределах лимита | Только остаток лимита, без суммы долга | Нет |
| Кладовщик, приёмка | Нет | Нет | Нет | Расходные накладные без цен, по своим отгрузкам |
| Бухгалтер клиента | Да, в счетах и УПД | Нет | Да: долг, просрочка, сверка | Да |
| Руководитель или собственник | Да | Да | Да | Да |
Схема не абстрактная. Закупщик в торговой сети не должен видеть цены по всем позициям, если его зона - три категории. Кладовщику цены не нужны совсем, на приёмку уходит расходная накладная без сумм. Бухгалтер, наоборот, видит их по определению: счёт и УПД без сумм ему бесполезны. Снабженцу показываем остаток лимита без общей суммы долга: собрать заказ он должен, а расчёты компании с поставщиком остаются зоной руководителя и бухгалтерии. С вашей стороны роли тоже нужны: менеджер видит кабинет своего клиента как есть, может собрать заказ за него и смотрит ровно тот экран, про который клиент говорит по телефону.
Отсрочка, кредитный лимит и дебиторка
Оптовая торговля почти всегда идёт с отсрочкой, и кабинет обязан с ней работать, иначе он остаётся витриной. Вопрос в том, сколько финансовых данных показывать наружу и кому именно.
Бухгалтеру и руководителю со стороны клиента показываем четыре вещи: текущую задолженность, остаток кредитного лимита, ближайшую дату платежа и просрочку, если она есть. Плюс акт сверки на скачивание. Этого хватает, чтобы бухгалтер клиента перестал звонить вашему.
Закрывать стоит всё остальное: внутреннюю категорию риска, комментарии финансового отдела, историю пересмотра лимита, резервы. Формулировки в учёте бывают жёсткими, и клиенту их видеть не надо. Список полей, которые уходят наружу, держите белым: в чёрный список исключений после обновления конфигурации легко не попадёт новое поле.
Блокировка при превышении лимита работает в трёх режимах, и выбирать надо осознанно.
- Предупреждение. Кабинет пишет, что лимит исчерпан, но заказ оформляется. Дальше решает менеджер. Подходит для лояльной базы с длинной историей.
- Согласование. Заказ создаётся, уходит в статус «на согласовании» и не попадает на склад, пока менеджер или финансист не подтвердит. Самый частый вариант.
- Запрет. Кнопка оформления недоступна. Снабженец видит сообщение о превышении лимита, а сумму к оплате и реквизиты показываем ролям с доступом к финансам. Жёстко, но при массовой просрочке иногда это единственный рабочий вариант.
Есть техническая ловушка, о которой вспоминают уже после запуска. Данные о взаиморасчётах приходят из учёта с задержкой: клиент заплатил в 11 утра, обмен пройдёт ночью, а заказ он хочет оформить сейчас. Решите заранее, что делать в этом окне: держать буфер к лимиту, учитывать заказы после последнего обмена или запускать внеочередную синхронизацию по кнопке менеджера. Мы обычно делаем и буфер, и запуск по событию.
И ещё: сумма заказа должна уменьшать доступный лимит сразу при оформлении, до проведения реализации в учёте. Иначе клиент за час наберёт три заказа по полному лимиту.
Обмен с учётной системой: что придётся мониторить
Кабинет - тонкая надстройка над учётной системой. Всё, что он показывает, приходит из 1С или МойСклад, поэтому качество кабинета равно качеству обмена, и около трети бюджета проекта уходит именно сюда. Как настраивается товарная часть, от номенклатуры и характеристик до остатков по складам, мы разобрали в статье про интеграцию с 1С. Ниже только то, что добавляет кабинет.
| Данные | Направление | Периодичность |
|---|---|---|
| Типы цен и персональные скидки по договорам | Из учёта на сайт | 1-4 раза в сутки, срочные по событию |
| Заказы | С сайта в учёт | сразу при оформлении |
| Статусы заказов и отгрузок | Из учёта на сайт | каждые 10-30 минут |
| Взаиморасчёты, кредитный лимит, просрочка | Из учёта на сайт | 1-4 раза в сутки, минимум раз в ночь |
| Счета, УПД, акты сверки | Из учёта на сайт | по факту проведения документа |
Обмен ломается тихо. Сайт продолжает работать, просто показывает вчерашние остатки, старую цену или погашенную неделю назад просрочку. Ловится это мониторингом. Минимальный набор: журнал обменов с результатом каждой сессии, метка «остатки обновлялись N минут назад» на служебной странице, оповещение, если обмен молчит дольше порога, и сверка счётчиков, сколько позиций и цен приехало сегодня против вчерашнего. Резкое падение количества позиций почти всегда означает сломанную выгрузку, распродажа склада так не выглядит.
Для кабинета это критичнее, чем для обычного магазина: наружу торчат чужие деньги, и ошибку в сумме долга клиент увидит раньше вас. Обновления 1С прогоняйте на тестовом контуре, а разбор сбоев закладывайте в бюджет с первого месяца, до первой аварии. Что входит в такое сопровождение, расписано в материале про обслуживание сайта, сама услуга - техподдержка сайтов. Про остальные каналы обмена, от платёжных систем до доставки, есть обзор в материале про интеграции интернет-магазина.
Кому кабинет не нужен
Бывает и так, что мы отговариваем от проекта. Ситуации примерно три.
Первая - мало клиентов. Если у вас двадцать контрагентов и каждого ведёт лично коммерческий директор, кабинет не окупится никогда. Двадцать повторных заказов в месяц менеджер обработает быстрее, чем вы объясните клиентам, зачем им новый логин.
Вторая - каждый заказ уникален и требует согласования. Проектные поставки, изготовление под размер, сложная логистика с растаможкой, цена, которая считается после запроса у завода. Кабинет тут покажет историю и документы, но повтора в один клик не будет: повторять нечего.
Третья встречается чаще двух первых вместе взятых, и у неё две стадии. Первая: учётной системы нет вообще. Цены живут в Excel у коммерческого директора, остатки считает кладовщик в тетради, долги помнит бухгалтер. Кабинету неоткуда брать данные: он показывает то, что уже лежит в 1С или МойСклад, и вести учёт сам не умеет. Попытка превратить сайт в учётную систему заканчивается второй базой, которая через месяц расходится с первой. Сначала учёт, потом витрина к нему.
Вторая стадия: система есть, но в ней бардак. Дубли номенклатуры, товары без характеристик, три единицы измерения на позицию, остатки, которым никто не верит, цены, которые менеджер правит вручную в счёте. Кабинет вскроет это за неделю после запуска, причём вскроет перед клиентами. Годами ошибки прикрывал живой человек, а витрина покажет их как есть.
Вывод простой: сначала наведите порядок в справочниках. Обычно это 1-3 месяца работы вашего товароведа плюс наша помощь по правилам нормализации. Работа скучная, но без неё дальше идти бессмысленно.
Запуск по частям: три функции за квартал вместо портала за год
Самая дорогая ошибка в таких проектах - собрать техзадание на всё сразу. Получается документ на 80 страниц, смета на год и никакого результата до самого конца. К моменту сдачи половина требований устаревает: за год поменялись правила скидок.
Порядок, который работает: три функции в первом релизе, дальше по данным реального использования.
- Персональный прайс с остатками. Клиент видит свои цены и наличие. Это закрывает вопросы «пришлите актуальный прайс» и «есть ли на складе», а их около сорока процентов всех входящих обращений. Технически нужен базовый контур обмена: номенклатура, цены, остатки.
- История заказов и повтор в один клик. Даёт самую заметную экономию часов и работает даже на клиентах, которые не хотят ничего изучать: открыл прошлый заказ, изменил количества, отправил.
- Документы и сумма долга. Счета, УПД и акты сверки прямо из учётной системы плюс текущая задолженность и дата ближайшего платежа, пока справочно, без автоматических блокировок. Снимает нагрузку не только с продаж, но и с бухгалтерии.
По смете ниже эти три функции - первая строка плюс базовый обмен, который идёт параллельно: от полутора до трёх месяцев, в зависимости от того, сколько у вас типов цен, складов и юрлиц. В квартал вы укладываетесь при двух условиях: справочники в порядке и решения по спорным правилам принимаются за день. Если ценообразование сложное, закладывайте четвёртый месяц сразу.
Расчёт лимитов с блокировками, согласование заказов внутри компании клиента, роли сотрудников, отслеживание отгрузки по трек-номеру СДЭК, заявки на возврат, рекламации, оплата через ЮKassa и СБП для предоплатных клиентов - это третья строка сметы и следующие этапы. Они делаются быстрее: контур обмена уже стоит и отлажен.
Пилот запускайте на 10-20 клиентах, которые заказывают часто и не боятся нового. Обычно вскрывается что-то, чего не было в ТЗ: снабженцу нужен экспорт корзины в Excel для внутреннего согласования или поиск по артикулу своей компании. Эти мелочи решают, будет клиент пользоваться кабинетом или вернётся в WhatsApp.
Платформу выбирайте под сценарий. Если магазин уже работает на 1С-Битрикс или WooCommerce, b2b-кабинет чаще строится поверх существующего сайта. Если правила цен и согласований совсем нетиповые, разумнее кастомная разработка. Компромиссы разбирали в статье про выбор платформы для интернет-магазина.
Из чего складывается бюджет и как считать окупаемость
Вилки ниже - из нашей практики. Точная смета всегда считается по вашим правилам ценообразования и состоянию учётной системы: именно они дают разброс в два-три раза.
| Что делаем | Вилка | Срок |
|---|---|---|
| Первый релиз поверх работающего сайта: персональный прайс с остатками, история с повтором заказа, документы и сумма долга | от 350 до 800 тыс. руб. | 1,5-3 месяца |
| Обмен с учётной системой под ваши типы цен, склады и договоры | от 150 до 500 тыс. руб. | 3-6 недель, параллельно |
| Кредитные лимиты и блокировки, роли сотрудников клиента, согласование заказов | от 200 до 600 тыс. руб. | 1-2 месяца |
| Кастомный портал с нестандартной логикой согласований | от 1,2 млн руб. | от 5 месяцев |
| Поддержка, доработки, разбор сбоев обмена | от 25 до 80 тыс. руб. в месяц | постоянно |
Смету двигают вверх количество типов цен и исключений из них, несколько юрлиц у одного клиента, мультискладская логика с резервами, требования по ЭДО и маркировке в Честном знаке, заказы по характеристикам (цвет, размер, партия). Вниз - чистые справочники, один склад, единая логика скидок и готовность отказаться от редких сценариев на старте.
Окупаемость считайте в часах. Прирост выручки вам никто честно не пообещает, а часы вы посчитали сами. Возьмите цифру из первой таблицы, умножьте на долю, которую реально уведёте в кабинет (на первый год закладывайте треть, не половину), умножьте на стоимость часа менеджера со всеми налогами и накладными. Из 387 часов треть - это около 130 часов в месяц. Дальше арифметика ваша.
Ко второму году доля растёт, если вы дисциплинируете процесс: заявка по почте принимается, но менеджер отвечает ссылкой на кабинет и заводит заказ туда. Без этого правила кабинет останется красивой кнопкой, которой пользуются трое.
В расчёт не попадает то, что деньгами не меряется, а стоит дорого. Цена приезжает из учётной системы, и продать ниже согласованной у менеджера уже не выйдет. Просрочку клиент видит сам, и разговор о ней перестаёт быть неловким. База лежит в системе компании, увольнение сильного продавца перестаёт быть спецоперацией. Автоматизация оптовых продаж на этом и держится: правила работают одинаково, кто бы ни был на смене.
С чего начать
Начните с замера. Попросите менеджеров неделю фиксировать, сколько раз в день они отвечают про остаток, отправляют прайс и переносят заказ из переписки. Через неделю у вас будет своя таблица вместо нашей, и разговор о бюджете станет предметным. Параллельно откройте номенклатуру в 1С и честно ответьте, можно ли показать её клиенту сегодня. Если нет, первая задача - порядок в учёте.
Работаем с 2011 года, кабинеты для оптовиков собираем на 1С-Битрикс, WordPress с WooCommerce и на кастоме, когда типовое не тянет логику. Из близких примеров в портфолио - Maknot, оптовый интернет-магазин комплектующих и запчастей для авто; состав работ описан на странице разработки сайтов и интернет-магазинов. Если подрядчика ещё выбираете, у нас есть отдельный разбор про то, как выбрать веб-студию и какие вопросы задать до подписания.
Посчитаем кабинет под ваши правила ценообразования: расскажите про типы цен, отсрочки и учётную систему, и мы вернёмся с этапами и вилкой бюджета. Опишите задачу в брифе или напишите нам, разберём вашу схему без обязательств.