Was PEPPOL-EN16931-R120 bedeutet
Peppol berechnet den erwarteten Positionsnettobetrag aus Menge × (Netto-Einzelpreis / Preisbasismenge) plus Positionszuschläge minus Positionsnachlässe.
Ein abweichender LineExtensionAmount deutet meist auf unterschiedliche Rundungs-, Preis- oder Rabattlogik zwischen ERP und XML-Export hin.
Betroffener Business Term und XML-Pfad
| Ebene | Angabe |
|---|---|
| Business Term | BT-131 · Invoice line net amount |
| UBL | cac:InvoiceLine/cbc:LineExtensionAmount |
| CII | Nicht anwendbar: Peppol BIS Billing 3.0 verwendet für diese Regel UBL Invoice/CreditNote. |
| Prüfszenario | Peppol BIS Billing 3.0 / UBL |
Fehlerhaftes und korrigiertes XML
Die Beispiele sind bewusst verkürzte Ausschnitte. Sie zeigen die betroffene Struktur, sind aber keine vollständigen Rechnungsdokumente.
<cac:InvoiceLine>
<cbc:InvoicedQuantity unitCode="C62">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">25.00</cbc:LineExtensionAmount>
<cac:Price><cbc:PriceAmount currencyID="EUR">10.00</cbc:PriceAmount></cac:Price>
</cac:InvoiceLine><cac:InvoiceLine>
<cbc:InvoicedQuantity unitCode="C62">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">20.00</cbc:LineExtensionAmount>
<cac:Price><cbc:PriceAmount currencyID="EUR">10.00</cbc:PriceAmount></cac:Price>
</cac:InvoiceLine>Häufige Ursachen
- Preis gilt für 100 Stück, BaseQuantity fehlt oder ist falsch.
- Positionsrabatt ist im Endbetrag, aber nicht als AllowanceCharge abgebildet.
- Menge oder Preis wurde nachträglich verändert.
- ERP und Exporter runden an unterschiedlichen Stellen.
Mapping im Quellsystem
| Quelle | Ziel | Dauerhafte Korrektur |
|---|---|---|
| Menge | InvoicedQuantity | Tatsächlich fakturierte Menge und Einheit übernehmen. |
| Netto-Einzelpreis / Preisbasis | PriceAmount / BaseQuantity | Preisbezug korrekt modellieren, z. B. Preis je 100 Einheiten. |
| Positionsnettobetrag | LineExtensionAmount | Aus denselben strukturierten Komponenten berechnen. |
So korrigieren Sie den Fehler
- InvoicedQuantity, PriceAmount und BaseQuantity der Position prüfen.
- Positionsnachlässe und -zuschläge vollständig einbeziehen.
- LineExtensionAmount aus denselben Werten neu berechnen.
- Rundungsregeln konsistent anwenden und gesamte Rechnung erneut validieren.
Vor dem erneuten Versand verifizieren
- Positionsbetrag mit der offiziellen Formel nachrechnen.
- BaseQuantity > 0 und fachlich korrekt prüfen.
- AllowanceCharge-Gruppen der Position einbeziehen.
- Alle Positionen erneut validieren, nicht nur die zuerst gemeldete.
Häufige Fragen
Welche Formel prüft R120?
Menge × (Netto-Einzelpreis / Preisbasismenge) + Positionszuschläge − Positionsnachlässe, innerhalb der vorgesehenen Toleranz.
Warum schlägt nur eine Position fehl?
Weil Preisbasis, Rundung oder Rabattdaten positionsbezogen unterschiedlich sein können.