Корректировка скидки в Shop-Script 8.9

Корректировка скидки в Shop-Script 8.9

После обновления до версии 8.9 в Shop-Script немного изменилась логика работы со скидками. Наверняка вы заметили, что иногда скидка сама по себе увеличивается на одну-две копейки и эти копейки никак вручную не убрать. Расскажем, почему так происходит и для чего это нужно.

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

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

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

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

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

Откуда же всё-таки берутся лишние копейки в скидке?

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

Чтобы не расстраивать покупателя, скидку уменьшать не будем. Но её ведь всё равно надо распределить по товарам! Выход — скидку можно увеличить. Увеличиваем её постепенно по одной копейке — до тех пор, пока она не станет кратной количеству заказанных товаров. В этом примере мы увеличим скидку со 100 руб. до 100,02 руб. Она поделится на 3 товара поровну, и получится по 33,34 руб. на товар.

Ура! Теперь скидка распределяется поровну, и проблема с платёжными системами и фискализацей чеков решена.

Давайте обсудим

Мы получаем от вас сообщения в службу поддержки о том, что вы хотели бы сохранить целочисленные скидки, потому что вам так удобнее работать. Возможно, новая логика работы со скидками на первый взгляд показалась вам нелогичной, поэтому мы решили рассказать об этом подробнее. И заодно хотели бы узнать ваше мнение о том, как можно было бы адаптировать эту новую логику к вашей ежедневной работе. Так, чтобы и цифры сходились, и вам было комфортно.

Напишите, пожалуйста, свои предложения в комментариях — обсудим. Возможно, вместе нам удастся найти какое-то решение, которое устроит и пользователей Shop-Script, и платёжные системы с операторами фискальных данных.