Функции округления суммы товарной позиции и чека предназначены для того, чтобы уменьшить количество расчетов и избежать накопления мелочи на кассе.
Для корректной работы кассовой программы и ФР с ФН необходимо указывать для базовой валюты округление такое же как в ФР. Например, для ФР Ритейл-01 Ф используется округление математически с потерей значимости до копейки. При использовании различных способов округления в ФР и кассовой программе можно получить ошибку расхождения сумм, чеки не будут закрываться. |
Механизм округления суммы позиции реализован через округление, заданное в настройках валюты. Если для товара не назначена валюта, используемая для округления, то используется базовая валюта. Базовой валютой считается валюта, указанная первой среди типов валюты с признаком "базовая". Валюта для товара и способ округления для каждой валюты задается через утилиту администрирования Yuki либо при загрузке справочников товаров и валют соответственно.
По умолчанию для всех валют установлен способ округления "математически с потерей значимости", который используется при передаче данных из кассового ПО в ФР. |
Для валют, используемых в кассовом ПО Artix, может быть установлено округление до сотых, десятых, до целых, до десятков, до сотен.
Помимо способа округления для валют указывается одно из возможных правил округления:
Для товара с ценой 3.77 округление цены будет иметь значения: * Округление до десятков математически без потери значимости 3.80 * Округление до целых математически без потери значимости 4.00 * Округление до десятков до ближайшего меньшего 3.70 |
При различных значениях цены товара округление будет срабатывать следующим образом:
|
При наличном расчете по чеку зачастую требуется снизить количество используемых монет и/или банкнот с низким номиналом. В кассовом ПО Artix для этого реализована возможность предоставления скидки на мелочь, которая рассчитывается после применения скидки на позицию и предоставляется в соответствии с заданными программными настройками.
Пересчет скидки на мелочь может выполняться при добавлении оплаты в чек или в режиме работы с товарами. Подробнее о работе со скидками можно прочитать в разделе "Встроенная дисконтная система". Скидка на мелочь не распределяется на сертификат. |
Использование скидки на мелочь настраивается при помощи параметра useDiscountOnChange
:
true
на позиции в чеке предоставляется скидка на мелочь,false
скидка на мелочь не применяется.Скидка на мелочь уменьшает сумму чека в соответствии с коэффициентом округления, задаваемым при помощи параметра discountOnChangePrecision
. Способ округления суммы указывается в значении параметра в виде [<сумма чека>:<точность округления>]
, где:
Правила вычисления скидки на мелочь для разных сумм чеков могут быть заданы различные способы округления. Значения параметра в данном случае записываются через запятую.
discountOnChangePrecision = "[0:0.05], [50:0.1], [100:0.5], [200:1]" При такой настройке сумма чека выше 0 рублей округляется с точностью до 5 копеек, выше 50 рублей - до 10 копеек, выше 100 рублей - до 50 копеек и выше 200 рублей - до 1 рубля. На товар с начальной ценой 10,57 рублей будет предоставлена скидка на мелочь в размере 0,02 рубля. Окончательная цена товара будет равной 10,55 рубля. |
Правило распределения скидки по позициям определяется параметром distributeDiscountOnChange
:
"proportional"
скидка на мелочь распределяется пропорционально между позициями;"maxVat"
скидка на мелочь применяется к первой позиции с наибольшей ставкой налога. Если не удалось полностью применить скидку к первой позиции с максимальной ставкой НДС, то будет выполнена попытка применения скидки ко второй позиции с максимальной ставкой НДС. Если не получилось полностью применить скидку к позициям с максимальной ставкой НДС, то выполняется попытка применения скидки к позиции со второй по значению ставкой НДС;"maxSum"
скидка применяется к позиции с наибольшей суммой. Скидка на мелочь применяется только к одной позиции, если стоимость позиции не позволяет применить скидку, то она будет применена к позиции с меньшей стоимостью. Если стоимость позиций не позволяет применить скидку ни к одной позиции в чеке, то она не будет применена;fiscal
" скидка применяется к сумме чека без распределения по позициям и без ограничения по минимальным ценам.Например, в чеке две позиции, сумма чека – 54.40, точность округления до 1 рубля: 1. Цена – 24.90, мин.цена – 22.41, скидка на мелочь – 0.19 2. Цена – 26.50, мин.цена – 23.85, скидка на мелочь – 0.21 |
Например, в чеке три позиции, сумма чека 560.99, точность округления до 1 рубля: 1. Цена – 300.12, ставка налога – 5%, сумма налога – 14.29, скидка на мелочь – нет 2. Цена – 160.31, ставка налога – 10%, сумма налога – 14.57, скидка на мелочь – нет 3. Цена – 100.56, ставка налога – 15%, сумма налога – 13.12, скидка на мелочь – 0.99 |
Например, в чеке три позиции, сумма чека 560.99, точность округления до 1 рубля: 1. Цена – 300.12, мин.цена – 290.90, скидка на мелочь – 0.99 2. Цена – 160.31, мин.цена – 160.00, скидка на мелочь – нет 3. Цена – 100.56, мин.цена – 90.99, скидка на мелочь – нет |
Например, в чеке две позиции, сумма чека – 51.40, точность округления до 1 рубля: 1. Цена – 24.90 2. Цена – 26.50 Округление – 0.40 |
Правилами предоставления скидки на мелочь может быть определена возможность игнорировать минимальную цену на товар, которая задается при помощи параметра ignoreMinPriceForDiscountByChange
:
true
минимальная цена товара игнорируется, скидка дается в соответствии с заданным способом округления;false
сумма товара после применения скидки на мелочь не может быть ниже минимальной.Использование скидки на мелочь в большинстве случаев является целесообразным только при оплате товара наличными. Ограничение на предоставление скидки на мелочь при оплате той или иной валютой задается при помощи параметра useDiscountOnChangeForCashPaymentOnly
:
true
скидка на мелочь используется только при оплате чека наличными, вне зависимости от того, в каком порядке была применена оплата наличными;false
скидка на мелочь применяется во всех случаях, когда ее использование разрешено, независимо от способа оплаты чека.В кассовом ПО Artix реализована возможность предоставления скидки на мелочь только для суммы доплаты при смешанной оплате чека (например, сертификат и наличный расчет), регулируется параметром calculateDiscountOnChangeByBalance
:
true
на доплату предоставляется скидка на мелочь,false
скидка на мелочь применяется на всю сумму чека, а не только на сумму доплаты.Конфигурирование функции предоставления скидки на мелочь выполняется в файле /linuxcash/cash/conf/ncash.ini
в секции [Check]
:
Наименование | Тип данных | Возможные значения | Описание | Примечания | |
---|---|---|---|---|---|
useDiscountOnChange | логический |
| Использовать скидку на мелочь | По умолчанию false . | |
distributeDiscountOnChange | строковый |
| Настройка вида распределения скидки "на мелочь" по позициям | По умолчанию
| |
discountOnChangePrecision | строковый | Точность вычисления скидки на мелочь | По умолчанию сумма чека округляется с точностью до 1 рубля. | ||
ignoreMinPriceForDiscountByChange | логический |
| Игнорировать минимальную цену товара при предоставлении скидки на мелочь | По умолчанию false . | |
useDiscountOnChangeForCashPaymentOnly | логический |
| Использовать скидку на мелочь только при оплате наличными | По умолчанию false . | |
calculateDiscountOnChangeByBalance | логический |
| Считать скидку на мелочь от оставшейся суммы доплаты | По умолчанию Работает с настройками |
Для оплаты бонусами необходимо использовать сочетание настроек:
|
[Check] ... ; использовать "скидку на мелочь", по умолчанию скидка не используется useDiscountOnChange = true ; Настройка вида распределения скидки "на мелочь" по позициям ; Возможные значения: proportional(либо true), maxVat, maxSum, fiscal ; По умолчанию proportional ;distributeDiscountOnChange = proportional ; точность вычисления скидки "на мелочь", по умолчанию округляется до 1 для любой суммы чека ;discountOnChangePrecision = "[0:0.05], [50:1],[100:2], [200:5], " ; Игнорировать минимальную цену для скидки на сдачу ; По умолчанию false ;ignoreMinPriceForDiscountByChange = false ; Использовать скидку на мелочь только при оплате наличными, по умолчанию false. ;useDiscountOnChangeForCashPaymentOnly = true ; Считать скидку на мелочь от оставшейся суммы доплаты ; Работает с настройками useDiscountOnChangeForCashPaymentOnly и useIncreaseOnChange ; По умолчанию false ;calculateDiscountOnChangeByBalance = false ... |
Сумма чека при возврате округляется аналогично действию скидки на мелочь при продаже. Использование надбавки на мелочь определяется параметром useIncreaseOnChange
в конфигурационном файле /linuxcash/cash/conf/ncash.ini
в секции [Check]
:
true
сумма чека округляется,false
надбавка на мелочь не применяется.Сумма надбавки отражается на экране кассира в поле "Итоговая скидка" со знаком минус.
Пересчет надбавки на мелочь может выполняться при добавлении оплаты в чек или в режиме работы с товарами. Подробнее о работе со скидками можно прочитать в разделе "Встроенная дисконтная система ".
При возврате по чеку продажи при выходе из режима оплаты надбавка не пересчитывается, изменение надбавки выполняется только в том случае, если произошли изменения в оплате документа.
Надбавку на мелочь (настройка |
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
useIncreaseOnChange | логический |
| Использовать надбавку на мелочь для документов возврата | По умолчанию false |
[Check] ... ; Использовать "надбавку на мелочь" для документов возврата, по умолчанию надбавка не используется ;useIncreaseOnChange = false |
При выполнении нескольких частичных возвратов по одному и тому же чеку продажи сумма надбавки на мелочь компенсируется скидкой на мелочь в последнем чеке возврата.
Например, в чеке продажи несколько позиций с весовыми товарами, сумма чека 21291.31, применена скидка на мелочь 0.31:
Осуществляем возврат первой позиции, сумма 145.86, срабатывает надбавка 0.14:
Осуществляем возврат пятой позиции, сумма 10728.99, срабатывает надбавка 0.02:
Осуществляем возврат оставшихся позиций, сумма 10416.16, срабатывает скидка 0.16:
Таким образом, на первые два чека возврата сработала надбавка 0.14 и 0.02, на последний чек возврата сработала скидка 0.16, что уравняло суммы чека продажи и чеков возврата. |
Начиная с версии 4.6.205 поддержан функционал корректирующей скидки для избежания разбиения товарной позиции при передаче в ФР в случае применения скидок. |
Использование корректирующей скидки определяется параметром useCorrectionDiscount
в конфигурационном файле /linuxcash/cash/conf/ncash.ini
в секции [Check]
:
true
корректирующая скидка применяется, если это возможно,при значении параметра false
корректирующая скидка не применяется.
Возможность игнорирования минимальной цены товара при использовании корректирующей скидки задается при помощи параметра ignoreMinPriceForCorrectionDiscount
в конфигурационном файле /linuxcash/cash/conf/ncash.ini
в секции [Check]
:
true
минимальная цена товара игнорируется,false
цена товара после применения корректирующей скидки не может быть ниже минимальной.Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
useCorrectionDiscount | логический |
| Использовать корректирующую скидку | По умолчанию false |
ignoreMinPriceForCorrectionDiscount | логический |
| Игнорировать минимальную цену товара при использовании корректирующей скидки | По умолчанию false |
[Check] ; Использовать "корректирующую скидку" ; По умолчанию false ;useCorrectionDiscount = false ; Игнорировать минимальную цену для корректирующей скидки ; По умолчанию false ;ignoreMinPriceForCorrectionDiscount = false |
Например, в чеке позиция с весовым товаром: 1. Ананас 4.523 кг * 499.99 р = 2261.45 р На позицию применена скидка – 2000.00 р. Итоговая сумма чека – 261.45 р. При закрытии чека срабатывает корректирующая скидка – 0.02 р. В чеке печатается: |
Например, в чеке позиция с весовым товаром: 1. Ананас 4.523 кг * 499.99 р = 2261.45 р На позицию применена скидка – 2000.00 р. Итоговая сумма чека – 261.45 р. При передаче чека в ФР осуществляется разбиение позиции, в чеке печатается: |