In diesem Artikel lernen Sie, wie Sie Rabatte und Aufschläge an die RetailForce Middleware übergeben können.
Voraussetzung
- Grundsätzliche Erfahrung mit dem RetailForce Dokumentenmodell
Informationen
Unterstützte Rabatte und Aufschläge
Derzeit können Rabatte und Aufschläge folgendermaßen im Document-Payload übergeben werden:
- als Teil der einzelnen Artikelposition und somit als Rabatt oder Zuschlag zum jeweiligen Artikel
- innerhalb einer Position vom Typ "Total" (Achtung: Besonderheiten siehe unten)
- als eigene Rabatt- / Aufschlagsposition
Hinweis: Variante 2 wird gegebenenfalls nicht in jedem Land unterstützt. Siehe FiscalCountryProperties des jeweiligen Landes.
Die Übergabe von Rabatte / Aufschläge auf sämtliche Artikelpositionen über Zwischensummen oder Summen werden aktuell nicht unterstützt. Sämtliche Rabatte und Zuschläge müssen auf die alle Positionen umgerechnet werden.
Es können allerdings mehrere Rabatte oder Aufschläge pro Position übergeben werden.
Wichtig: Die Summe aller Rabattwerte oder Aufschläge pro Position muss die Differenz zwischen "GrossValue" und "BaseGrossValue" ergeben, ansonsten schlägt die Validierung fehl.
Mögliche Übergabe von Rabatten und Aufschlägen
Variante 1
Rabatt oder Zuschlag wird in der jeweiligen Artikel-Position, im "Discounts"-Array aufgenommen.
Beispiel:
Das nachfolgende Beispiel zeigt nur einen Ausschnitt und nicht die vollständige Item-Position.
"BaseNetValue": 123.08,
"BaseGrossValue": 147.70,
"BaseTaxValue": 24.62,
"VatIdentification": 1,
"VatPercent": 20.0,
"Discounts": [
{
"DiscountValue": 14.7700,
"Caption": "Stammkundenrabatt 10%",
"DiscountOrder": 0,
"Type": 1,
"TypeValue": 10,
"PromotionKeys": null,
"Identifier": "SKR-10"
}
],
"NetValue": 110.78,
"GrossValue": 132.93,
"TaxValue": 22.16,Details zu den einzelnen Elementen finden Sie im Artikel Positions-Objekt "positions".
Im obigen Beispiel wird ein Rabatt in der Höhe von 10% ("TypeValue: 10) übergeben. Der "DiscountValue" wird von der "BaseGrossValue" (Wert vor Rabatt) berechnet. Für die Berechnung von "GrossValue" wird der "DiscountValue" vom "GrossValue" abgezogen.
Aufschläge
Bei der Übergabe von Aufschlägen ist folgendes zu beachten:
- "DiscountValue" und "TypeValue sind, im Falle von Aufschlägen, NEGATIVE Werte!
Arten von Rabatten und Aufschlägen
"Discounts.Type" gibt die Art des Rabattes bzw. des Aufschlages an:
| Art | Erklärung | Element |
| Summenrabatt / Summenaufschlag |
Der Rabatt / Aufschlag wird als fixer Wert angegeben, z.B. "15 EUR Rabatt", oder "5 EUR Servicegebühr" In diesem Fall besitzen "DiscountValue" und "TypeValue" den gleichen Wert. |
"Type": "[0] = Allowance" oder "Type": 0 |
| prozentueller Rabatt / Aufschlag |
Der Aufschlag / Rabatt wird als prozentueller Wert angegeben, z.B. "10% Rabatt auf Artikel", oder "5% Servicegebühr". Hierbei gibt "TypeValue" den prozentualen Wert an, wobei "DiscountValue" von der jeweiligen "BaseGrossValue" der Position berechnet wird. Hinweis: im Falle von prozentuellen Rabatten, muss "DiscountValue" immer auf 4 Nachkommastellen berechnet werden! |
"Type": "[1] = Discount" oder "Type": 1 |
Mehrere Rabatte / Aufschläge
Das "Discounts"-Array kann mehrere Rabatte / Aufschläge enthalten.
Die Reihenfolge der Anwendung der einzelnen Rabatte oder Aufschläge, zur Berechnung der "GrossValue", wird mit "DiscountOrder" definiert, wobei der erste anzuwendende Rabatt den Wert '0' besitzt.
Beispiel für Mehrere Rabatte:
Im nachfolgenden Beispiel wird zunächst ein prozentueller Rabatt von 10% und weiters ein Rabatt in der Höhe von EUR 5 auf eine Artikelposition angewendet.
"BaseNetValue": 123.08,
"BaseGrossValue": 147.70,
"BaseTaxValue": 24.62,
"VatIdentification": 1,
"VatPercent": 20.0,
"Discounts": [
{
"DiscountValue": 14.7700,
"Caption": "Stammkundenrabatt 10%",
"DiscountOrder": 0,
"Type": 1,
"TypeValue": 10,
"PromotionKeys": null,
"Identifier": "SKR-10"
},
{
"DiscountValue": 5.0000,
"Caption": "Sonderrabatt 5 EUR",
"DiscountOrder": 1,
"Type": 0,
"TypeValue": 5.0,
"PromotionKeys": null,
"Identifier": "SKR-10"
}
],
"NetValue": 106.61,
"GrossValue": 127.93,
"TaxValue": 21.32,Besonderheit "Total" Position
Rabatte oder Aufschläge können auch als Teil einer Position vom Typ "Total" (=Summenposition) übergeben werden.
Hier ist allerdings zu beachten, dass die reine Angabe innerhalb der "Total" Position NICHT ausreicht. Der Rabatt muss anteilsmäßig auf die einzelnen Artikelpositionen aufgeteilt werden. Wird z.B. ein 10% Rabatt on der Total Position ausgewiesen, so müssen auch die einzelnen Positionen einen 10% Rabatt aufweisen.
Beispiel:
{
"PositionNumber": 1,
"Type": 10,
"Rounding": null,
"BaseValue": 147.70,
"Value": 132.93,
"Discounts":[
{
"Identifier": "SKR-10",
"Caption": "Stammkundenrabatt 10%",
"Type": 1,
"DiscountOrder": 0,
"DiscountValue": 14.7700,
"TypeValue": 10
}
],
"Caption": "Summe"
}
Variante 2
In den meisten Ländern können Rabatte und Aufschläge auch als eigene Position übergeben werden. Der Rabatt bzw. Aufschlag wird als Teil der Berechnung der Belegsumme berücksichtigt.
Rabatte werden dabei als negative, Aufschläge als positive Werte übergeben!
Derartige Rabatte oder Aufschläge werden über den "BusinessTransactionType": "[1] = Discount" definiert.
Beispiel:
Im nachfolgenden Beispiel wird ein Rabatt von EUR 12, als eigene Position ausgewiesen.
{
"PositionNumber": 1,
"Type": 3,
"Caption": "Rabatt",
"Identifier": "Rabatt",
"BusinessTransactionType": 1,
"VatIdentification": 1,
"VatPercent": 20.0,
"NetValue": -10.0,
"GrossValue": -12.0,
"TaxValue": -2.0
}
Kommentare
0 Kommentare
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.