BR-DEX – XRechnung-Extension
BR-DEX-02: Positionsbetrag weicht von der Summe der Unterpositionen ab
WarnungGeschäftsregel XRechnung (KoSIT)
Originaltext der Regel
[BR-DEX-02] Der Wert von "Invoice line net amount" (BT-131) einer "INVOICE LINE" (BG-25) oder einer "SUB INVOICE LINE" (BG-DEX-01) soll der Summe der "Invoice line net amount" (BT-131) der direkt darunterliegenden "SUB INVOICE LINE" (BG-DEX-01) entsprechen.Quelle: KoSIT XRechnung, Version 3.0.2 (Schematron 2.6.0)
Korrektur im XML
Berechnen Sie cbc:LineExtensionAmount der Position als Summe der LineExtensionAmount ihrer direkten cac:SubInvoiceLine-Elemente, gerundet auf zwei Stellen, und verteilen Sie Rabatte auf die Unterpositionen, damit beide Ebenen dasselbe ergeben.
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="C62">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">300.00</cbc:LineExtensionAmount>
<cac:SubInvoiceLine>
<cbc:ID>1.1</cbc:ID>
<cbc:LineExtensionAmount currencyID="EUR">200.00</cbc:LineExtensionAmount>
</cac:SubInvoiceLine>
<cac:SubInvoiceLine>
<cbc:ID>1.2</cbc:ID>
<cbc:LineExtensionAmount currencyID="EUR">50.00</cbc:LineExtensionAmount>
</cac:SubInvoiceLine>
</cac:InvoiceLine><cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="C62">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">250.00</cbc:LineExtensionAmount>
<cac:SubInvoiceLine>
<cbc:ID>1.1</cbc:ID>
<cbc:LineExtensionAmount currencyID="EUR">200.00</cbc:LineExtensionAmount>
</cac:SubInvoiceLine>
<cac:SubInvoiceLine>
<cbc:ID>1.2</cbc:ID>
<cbc:LineExtensionAmount currencyID="EUR">50.00</cbc:LineExtensionAmount>
</cac:SubInvoiceLine>
</cac:InvoiceLine>Bedeutung der Regel
Ihre Rechnung nutzt Unterpositionen, die es nur in der XRechnung-Extension gibt: Eine Position wird in mehrere Unterpositionen aufgeteilt, etwa ein Paket in seine Bestandteile. Der Nettobetrag der übergeordneten Position soll der Summe der Nettobeträge ihrer direkten Unterpositionen entsprechen. Weicht er ab, meldet XRechnung die Differenz, weil der Empfänger nicht weiß, welcher Betrag gilt. Meist wurde die Position nach dem Anlegen der Unterpositionen geändert oder es fehlt eine Unterposition.
Woran es meist liegt
- Der Betrag der Hauptposition wurde geändert, die Unterpositionen aber nicht angepasst.
- Eine Unterposition wurde gelöscht, ohne die Summe neu zu berechnen.
- Rabatte wurden nur auf der Hauptposition abgezogen, nicht in den Unterpositionen.
Fragen und Antworten
Gibt es Unterpositionen auch in CII?
Die XRechnung-Extension definiert Unterpositionen nur für UBL; in CII fehlt dafür die Struktur, deshalb gilt BR-DEX-02 nur für UBL-Rechnungen.
Darf eine Unterposition selbst Unterpositionen haben?
Ja, die Verschachtelung ist erlaubt. Die Regel prüft auf jeder Ebene nur die direkt untergeordneten Positionen.
Felder der EN 16931
- BT-131
- BG-25
Siehe auch
Rechnung prüfen
Der XRechnung-Validator meldet diese Regel mit Zeilennummer und Fundstelle – direkt in Ihrem Browser, ohne Upload.
Die Regel im Detail
- UBL · Kontext (XPath)
/ubl:Invoice[$isExtension]- UBL · Schematron-Test
(every $invoiceline in /ubl:Invoice/cac:InvoiceLine[ exists (./cac:SubInvoiceLine) ] satisfies $invoiceline/xs:decimal(cbc:LineExtensionAmount) = sum($invoiceline/cac:SubInvoiceLine/xs:decimal(cbc:LineExtensionAmount))) and (count( //cac:SubInvoiceLine [count(cac:SubInvoiceLine) > 0 and xs:decimal(cbc:LineExtensionAmount) = sum(cac:SubInvoiceLine/xs:decimal(cbc:LineExtensionAmount))]) = count(//cac:SubInvoiceLine [count(cac:SubInvoiceLine) > 0]))
Erklärung erstellt am 14.09.2026