V tomto článku se dozvíte, jak přenášet slevy a příplatky do middlewaru RetailForce.
Předpoklady
- Základní zkušenosti s dokumentovým modelem RetailForce
Informace
Podporované slevy a příplatky
V současné době lze slevy a příplatky přenášet v datové části dokumentu následujícím způsobem:
- Jako součást jednotlivé položky a tedy jako sleva nebo příplatek k dané položce
- V rámci položky typu „Celkem“ (Poznámka: Zvláštní úvahy viz níže)
- Jako samostatná položka slevy/příplatku
Poznámka: Možnost 2 je v současné době podporována pouze v Německu a Portugalsku. Viz FiscalCountryProperties pro příslušnou zemi.
Přenos slev/příplatků na všechny položky prostřednictvím mezisoučtů nebo součtů není v současné době podporován. Všechny slevy a příplatky musí být převedeny na všechny položky.
Na jednu položku však lze převést více slev nebo příplatků.
Důležité: Součet všech hodnot slev nebo příplatků na jednu položku se musí rovnat rozdílu mezi „GrossValue“ a „BaseGrossValue“; v opačném případě validace selže.
Možnosti přenosu slev a příplatků
Varianta 1
Slevy nebo příplatky jsou zahrnuty v příslušné položce v poli „Discounts“.
Příklad:
Následující příklad zobrazuje pouze výňatek, nikoli kompletní položku.
"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,Podrobnosti o jednotlivých prvcích najdete v článku Položkový objekt „položky“.
Ve výše uvedeném příkladu je uplatněna sleva 10 % („TypeValue: 10“). Hodnota „DiscountValue“ se vypočítává z hodnoty „BaseGrossValue“ (hodnota před slevou). Pro výpočet hodnoty „GrossValue“ se od hodnoty „GrossValue“ odečte hodnota „DiscountValue“.
Příplatky
Při přenosu příplatků prosím vezměte na vědomí následující:
- „DiscountValue“ a „TypeValue“ jsou v případě příplatků ZÁPORNÉ hodnoty!
Typy slev a příplatků
„Discounts.Type“ určuje typ slevy nebo příplatku:
| Typ | Popis | Prvek |
| sleva / příplatek jako součet |
Sleva/příplatek je zadán jako pevná hodnota, např. „sleva 15 EUR“ nebo „servisní poplatek 5 EUR“. V tomto případě mají „DiscountValue“ a „TypeValue“ stejnou hodnotu. |
"Type": "[0] = Allowance" nebo: "Type": 0 |
| procentní sleva / příplatek |
Příplatek/sleva je zadán jako procentuální hodnota, např. „10 % sleva na položky“ nebo „5 % servisní poplatek“. Zde „TypeValue“ určuje procentuální hodnotu, přičemž „DiscountValue“ se vypočítává z příslušné „BaseGrossValue“ položky.
Poznámka: V případě procentních slev musí být „DiscountValue“ vždy vypočítáno na 4 desetinná místa! |
"Type": "[1] = Discount" nebo: "Type": 1 |
Více slev/příplatků
Pole „Discounts“ může obsahovat více slev/příplatků.
Pořadí, v jakém se jednotlivé slevy nebo příplatky uplatňují při výpočtu „GrossValue“, je definováno parametrem „DiscountOrder“, přičemž první uplatňovaná sleva má hodnotu „0“.
Příklad více slev:
V následujícím příkladu se na položku nejprve uplatní procentuální sleva ve výši 10 %, následovaná slevou ve výši 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,Zvláštní charakteristika položky „Total“
Slevy nebo příplatky lze také převést jako součást položky „Total“ (souhrnná položka).
Je však třeba poznamenat, že pouhé uvedení této informace v položce „Total“ NESTAČÍ. Sleva musí být proporcionálně rozdělena mezi jednotlivé položky. Pokud je například na souhrnné položce uvedena sleva 10 %, musí i jednotlivé položky vykazovat slevu 10 %.
Příklad:
{
"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"
}
Varianta 2
V Německu a Portugalsku lze slevy a příplatky převést také jako samostatné položky. Sleva nebo příplatek se zohlední při výpočtu celkové částky dokladu.
Slevy se přenášejí jako záporné hodnoty, příplatky jako kladné hodnoty!
Takové slevy nebo příplatky se definují pomocí „BusinessTransactionType“: „[1] = Sleva“.
Ve všech ostatních zemích software odmítne doklad obsahující takovou položku s chybou validace „Typ obchodní transakce ‚Sleva‘ není podporován.“ V těchto zemích použijte variantu 1. BusinessTransactionType „[1] = Sleva“ je označen jako zastaralý a je zachován pouze z důvodu zpětné kompatibility, proto se ve všech zemích doporučuje varianta 1.
Příklad:
V následujícím příkladu je sleva ve výši 12 EUR zobrazena jako samostatná položka.
{
"PositionNumber": 1,
"Type": 3,
"Caption": "Discount",
"Identifier": "Discount",
"BusinessTransactionType": 1,
"VatIdentification": 1,
"VatPercent": 20.0,
"NetValue": -10.0,
"GrossValue": -12.0,
"TaxValue": -2.0
}
Tento článek byl přeložen automaticky.
Komentáře
0 komentářů
Prosím přihlaste se, abyste mohli napsat komentář.