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