Vladyslav
Service
Опубликовано: 22 февраля 2021

Распределение скидок нужно для взаимодействия интернет-магазина с платёжными системами и правильной фискализации чеков.

В Shop-Script есть два вида скидок, которые относятся к товарам:

  • скидка на каждый товар;
  • скидка на весь заказ.

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

Некоторые платёжные системы умеют сами распределять скидку, но делают это по-разному, из-за чего иногда возникают расхождения. От этого может пострадать бухгалтерская отчётность, и у покупателей магазина возникают лишние вопросы, когда они видят несовпадающие суммы в чеках и в личном кабинете.

Распределение скидки по товарам в заказе — обязательное требование для работы современного интернет-магазина. Для того чтобы распределение всегда происходило по одинаковым правилам, Shop-Script сам сразу выполняет эту операцию и отправляет готовые данные в сторонние сервисы с помощью соответствующих плагинов.

В Shop-Script есть 2 способа распределения скидки: с корректировкой итогового размера скидки и с разделением одной из позиций заказа на две. Для выбора нужного вам способа используйте настройку «Распределение скидки в заказе» в разделе «Настройки → Валюты».

Способ 1. Корректировка итогового размера скидки

Для использования этого способа выберите вариант настройки «Распределение скидки в заказе: увеличить скидку».

При использовании этого способа скидка на весь заказ делится поровну по всем группам одинаковых товаров. Например, если общая скидка равна 100 руб., а в заказе 5 одинаковых товаров, то скидка на каждый товар будет равна 100 / 5 = 20 руб.

Более сложный случай: скидка на весь заказ равна 100 руб., а в заказе 3 одинаковых товара. Вроде бы надо «просто» разделить 100 на 3, однако точное деление выполнить не удастся, потому что получится по 33,33 руб. на каждый товар и ещё останется 1 копейка. Если проигнорировать эту копейку, то окажется, что покупатель получит скидку на 1 копейку меньше и из-за этого может быть недоволен работой магазина.

А если применить оставшуюся копейку скидки к одному из товаров, то окажется, что к одинаковым товарам применяются разные скидки. Из-за этого могут возникнуть сложности при частичном возврате заказа: если покупатель захочет вернуть одну из трёх единиц товара, то стоимость какой из них нужно возвращать покупателю: той, где скидка больше на 1 копейку, или той, где скидка меньше? Этот выбор усложнил бы работу администратора магазина.

Как выполняется корректировка скидки

Чтобы покупатель всегда получал обещанную скидку и при этом скидка равномерно распределялась по товарам, её размер корректируется, т. е. увеличивается на несколько копеек — так, чтобы её можно было равномерно распределить по всем товарам в заказе.

Уменьшать скидку мы не можем, чтобы не расстраивать покупателя!
Заказ до распределения скидки
  • товар: 3 шт. (скидка на весь заказ = 100 руб., сумма заказа = 1000 руб.)
Заказ после распределения скидки
  • товар: 3 шт. (скидка на весь заказ = 33,34 х 3 = 100,02 руб., сумма заказа = 999,98 руб.)

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

Когда размер скидки увеличивается на несколько копеек из-за корректировки, на столько же копеек уменьшается итоговая сумма заказа.

Размер суммы для корректировки скидки

В примере выше показано, как размер скидки был увеличен на несколько копеек, чтобы итоговую скидку можно было без остатка разделить на количество заказанных товаров. Если нужно, то размер суммы для корректировки скидки можно увеличить до десятков копеек, целых рублей, десятков и даже сотен рублей. В этом примере итоговый размер скидки может стать равным не 100,02 руб., а 100,20 руб., 102 руб., 120 руб. или 300 руб. — каждая из этих сумм делится на 3 без остатка (напомним, что 3 — это количество товара в данном примере и оно может быть другим в реальных заказах).

Чтобы изменить размер суммы для корректировки скидки:

  1. Выберите нужную точность округления в свойствах валюты, в которой вы получаете заказы.
  2. Включите настройку «Округление → Для итогового размера скидки» в разделе «Настройки → Валюты».

Способ 2. Разделение одной позиции заказа на две

Для использования этого способа выберите вариант настройки «Распределение скидки в заказе: разделить одну из позиций в заказе на две».

Чтобы правильно обработать случаи, когда целочисленное деление скидки на количество товаров невозможно, одна из позиций заказа разделяется на две. После этого остававшийся ранее остаток от деления добавляется к скидке на одну из этих позиций.

Рассмотрим тот же простой пример: заказ с 3 одинаковыми товарами и скидкой 100 руб. на весь заказ. Поскольку 100 не делится без остатка на 3, Shop-Script разделяет одну товарную позицию из 3 шт. в заказе на две позиции: 2 шт. и 1 шт. Для каждой штуки товара в 1-й позиции применяется скидка 33,33 руб., а для оставшейся штуки товара во 2-й позиции применяется более высокая скидка 33,34 руб. Суммарная скидка в итоге остаётся без изменений: 33,33 руб. х 2 + 33,34 руб. х 1 = 100 руб.

Заказ до распределения скидки
  • товар: 3 шт. (скидка на весь заказ = 100 руб.)
Заказ после распределения скидки
  • товар: 2 шт. (скидка на эту позицию = 33,33 руб. х 2)
  • товар: 1 шт. (скидка на эту позицию = 33,34 руб. х 1)

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

Добавить комментарий

Чтобы добавить комментарий, зарегистрируйтесь или войдите