BR-CO – Bedingungen und Berechnungen
BR-CO-07: Grund und Grundcode eines Positionsnachlasses passen nicht
FehlerGeschäftsregel EN 16931 (CEN)
Originaltext der Regel
[BR-CO-07]-Invoice line allowance reason code (BT-140) and Invoice line allowance reason (BT-139) shall indicate the same type of allowance reason.Quelle: CEN EN 16931, Version 1.3.16
Bedeutung der Regel
Ein Nachlass in einer Rechnungsposition darf einen Grund als Text und als Code aus UNTDID 5189 tragen; beide müssen dieselbe Art von Nachlass bezeichnen, etwa Aktionsrabatt und Code 66. Die Norm stellt diese Anforderung, überlässt die Einhaltung aber dem Aussteller, weil kein Programm den Sinn eines Textes prüfen kann. In Prüfberichten erscheint die Regel deshalb nicht. Achten Sie trotzdem darauf: Positionsrabatte werden vom Empfänger oft einzeln kontrolliert.
Korrektur im XML
Setzen Sie je Positionsnachlass den passenden Code aus UNTDID 5189 und einen dazu passenden Text, oder nur eine der beiden Angaben. In UBL stehen sie in cac:InvoiceLine/cac:AllowanceCharge in cbc:AllowanceChargeReasonCode und cbc:AllowanceChargeReason.
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:AllowanceChargeReasonCode>100</cbc:AllowanceChargeReasonCode>
<cbc:AllowanceChargeReason>Aktionsrabatt</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="EUR">5.00</cbc:Amount>
</cac:AllowanceCharge>
</cac:InvoiceLine><cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:AllowanceChargeReasonCode>66</cbc:AllowanceChargeReasonCode>
<cbc:AllowanceChargeReason>Aktionsrabatt</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="EUR">5.00</cbc:Amount>
</cac:AllowanceCharge>
</cac:InvoiceLine>Fragen und Antworten
Welche Codes aus UNTDID 5189 sind üblich?
95 für Mengenrabatt, 66 für Aktions- oder Sonderrabatt, 100 für Sonderabkommen und 88 für Materialzuschlag-Abschlag; die vollständige Liste führt die Codeliste.
Gilt die Regel auch, wenn ich nur den Code angebe?
Dann kann nichts widersprechen: Die Regel betrifft nur den Fall, dass Text und Code beide vorhanden sind.
Weitere typische Ursachen
- Der Grundcode wird für alle Positionen aus einer Voreinstellung übernommen.
- Der Grundtext stammt aus der Artikelbeschreibung, nicht aus dem Rabattgrund.
- Beim Kopieren einer Position blieb der alte Code stehen.
Felder der EN 16931
- BT-139
- BT-140
- BG-27
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)
//cac:InvoiceLine/cac:AllowanceCharge[cbc:ChargeIndicator = false()] | //cac:CreditNoteLine/cac:AllowanceCharge[cbc:ChargeIndicator = false()]- UBL · Schematron-Test
true()- CII · Kontext (XPath)
//ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:ChargeIndicator[udt:Indicator = 'false']- CII · Schematron-Test
true()
Erklärung erstellt am 14.09.2026