В тази статия ще научите как да предавате отстъпки и добавки към RetailForce Middleware.
Предварителни изисквания
- Основен опит с документалния модел на RetailForce
Информация
Поддържани отстъпки и добавки
Понастоящем отстъпките и добавките могат да се прехвърлят в payload-а на документа, както следва:
- Като част от позицията на отделния артикул и съответно като отстъпка или надбавка за съответния артикул
- В позиция от тип „Общо“ (Забележка: Вижте по-долу за специални съображения)
- Като отделна позиция за отстъпка/доплащане
Забележка: Възможно е опция 2 да не се поддържа във всяка страна. Вижте fiscalCountryProperties за съответната страна.
Прехвърлянето на отстъпки/доплащания за всички позиции на артикули чрез междинни или крайни суми понастоящем не се поддържа. Всички отстъпки и доплащания трябва да бъдат преобразувани във всички позиции.
Въпреки това за всеки артикул могат да се прехвърлят няколко отстъпки или надбавки.
Важно: Сумата от всички стойности на отстъпките или надбавките за всеки артикул трябва да е равна на разликата между „GrossValue“ и „BaseGrossValue“, в противен случай валидирането ще се провали.
Възможно прехвърляне на отстъпки и надбавки
Вариант 1
Отстъпките или надбавките се включват в съответната позиция на артикула в масива „Discounts“.
Пример:
Следващият пример показва само откъс, а не цялата позиция на артикула.
"BaseNetValue": 123.08,
"BaseGrossValue": 147.70,
"BaseTaxValue": 24.62,
"VatIdentification": 1,
"VatPercent": 20.0,
"Discounts": [
{
"DiscountValue": 14.7700,
"Caption": "Regular customer discount 10%",
"DiscountOrder": 0,
"Type": 1,
"TypeValue": 10,
"PromotionKeys": null,
"Identifier": "SKR-10"
}
],
"NetValue": 110.78,
"GrossValue": 132.93,
"TaxValue": 22.16,Подробности за отделните елементи можете да намерите в статията „Позиции“ на обекта „позиции“.
В горния пример е приложена отстъпка от 10% („TypeValue: 10“). „DiscountValue“ се изчислява въз основа на „BaseGrossValue“ (стойност преди отстъпката). За да се изчисли „GrossValue“, „DiscountValue“ се изважда от „GrossValue“.
Допълнителни такси
При прехвърляне на добавки, моля, имайте предвид следното:
- „DiscountValue“ и „TypeValue“ са ОТРИЦАТЕЛНИ стойности в случая на надбавки!
Видове отстъпки и добавки
„Discounts.Type“ определя вида на отстъпката или надбавката:
| Тип | Описание | Елемент |
| отстъпка/доплащане като сума |
Отстъпката/доплащането се определя като фиксирана стойност, например „отстъпка от 15 EUR“ или „такса за обслужване от 5 EUR“. В този случай „DiscountValue“ и „TypeValue“ имат една и съща стойност. |
"Type": "[0] = Allowance" или: "Type": 0 |
| процентна отстъпка/доплащане |
Добавката/отстъпката се посочва като процентна стойност, например „10 % отстъпка за артикулите“ или „5 % такса за обслужване“. Тук „TypeValue“ определя процентната стойност, като „DiscountValue“ се изчислява въз основа на съответната „BaseGrossValue“ на артикула. Забележка: При процентни отстъпки „DiscountValue“ винаги трябва да се изчислява с точност до 4 знака след десетичната запетая! |
"Type": "[1] = Discount" или: "Type": 1 |
Множествени отстъпки/доплащания
Масивът „Discounts“ може да съдържа множество отстъпки/доплащания.
Редът, в който отделните отстъпки или надбавки се прилагат за изчисляване на „GrossValue“, се определя от „DiscountOrder“, като първата отстъпка, която се прилага, има стойност „0“.
Пример за множество отстъпки:
В следния пример първо се прилага процентна отстъпка от 10% към даден артикул, следвана от отстъпка от 5 EUR.
"BaseNetValue": 123.08,
"BaseGrossValue": 147.70,
"BaseTaxValue": 24.62,
"VatIdentification": 1,
"VatPercent": 20.0,
"Discounts": [
{
"DiscountValue": 14.7700,
"Caption": "Regular customer discount 10%",
"DiscountOrder": 0,
"Type": 1,
"TypeValue": 10,
"PromotionKeys": null,
"Identifier": "SKR-10"
},
{
"DiscountValue": 5.0000,
"Caption": "Special discount 5 EUR",
"DiscountOrder": 1,
"Type": 0,
"TypeValue": 5.0,
"PromotionKeys": null,
"Identifier": "SKR-10"
}
],
"NetValue": 106.61,
"GrossValue": 127.93,
"TaxValue": 21.32,Специална характеристика „Общо“
Отстъпките или надбавките могат също да бъдат прехвърлени като част от позиция „Общо“ (сумарна позиция).
Трябва обаче да се отбележи, че самото посочване на това в позицията „Общо“ НЕ е достатъчно. Отстъпката трябва да бъде разпределена пропорционално между отделните позиции. Например, ако в позицията „Общо“ е посочена отстъпка от 10%, отделните артикули също трябва да имат отстъпка от 10%.
Пример:
{
"PositionNumber": 1,
"Type": 10,
"Rounding": null,
"BaseValue": 147.70,
"Value": 132.93,
"Discounts":[
{
"Identifier": "SKR-10",
"Caption": "Regular customer discount 10%",
"Type": 1,
"DiscountOrder": 0,
"DiscountValue": 14.7700,
"TypeValue": 10
}
],
"Caption": "Summe"
}
Вариант 2
В повечето страни отстъпките и надбавките могат да се прехвърлят и като отделни позиции. Отстъпката или надбавката се взема предвид при изчисляването на общата сума на документа.
Отстъпките се прехвърлят като отрицателни стойности, а надбавките – като положителни стойности!
Такива отстъпки или надбавки се дефинират чрез „BusinessTransactionType“: „[1] = Отстъпка“.
Пример:
В следния пример отстъпка от 12 EUR е показана като отделна позиция.
{
"PositionNumber": 1,
"Type": 3,
"Caption": "Discount",
"Identifier": "Discount",
"BusinessTransactionType": 1,
"VatIdentification": 1,
"VatPercent": 20.0,
"NetValue": -10.0,
"GrossValue": -12.0,
"TaxValue": -2.0
}
Тази статия е преведена автоматично.
Коментари
0 коментара
Влезте в услугата, за да оставите коментар.