Правила наценки в деталях: приоритеты, базы цены и защиты движка
Наценки — сердце PriceBridge: именно они превращают закупочные цены поставщиков в ваши продажные. В общем руководстве мы прошлись по ним бегло; здесь — полный разбор: как движок выбирает правило и поставщика, чем «база цены» отличается от закупки, зачем нужна пессимизация и как проверить, почему у товара получилась именно такая цена.
Как движок считает цену: конвейер
При переоценке каждый товар главного каталога проходит один и тот же путь:
- Отбор поставщиков. Берутся все связанные с товаром позиции поставщиков, у которых товар в наличии (и которые не исключены из переоценки).
- Подбор правила. Для каждого кандидата ищется правило наценки: из всех подошедших по условиям применяется одно — с наибольшим приоритетом.
- Расчёт. База цены × (1 + коррекция %) + фиксированная коррекция суммой → округление.
- Выбор победителя. Из всех кандидатов выбирается лучший (о критерии — ниже), его цена становится ценой главного каталога, он записывается как «лучший поставщик».
- Полы и защиты. Итог не может опуститься ниже РРЦ (если задана); товары с заблокированной ценой не трогаются вовсе.
Анатомия правила
Правила поставщика живут в его настройках: вкладка Наценки → Добавить правило.

- Условия — все заданные должны выполниться одновременно: Название/бренд содержит (поиск по подстроке), Группа товара содержит, Цена от (в валюте каталога) / Цена до (в валюте каталога). Пустое условие = «любое значение»; правило совсем без условий действует на все товары поставщика.
- База цены — от чего считать: Закупка (обычный случай) или Цена для расчёта главного каталога (см. следующий раздел).
- Коррекция % — наценка в процентах. Может быть отрицательной: «−5» даст скидку от базы — это осмысленно, когда базой служит розничная цена поставщика.
- Фиксированная коррекция — прибавка суммой, применяется после процентов.
- Округление — до 1, 5, 10, 50 или 100: «12 347» превращается в «12 350».
Приоритеты на примере
Пусть у поставщика три правила:
- «База», без условий, приоритет 0: +30%;
- «Дорогое», цена от 20 000, приоритет 10: +15%;
- «HP», бренд содержит «HP», приоритет 20: +22%.
Тогда:
- тонер Kyocera за 3 000 → подходит только «База» → 3 900;
- узел за 25 000 (не HP) → подходят «База» и «Дорогое», приоритет выше у «Дорогого» → 28 750;
- картридж HP за 25 000 → подходят все три, побеждает «HP» (приоритет 20) → 30 500. Заметьте: «Дорогое» проиграло, хотя тоже подходило — применяется ровно одно правило, а не сумма.
База цены: закупка или «цена для расчёта главного каталога»
Обычно наценка считается от закупочной цены. Но бывает иначе: поставщик присылает два файла — закупочный прайс и рекомендованную розницу, и вы хотите строить свою цену от розницы («РРЦ минус 5%»), а закупку использовать только для маржи. Для этого:
- На вкладке Источник в секции Дополнительные прайсы поставщика нажмите Добавить источник и настройте, откуда приходит второй файл (вручную, URL или email — со своим маппингом).
- В правиле наценки выберите База цены = Цена для расчёта главного каталога и задайте коррекцию — например, −5%.
Глобальные правила
Правила «для всех поставщиков сразу» живут в Цены → Переоценка → Глобальные наценки. Форма та же, плюс два отличия: появляется условие Поставщик содержит, а фильтр цены работает по цене предложения поставщика в валюте каталога до наценки.

Глобальные и поставщицкие правила соревнуются в одном общем приоритете. При равном приоритете побеждает правило поставщика — частное важнее общего. Практичный паттерн: одно глобальное правило «+25% на всё» с приоритетом 0 как страховочная сетка, а тонкая настройка — правилами конкретных поставщиков с приоритетами повыше.
Встроенные правила движка
На странице Цены → Правила движка собраны шесть встроенных защит. По умолчанию все включены, у каждой свой тумблер, и понимать их важно — половина вопросов «почему такая цена?» объясняется именно ими:

- Только поставщики с наличием. Нет остатка — нет участия в расчёте, какой бы хорошей ни была цена.
- Нулевая цена — только если единственный. Поставщик с ценой 0 (бывает при кривом прайсе) не победит, пока есть хоть один нормальный кандидат.
- Пессимизированные — резерв. Используются, только когда ни у кого больше нет товара.
- Исключение поставщика. Флаг «Не участвует в переоценке» убирает его предложения из расчёта полностью.
- RRP-пол. Итоговая цена не опустится ниже РРЦ товара (если РРЦ заполнена) — защита от демпинга и нарушения условий вендора.
- Блокировка цены. Товар с флагом «Заблокировать цену» переоценка обходит стороной — цена, поставленная руками, не будет перезаписана.
Настройки поставщика
Вкладка Настройки поставщика в настройках поставщика управляет его поведением в конвейере:

- Не участвует в переоценке — полное исключение. Прайс продолжает загружаться, товары видны, но на цены главного каталога поставщик не влияет. Удобно для «справочных» прайсов.
- Пессимизация — «использовать в крайнем случае». Классический пример: надёжный, но дорогой поставщик, у которого всегда всё есть. Пока товар есть у обычных поставщиков — он в расчёте не участвует; кончился у всех — подхватывает он.
- Числовой остаток — отметьте, если поставщик присылает реальные количества (а не «есть/нет»). Это включает для него алерты «На исходе» в разделе «Закупки».
- Брать РРЦ из прайса в каталог — рекомендованная розничная цена товара берётся из прайса этого поставщика при каждом пересчёте цен. Прайс главнее файла «Импорт РРЦ» и ручной правки: удобно, когда производитель меняет РРЦ, а поставщик присылает её вместе с прайсом. Если РРЦ в прайсе пропала, в каталоге остаётся прежняя. РРЦ меньше половины закупки не берётся — это почти наверняка другая валюта. Под галочкой видно, у скольких товаров РРЦ изменится, если её включить. В каталоге под РРЦ появляется подпись «из прайса» со ссылкой на строку поставщика.
- Срок доставки (дней) — индивидуальный срок поставки; пусто = глобальный.
Кто побеждает: два режима выбора поставщика
На странице Цены → Правила движка есть переключатель Выбор лучшего поставщика:

- По финальной цене главного каталога (по умолчанию) — побеждает предложение с наименьшей ценой после наценки. Итоговая витрина всегда минимальна.
- По закупочной цене — побеждает самая дешёвая закупка. Здесь же появляется Минимальная маржа, % — пол, который поднимет итоговую цену, если правило дало слишком мало.
Разница видна, когда наценки у поставщиков разные. Пример: у А закупка 1 000 и правило +40% → 1 400; у Б закупка 1 100 и правило +20% → 1 320. Режим «по финальной цене» выберет Б (1 320 на витрине), режим «по закупке» — А (дешевле купить). Первый режим оптимизирует цену для покупателя, второй — закупку.
Как понять, почему у товара такая цена
- Откройте товар в Каталоге — видно лучшего поставщика и закупку, от которой посчитана цена.
- В Цены → Переоценка → подвкладка Отчёты — отчёт любого прогона можно выгрузить и найти строку товара: старая цена, новая, поставщик.
- Мысленно прогоните конвейер: какие правила подходят по условиям? У какого приоритет выше? Не упёрлась ли цена в РРЦ-пол? Не заблокирована ли она?
Частые вопросы
Правило создал, а цена не изменилась
- Запустите переоценку — правила применяются при пересчёте, а не при сохранении.
- Проверьте приоритеты: возможно, побеждает другое правило. Помните — применяется одно правило, а не все подходящие.
- Сверьте условия: «бренд содержит HP» не совпадёт, если в поле бренда у товара пусто, а «HP» написано только в названии — тогда условие ставьте по названию.
- Цена может упираться в РРЦ-пол или быть заблокированной.
Хочу продавать дешевле конкурента, а цена не опускается
Проверьте РРЦ товара: встроенный RRP-пол не даст уйти ниже. Уберите РРЦ или обновите её импортом РРЦ.
Можно ли сделать скидку от цены поставщика?
Да: отрицательная Коррекция %. Чаще всего это используется с базой Цена для расчёта главного каталога — например, «розница поставщика минус 7%».
Почему в карточке поставщика напротив товара «нет наценки»?
Ни одно правило не подошло по условиям — цена главного каталога будет равна базе. Заведите правило без условий с приоритетом 0, чтобы такого не случалось.