В рознице у товара одна цена для всех. В опте всё иначе: розничный покупатель видит одну цену, постоянный оптовик — другую, крупный дилер — третью, а специальные позиции и вовсе скрыты от случайных посетителей. Свести эту логику на сайте вручную невозможно, но в 1С-Битрикс для неё есть штатный механизм — типы цен и группы пользователей. Правильно их связав, вы получаете гибкое ценообразование: каждый покупатель видит свою цену, а закрытый прайс остаётся закрытым.
Эта статья — практический разбор того, как настроить разные цены для розницы и опта на 1С-Битрикс: что такое типы цен и группы, как они связываются правами доступа, как сделать закрытый прайс для дилеров и откуда цены приходят при обмене с 1С. Материал из нашей практики разработки сайтов для B2B-компаний — по делу, без обещаний «гарантированного роста продаж».
Коротко
- Тип цены — это прайс (розничный, оптовый, дилерский); группа пользователей — категория покупателей.
- Цены показываются нужным покупателям через права доступа: каждому типу цены назначают группы, которые его видят.
- Закрытый опт строится так: оптовый прайс виден только авторизованной группе партнёров, гостю — нет.
- В B2B цены обычно ведут в 1С отдельными типами цен и передают на сайт обменом по CommerceML.
Зачем магазину разные цены для разных клиентов
Как только магазин выходит за пределы чистой розницы, единая цена перестаёт работать. Оптовик берёт партиями и ожидает скидку за объём, дилер работает по своему прайсу, а отдельные клиенты — на индивидуальных условиях. Если показывать всем одну цену, вы либо теряете на опте, либо отпугиваете розницу высокими ценниками, либо вынуждены вести переговоры по каждому заказу вручную.
Цены по группам клиентов решают это системно. Магазин один раз описывает прайсы и категории покупателей, а дальше каждый видит свою цену автоматически. Это основа любой B2B-витрины и частый запрос даже у розничных магазинов, которые начинают развивать оптовое направление.
Типичные сценарии разных цен
- Розница и опт. Базовый случай: обычная цена для всех и сниженная — для авторизованных оптовиков.
- Несколько уровней опта. Опт первого и второго уровня, дилеры, дистрибьюторы — каждому своя цена.
- Закрытый прайс. Цены, которые видны только после входа: партнёрские условия не показывают случайным посетителям.
- Индивидуальные условия. Особый прайс или скидка под конкретного крупного клиента.
Две сущности: типы цен и группы пользователей
Чтобы настроить ценообразование осознанно, важно с самого начала не путать две вещи. В 1С-Битрикс за разные цены отвечают две независимые сущности, которые работают только в связке.
| Сущность | Что это | Примеры |
|---|---|---|
| Тип цены | «Прайс» в торговом каталоге — конкретный набор цен товаров | Розничная, Оптовая, Дилерская |
| Группа пользователей | Категория покупателей на сайте | Розничные, Оптовые покупатели, Дилеры |
У одного товара одновременно может быть несколько типов цен: розничная 1 200 ₽, оптовая 950 ₽, дилерская 870 ₽. Это просто разные «ценники» на одной карточке. Группы же определяют, кто есть кто среди покупателей. Сами по себе ни типы цен, ни группы не показывают нужную цену нужному человеку — это делает третий элемент, права доступа, который их связывает.
Как типы цен связываются с группами
Связующее звено между ценой и покупателем — права доступа к типу цены. У каждого типа цены в торговом каталоге есть настройка: какие группы пользователей могут его «видеть» и «покупать по нему». Именно она превращает набор прайсов в персональное ценообразование.
Логика на примере. Допустим, есть два типа цены и три группы:
| Тип цены | Видят группы | Кто увидит на витрине |
|---|---|---|
| Розничная | Все (включая гостей) | Любой посетитель сайта |
| Оптовая | Только «Оптовые покупатели» | Авторизованный оптовик |
| Дилерская | Только «Дилеры» | Авторизованный дилер |
Когда у покупателя доступно несколько типов цен (например, оптовик технически видит и розничную, и оптовую), система показывает ему минимальную из доступных или ту, что задана приоритетом — это настраивается. На практике оптовику показывают оптовую цену как основную, а розничную можно скрыть или оставить для сравнения «ваша выгода». Главное, что гость и обычный розничный покупатель оптовую цену не увидят вовсе — права им её не открывают.
Настройка типов цен пошагово
Когда понятна логика, сама настройка сводится к понятной последовательности. Названия пунктов меню могут немного отличаться в зависимости от версии и редакции платформы, но порядок общий.
- Создайте типы цен. В торговом каталоге заведите нужные типы: «Розничная», «Оптовая», «Дилерская» — столько, сколько прайсов вам реально нужно.
- Создайте группы пользователей. В управлении пользователями добавьте группы «Оптовые покупатели», «Дилеры» и т. д. помимо стандартных розничных и гостей.
- Настройте права доступа к ценам. Для каждого типа цены укажите, какие группы могут его видеть и покупать по нему. Розничную — всем, оптовую — только оптовой группе.
- Заполните цены у товаров. Проставьте значения цен по каждому типу — вручную или, чаще, через обмен с 1С.
- Настройте приоритет показа. Решите, какую цену видит покупатель с несколькими доступными типами (обычно — самую выгодную для него или явно заданную основной).
- Проверьте под разными ролями. Зайдите на витрину как гость, как розничный покупатель и как оптовик — убедитесь, что каждый видит правильную цену.
Последний шаг критичен и его часто пропускают. Ценообразование легко «выглядит правильно» в админке, но показывает не то на витрине — например, оптовая цена случайно видна гостю. Проверка под разными ролями ловит это до того, как ошибку увидит реальный клиент.
Закрытый опт: прайс только для своих
Частое требование B2B — не показывать оптовые цены кому попало. Партнёрские условия не должны быть видны конкурентам и случайным посетителям, а иногда сам факт цен скрывают до авторизации. В 1С-Битрикс это строится на тех же правах доступа к типу цены, только настроенных строже.
Варианты закрытого опта по степени закрытости:
- Цена видна после входа. Гость видит товар и розничную цену (или «цена по запросу»), а оптовую — только авторизованный партнёр своей группы.
- Весь опт за авторизацией. Каталог открыт, но оптовые цены и кнопка заказа доступны лишь после входа в кабинет дилера.
- Закрытый раздел/каталог. Отдельные разделы или весь B2B-каталог видны только авторизованным партнёрам — гость туда не попадает.
Какой вариант выбрать — это бизнес-решение, а не техника. Сначала решите, что именно скрывать и от кого, а потом отражайте это в правах доступа и группах. Закрытый опт, личный кабинет дилера и связанные сценарии мы реализуем в рамках услуги B2B-порталы и личные кабинеты — там это типовая задача.
Как клиент попадает в оптовую группу
Цены по группам бесполезны, если непонятно, как покупатель оказывается в нужной группе. Техника позволяет менять группу пользователя разными способами, но само правило «кто и при каких условиях становится оптовиком» — это политика компании.
Распространённые сценарии перевода в оптовую группу:
| Способ | Как работает | Когда уместно |
|---|---|---|
| Вручную менеджером | Менеджер подтверждает партнёра и меняет его группу | Когда важна проверка контрагента |
| По регистрации юрлица | Регистрация как компании автоматически даёт опт-группу | Массовый приток B2B-клиентов |
| По сумме заказов | Достиг порога — перешёл в опт автоматически | Поощрение постоянных покупателей |
| По приглашению/промокоду | Партнёр входит по выданной ссылке или коду | Закрытые дилерские программы |
Важно по нашей редполитике и по делу: не обещайте покупателю «оптовую цену» там, где правила её получения не определены. Сначала компания решает, кто и при каких условиях становится партнёром, и только потом это закрепляется в группах и правах. Сайт лишь автоматизирует уже принятое решение, а не выдумывает условия за вас.
Индивидуальные цены и скидки для дилеров
Иногда типов цен «розница/опт/дилер» недостаточно — крупному партнёру нужны свои условия. Здесь у 1С-Битрикс несколько инструментов разной гибкости, и выбор зависит от того, насколько индивидуальны условия.
- Отдельный тип цены. Под категорию дилеров заводят свой прайс и свою группу. Просто и прозрачно, когда дилеров несколько и условия у них схожие.
- Скидки и правила корзины. Правила работы с корзиной дают скидку группе или клиенту при условиях (объём, сумма, набор товаров). Гибко, считается на лету.
- Индивидуальные прайсы из 1С. Для уникальных условий под каждого крупного партнёра заводят отдельные типы цен в 1С и передают их на сайт обменом — источником истины остаётся учётная система.
Чем индивидуальнее условия, тем больше логики уходит в 1С и в доработки, а не в «галочки» админки. Простую сетку «розница/опт/дилер» закрывают штатные типы цен; сложное многоуровневое ценообразование с условиями — это уже проектная работа. Глубина возможностей зависит от редакции и доработок, поэтому конкретный сценарий лучше проговаривать заранее.
Цены, НДС и единицы для опта
Оптовая цена — это не только меньшее число. С опта всплывают нюансы, которые в рознице незаметны: НДС, единицы продажи и кратность. Если их не учесть, покупатель увидит цену, которая не совпадёт с тем, что попадёт в счёт.
НДС. Розничному покупателю обычно показывают цену с НДС, а оптовому B2B иногда удобнее показывать цену без НДС с пометкой — так привычнее юрлицам. Отображение «с НДС / без НДС» — отдельная настройка, не зависящая от типа цены, и её нужно согласовать осознанно.
Единицы и упаковки. В опте товар часто продаётся коробками, упаковками, кратно партии. Цена за упаковку, минимальная партия и шаг заказа должны корректно показываться и не давать заказать «не то количество». Это тесно связано с обменом с 1С — единицы измерения и кратность приходят из учётной системы.
Согласованность с документом. Главное правило — цена на витрине должна совпадать с ценой в заказе и в 1С. Расхождение из-за НДС, округления или единиц подрывает доверие партнёра сильнее, чем сама цена. Эти вопросы мы подробно разбираем в руководстве по интеграции магазина с 1С, где цены, НДС и единицы — отдельные разделы.
Откуда берутся цены: 1С или сайт
Ключевой вопрос архитектуры B2B-витрины — где «живут» цены. Технически их можно вести и прямо на сайте, и в 1С. Но для бизнеса с несколькими прайсами почти всегда правильный ответ — 1С как источник истины, а сайт лишь показывает актуальные цены.
Как это работает: в 1С заведены типы цен (розничная, оптовая, дилерская), они выгружаются в файл обмена по CommerceML и на сайте сопоставляются с типами цен торгового каталога Битрикса один к одному. Дальше каждый тип цены на сайте привязан правами к своей группе. Так ценообразование остаётся в учётной системе, где им управляют менеджеры, а сайт автоматически показывает свежие цены нужным покупателям.
Настройка такого обмена — отдельная тема: сопоставление типов цен, расписание выгрузки, защита от затирания. Полное руководство — в статье про обмен интернет-магазина на 1С-Битрикс с 1С, а под ключ это делается в рамках услуги интернет-магазин с интеграцией 1С.
Личный кабинет дилера и заказ по артикулу
Цены по группам — это фундамент B2B, но партнёру нужна ещё и удобная работа с заказом. Оптовик не листает каталог карточка за карточкой — он знает артикулы и хочет быстро собрать большой заказ. Поэтому ценообразование обычно дополняют двумя вещами.
Личный кабинет дилера. После входа партнёр видит свои цены, историю заказов, документы, остатки и баланс. Кабинет — это «рабочее место» оптовика, где закрытый прайс и персональные условия собираются в одном месте.
Быстрый заказ по артикулу. Возможность ввести или загрузить список артикулов с количеством и сразу собрать корзину — для опта это экономит часы. Подробно настройку поиска и заказа по коду мы разбираем в статье про поиск по артикулу для B2B-каталога.
Вместе с ценами по группам это складывается в полноценную оптовую витрину: каждый партнёр видит свой прайс, работает в личном кабинете и быстро оформляет крупные заказы. Такую витрину целиком мы собираем в рамках B2B-порталов и личных кабинетов.
Кэш, права и производительность
Цены по группам добавляют нюанс, о котором забывают, пока не столкнутся: кэширование персональных цен. Если каталог кэшируется одинаково для всех, есть риск показать одному покупателю цену из кэша другого. Это и ошибка, и риск утечки закрытого прайса.
Что важно учитывать:
- Кэш с учётом группы. Каталог с разными ценами кэшируется отдельно для разных групп пользователей, чтобы оптовик не получил розничную цену из общего кэша и наоборот.
- Композитный сайт и динамика. Персональные блоки (цена, кнопка заказа для своей группы) выносят в динамическую часть, а статику отдаёт композитный сайт мгновенно.
- Проверка прав на бэкенде. Доступ к закрытому прайсу проверяется на сервере, а не только скрытием в вёрстке — иначе цену можно «подсмотреть» в коде страницы.
Это тот случай, когда удобство (быстрый кэшируемый каталог) и безопасность (закрытый прайс) нужно согласовать заранее. На большом B2B-каталоге кэширование персональных цен проектируют вместе с правами доступа, а не латают потом.
Частые ошибки в ценах по группам
Эти промахи повторяются в B2B-проектах чаще всего — зная их, вы избежите неловких ситуаций с партнёрами:
- Оптовая цена видна гостю. Права доступа к типу цены настроены слишком широко, и закрытый прайс утекает случайным посетителям.
- Путают тип цены и группу. Заводят группу «Оптовая цена» вместо типа цены — логика рассыпается, потому что это разные сущности.
- Нет правила перевода в группу. Группа есть, а как в неё попасть — не определено; оптовики так и остаются на рознице.
- Цены ведут и на сайте, и в 1С. Два источника истины расходятся, на витрине и в счёте разные цифры.
- Не проверили под ролями. Ценообразование тестируют только в админке и не смотрят витрину глазами гостя, розницы и оптовика.
- Кэш без учёта группы. Покупатель получает чужую цену из общего кэша — и ошибка, и утечка прайса.
- НДС и единицы не согласованы. Цена на витрине не совпадает с заказом из-за разного показа НДС или единиц продажи.
- Скидки поверх типов цен без приоритета. Правила корзины и типы цен накладываются непредсказуемо, итоговая цена «гуляет».
Чек-лист настройки
Короткий список для приёмки ценообразования перед запуском:
- Типы цен заведены. Созданы все нужные прайсы: розница, опт, дилеры — по числу реальных условий.
- Группы созданы. Есть группы покупателей под каждый прайс помимо розницы и гостей.
- Права настроены. Для каждого типа цены указано, какие группы его видят; закрытый прайс закрыт от гостей.
- Правило группы определено. Понятно, как покупатель попадает в оптовую/дилерскую группу.
- Источник цен выбран. Решено, где истина — в 1С (обычно) или на сайте; обмен сопоставляет типы цен.
- НДС и единицы согласованы. Показ цены совпадает с заказом и документом.
- Кэш учитывает группу. Персональные цены не утекают между группами через общий кэш.
- Проверено под ролями. Витрина проверена как гость, розница, оптовик и дилер.
Вывод
Разные цены для розницы и опта в 1С-Битрикс держатся на трёх понятиях: тип цены («сколько стоит»), группа пользователей («кто покупает») и права доступа к типу цены («кому какую цену показывать»). Связав их правильно, вы получаете гибкое ценообразование: каждый покупатель видит свой прайс, а закрытый опт остаётся закрытым для случайных посетителей.
Для B2B с несколькими прайсами цены обычно ведут в 1С и передают на сайт обменом, дополняют закрытым прайсом, личным кабинетом дилера и заказом по артикулу. И главное — ценообразование всегда проверяют под разными ролями и согласуют с НДС, единицами и кэшем. Тогда партнёр видит ровно ту цену, что попадёт в счёт, и доверяет вашей витрине.