Referenz
Markdown-ExportPEPPOL-EN16931-R046 Artikelnettopreis muss dem Artikelbruttopreis abzüglich des Preisnachlasses entsprechen
Gemäß Peppol-Regel PEPPOL-EN16931-R046 muss der Artikelnettopreis in BT-146 (cbc:PriceAmount), wenn auf einer Rechnungsposition ein Artikelbruttopreis in BT-148 (cbc:BaseAmount) und ein Preisnachlass in BT-147 (cbc:Amount) angegeben sind, exakt der Gleichung entsprechen: Nettopreis = Bruttopreis − Preisnachlass. Die Regel greift nur, wenn der Bruttopreis vorhanden ist, und vergleicht exakte Dezimalwerte ohne Rundungstoleranz.
Problembeschreibung
FEHLER
Regel von Peppol BIS Billing 3.0 (OpenPeppol)
Kontext und Bedeutung
Abweichungen zwischen Bruttopreis, Preisnachlass und Nettopreis lösen PEPPOL-EN16931-R046 aus. Da die Prüfung keine Rundungstoleranz kennt, scheitert bereits ein auf 2 Nachkommastellen gerundeter Nettopreis, wenn Bruttopreis und Nachlass 4 Nachkommastellen haben. Der Fehler tritt auch auf, wenn ein Nachlass in cbc:Amount exportiert wird, der Nettopreis aber weiter dem Bruttopreis entspricht.
Lösung
Berechnen Sie in der Preisfindung Ihres ERP-Systems den Einzelnettopreis vor dem Export als Bruttoeinzelpreis abzüglich des Einzelpreisnachlasses, mit derselben Dezimalgenauigkeit für alle drei Werte. In UBL 2.1 muss innerhalb von <cac:Price> <cbc:PriceAmount> exakt <cac:AllowanceCharge><cbc:BaseAmount> minus <cbc:Amount> entsprechen. Geben Sie keinen Bruttopreis an, lassen Sie cbc:BaseAmount weg; R046 wird dann nicht geprüft.
Schnellzugriff
Gültige Beispiele
- Bruttopreis BT-148 = 100.00 EUR, Preisnachlass BT-147 = 20.00 EUR, Nettopreis BT-146 = 80.00 EUR
- Bruttopreis BT-148 = 50.00 EUR, Preisnachlass BT-147 = 5.00 EUR, Nettopreis BT-146 = 45.00 EUR
Ungültige Beispiele
- Bruttopreis 100.00 EUR abzüglich Nachlass 20.00 EUR exportiert mit Nettopreis = 85.00 EUR (Rechenfehler)
- Preisnachlass als 10.00 EUR deklariert, aber Nettopreis entspricht dem Bruttopreis ohne Abzug
Code-Beispiele
<cac:Price>
<cbc:PriceAmount currencyID="EUR">80.00</cbc:PriceAmount>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">20.00</cbc:Amount>
<cbc:BaseAmount currencyID="EUR">100.00</cbc:BaseAmount>
</cac:AllowanceCharge>
</cac:Price><cac:Price>
<cbc:PriceAmount currencyID="EUR">85.00</cbc:PriceAmount>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:Amount currencyID="EUR">20.00</cbc:Amount>
<cbc:BaseAmount currencyID="EUR">100.00</cbc:BaseAmount>
</cac:AllowanceCharge>
</cac:Price>