Персональные цены WooCommerce востребованы там, где один и тот же товар продаётся разным контрагентам по различным условиям. У дистрибьютора может быть отдельный дилерский прайс, у сети — договорная цена, у региональных партнёров — собственные условия. Нельзя ограничиваться сменой числа в интерфейсе: стоимость должна одинаково считаться в каталоге, корзине, заказе и документах.
Какие модели оптового ценообразования бывают
Цена по роли клиента
Подходит, если большинство партнёров попадает в несколько групп: розница, дилер, крупный дилер. После входа пользователь получает доступ к своей группе цен. Для частных исключений можно хранить дополнительное правило на уровне конкретной компании.
Индивидуальный прайс-лист по договору
Если для каждой организации существуют особые цены, эффективнее привязать прайс к контрагенту, а не плодить сотни ролей WordPress. Договорная цена может приходить из 1С, где менеджеры согласуют условия. Отсутствие прайса должно приводить к заранее согласованному поведению: показать базовую цену, предложить запросить расчёт либо запретить заказ.
Скидка от объёма и кратности упаковки
Например, при покупке 1–9 единиц действует одна цена, при 10–49 — другая, а от 50 — третья. Но что делать, если товар продаётся только упаковками по 12 штук? Правило оптовой скидки должно учитывать кратность и минимальную партию; иначе покупатель сформирует заказ, который невозможно отгрузить.
Как определить приоритет правил
Самая частая проблема — наложение нескольких скидок. Представим, что клиенту выдали 10% по роли, 5% за корзину и отдельную цену на товар по договору. Если складывать всё подряд, итог отличается от коммерческих договорённостей. Создайте таблицу приоритетов: фиксированная договорная цена → индивидуальная цена клиента → цена группы → базовая цена. Дополнительные акции применяйте только тогда, когда они совместимы с выбранным типом цены.
Документация расширений WooCommerce допускает ценовые правила по ролям и отдельным клиентам, но точный порядок обработки зависит от конкретного расширения и версии. Поэтому проверяйте тестовый сценарий, а не копируйте чужую таблицу приоритетов.
Где должна применяться персональная цена
- В карточке товара и списке категорий после авторизации.
- В поиске и блоках рекомендуемых товаров.
- В корзине, при изменении количества и при повторном заказе.
- В подтверждении заказа, письме, экспорте в CRM и счёте.
- В API и других каналах, через которые пользователь получает стоимость.
Если на экране показана «договорная цена», а сервер заказа использует розничную, это не косметический баг: менеджеру придётся вручную пересчитывать заявку, а покупатель потеряет доверие. Особое внимание уделяйте округлению сумм, вариантам товара и правилам НДС.
Плагины или собственная логика?
Для нескольких групп клиентов можно начать с совместимого B2B-расширения. Если цены зависят от региона, складов, договоров, валют, номенклатурных групп и скидок одновременно, понадобится техническое задание и, возможно, индивидуальный механизм расчёта. Избегайте разработки по принципу «давайте добавим ещё один плагин скидок»: несколько независимых модулей могут конфликтовать в корзине.
Как связать прайсы с 1С
Решите, какая система является источником цены. Когда прайс ведётся в 1С, WooCommerce обычно получает его в обмене и привязывает к типу клиента или договору. Важно не передавать в открытый ответ API чужие прайсы и не смешивать цены разных пользователей при работе кеша. Подробнее о синхронизации WooCommerce и 1С.
Чек-лист тестирования перед запуском
- Создайте по одной тестовой организации в каждой ценовой группе.
- Сравните каталог, поиск, карточку, корзину и итоговую сумму.
- Проверьте конфликт индивидуальной цены и акции.
- Попробуйте добавить товар в количестве ниже минимального.
- Смените группу клиента и убедитесь, что кэш не показывает старые цены.
- Проверьте, как заказ и сумма попадают в CRM, 1С и документы.
Полный подход к разработке описан в статье B2B-магазин на WordPress. Структуру ролей и доступа к прайсам стоит согласовать с личным кабинетом оптового покупателя.
Если требуется магазин с индивидуальными условиями продаж, посмотрите услугу разработки WooCommerce-магазинов и сформулируйте перечень прайс-листов до расчёта бюджета.
Частые вопросы
Можно ли скрывать цены от незарегистрированных посетителей?
Да, с серверными ограничениями и корректным поведением кэша. Не стоит полагаться на CSS-скрытие.
Можно ли задать отдельную цену одному клиенту?
Да. Это поддерживают некоторые B2B-расширения и индивидуальные решения, но интерфейс настройки зависит от выбранной системы.
Стоит ли хранить цены в WordPress и 1С одновременно?
Лучше выбрать главный источник и формализовать обмен, иначе корректировки будут перезаписывать друг друга.
