Перейти к основному содержимому
Версия: 6.0

Скидки: логика применения

В системе скидка — это отдельный объект «Скидка», который может применяться к строкам документов продаж (в первую очередь — к строкам заказа покупателя).

Скидка может задаваться:

  • как процент скидки;
  • как цена из типа цен (то есть «фиксировать цену по другому типу цен»).

Где настраиваются скидки​

Обычно список скидок находится в разделе «Продажи» → «Операции» → «Скидки».

Список скидок

В карточке скидки задаются:

  • период действия;
  • условия применимости;
  • к какой номенклатуре/категориям относится;
  • какие типы цен разрешены;
  • при необходимости — к каким местам хранения относится;
  • размер скидки (процент) или тип цен (если скидка задаётся ценой).

Карточка скидки с условиями

Как система понимает, подходит ли скидка строке​

Для строки заказа покупателя система проверяет скидку по набору условий.

1) По товарам и категориям​

Скидка может быть привязана:

  • к конкретным товарам;
  • к категориям товаров (иерархия категорий).

Если в скидке не выбраны ни категории, ни товары, скидка считается настроенной неверно и система не даст её сохранить.

2) По периоду действия​

Скидка применяется, только если дата/время строки попадает в интервал действия скидки — не раньше даты/времени начала и не позже даты/времени окончания.

3) По типу цен​

Скидка может быть ограничена типами цен:

  • если у скидки указаны типы цен, она применяется только к строкам с одним из этих типов;
  • если типы цен не указаны, ограничение не действует.

4) По месту хранения​

Скидку можно ограничить местами хранения:

  • если у скидки заданы (включены) места хранения, она применяется только к строкам с одним из них; вложенные места хранения включённого места также считаются включёнными;
  • если места хранения не заданы, ограничение не действует.

5) По минимальному количеству и сумме строки​

Скидка может требовать, чтобы в строке было не меньше:

  • минимального количества;
  • минимальной суммы.

Если строка не дотягивает до порога, скидка не применяется.

Важно: сумма для проверки берётся как «полная сумма» (рассчитанная от количества и цены; при необходимости учитывается налог).

6) По накопительным условиям по покупателю​

Скидка может быть накопительной и включаться только если у покупателя:

  • общий объём предыдущих покупок больше порога (поле скидки «Продано клиенту всего от»);
  • или объём покупок за прошлый календарный месяц больше порога (поле скидки «Продано клиенту за прошедший месяц от»).

Значения, с которыми сравниваются пороги, накапливаются системой:

  • «Продано» в карточке покупателя — сумма по всему регистру продаж (с учётом начального значения, заданного вручную);
  • «Продано в прошлом месяце» в карточке покупателя — сумма продаж за предыдущий календарный месяц.

При расчёте берётся значение на момент перед текущей сессией (т.е. покупки в той же сессии не сдвигают порог).

7) По меткам контрагента​

Скидку можно ограничить контрагентами с определёнными метками:

  • если в скидке указаны метки, она применяется только к контрагентам, у которых есть одна из этих меток;
  • если метки не указаны, ограничение не действует.

8) По атрибутам номенклатуры​

Скидку можно ограничить значениями атрибутов номенклатуры:

  • если в скидке указаны значения атрибутов, она применяется только к строкам, номенклатура которых соответствует этим значениям;
  • если значения атрибутов не указаны, ограничение не действует.

Скидки никогда не применяются к строкам возврата.

Как считается цена по скидке​

Для каждой подходящей скидки система вычисляет «цену по скидке».

Вариант 1: скидка в процентах​

Если в скидке задан процент, цена по скидке считается так:

цена по скидке = исходная цена × (100 − процент скидки) / 100

Вариант 2: скидка через тип цен​

Если в скидке задан тип цен, цена по скидке берётся из этого типа цен на дату строки.

Практический смысл:

  • можно задать скидку как «продавать по оптовой цене» или «по цене из специального прайс‑листа».

Как выбирается скидка автоматически​

Если для строки подходит несколько скидок, система автоматически выбирает наиболее выгодную для покупателя из автоматических скидок.

Правило выбора:

  • из всех подходящих автоматических скидок выбирается та, у которой цена по скидке минимальная.

Это соответствует логике выбора в коде: выбирается скидка с минимальной рассчитанной ценой.

Важно:

  • скидки не суммируются;
  • выбирается одна скидка, дающая минимальную цену (то есть «самую большую выгоду» в рамках заданных скидок).

Ручной выбор скидки в строке​

В строке заказа покупателя можно вручную выбрать скидку (поле «Скидка»).

Как это работает:

  1. Пользователь открывает выбор скидки.
  2. Система показывает только те скидки, которые подходят к строке по условиям.
  3. Пользователь выбирает скидку.

Если выбранная скидка процентная, система подставляет процент в строку (если пользователь не вводил процент вручную).

Если выбранная скидка задаётся типом цен, система подставляет цену по этому типу цен и пересчитывает скидку/сумму строки.

Автоматический пересчёт скидок​

Если включён автоматический пересчёт скидок, система пересчитывает скидку по строке при изменениях:

  • дата документа/строки;
  • контрагент;
  • номенклатура;
  • количество;
  • цена;
  • тип документа;
  • место хранения;
  • общая сумма документа.

Автоматический пересчёт выполняется только для скидок, которые не помечены как «вручную».

Также в заказе есть действие «Рассчитать скидки», которое принудительно пересчитывает скидки по всем строкам (кроме ручных).

Как отключить автопересчёт​

В настройках есть параметр «Не рассчитывать скидки автоматически в заказе».

Если он включён:

  • автоматический пересчёт по изменениям не выполняется;
  • пользователь применяет скидки вручную и/или через кнопку «Рассчитать скидки».

Где отражаются скидки​

Скидки обычно видны:

  • в строках заказа (выбранная скидка, процент/цена);
  • в итогах заказа (сумма скидки по документу);
  • в документах реализации (если скидки переносятся в реализацию);
  • в отчётах по продажам.

Типовые проблемы​

  • Скидка не применяется — проверьте дату, тип цен, место хранения, пороги количества/суммы и ограничения по товарам/категориям.
  • Подходят несколько скидок, но выбралась «не та» — система выбирает скидку с минимальной ценой по скидке. Если нужно выбрать другую, используйте ручной выбор.
  • Скидка «слетает» после изменения строки — включён автопересчёт и выбранная скидка не является ручной.

Примеры​

Ниже — несколько упрощённых примеров, чтобы было понятно, как работают правила.

Пример 1. Процентная скидка с порогом по количеству​

Условия скидки:

  • товары: «Кабель» (или категория «Кабели»);
  • период действия: текущий месяц;
  • минимальное количество в строке: 10;
  • скидка: 5%.

Ситуация в заказе:

  • строка: «Кабель», количество 8, цена 100.

Результат:

  • скидка не применяется, потому что количество меньше 10.

Если изменить количество на 10:

  • цена по скидке = 100 × (100 − 5) / 100 = 95;
  • в строке будет применена цена 95 (или процент 5%, в зависимости от того, как настроено отображение в вашей форме).

Пример 2. Скидка через тип цен​

Условия скидки:

  • товары: категория «Бытовая техника»;
  • скидка задаётся через тип цен: «Оптовая»;
  • период действия: без ограничения.

Ситуация в заказе:

  • строка: «Чайник», количество 1;
  • текущая цена в заказе (например, по базовому типу цен) — 3 000;
  • цена по типу цен «Оптовая» на дату заказа — 2 700.

Результат:

  • при применении этой скидки система подставит цену 2 700.

Практический смысл: вместо расчёта «процента» вы фиксируете, что для этой группы товаров должны использоваться цены из другого типа цен.

Пример 3. Подходит две скидки — выбирается «наименее выгодная покупателю»​

Пусть для строки подходят две автоматические скидки:

  1. Скидка А: 10%
  2. Скидка Б: 5%

Исходная цена в строке: 100.

Цена по скидке:

  • по скидке А: 100 × (100 − 10) / 100 = 90;
  • по скидке Б: 100 × (100 − 5) / 100 = 95.

Автовыбор:

  • система выберет скидку А, потому что цена по скидке 90 ниже, чем 95.

Если по бизнес‑правилам нужно применить другую скидку (не самую выгодную), используйте ручной выбор скидки в строке.