StartFehlercode-Lexikon › BR-CO-23
BR-CO-23 Feld BG-27 Rechen- & Konsistenzregeln (BR-CO)

BR-CO-23 beheben: Grund des Positions-Abschlags (BT-139/BT-140) fehlt

[BR-CO-23]-Each Invoice line allowance (BG-27) shall contain an Invoice line allowance reason (BT-139) or an Invoice line allowance

BR-CO-23 in deiner eigenen Rechnung? Lade die Datei hoch und finde alle Fehler in Sekunden.

Was bedeutet BR-CO-23?

Jeder Abschlag auf Positionsebene muss einen Grund als Text oder als Code tragen. So ist der Abzug erklaert.

Häufige Ursachen für BR-CO-23

So behebst du BR-CO-23

  1. Fehlerhafte Stelle im XML finden. Öffne die XML der E-Rechnung und navigiere zum Feld BG-27 über den folgenden XPath://ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='false']
  2. Korrektur einsetzen. Jeder Abschlag auf Positionsebene (BG-27) muss einen Grund als Text (BT-139, 'ram:Reason') oder als Code (BT-140, 'ram:ReasonCode') enthalten. Ergaenze in der betroffenen 'ram:SpecifiedTradeAllowanceCharge' der Position (mit 'ram:ChargeIndicator' = false) mindestens eines der beiden Elemente.
  3. Erneut validieren. Speichere die Datei und validiere sie erneut, um zu prüfen, dass BR-CO-23 nicht mehr gemeldet wird.
Konkreter Korrekturvorschlag

Jeder Abschlag auf Positionsebene (BG-27) muss einen Grund als Text (BT-139, 'ram:Reason') oder als Code (BT-140, 'ram:ReasonCode') enthalten. Ergaenze in der betroffenen 'ram:SpecifiedTradeAllowanceCharge' der Position (mit 'ram:ChargeIndicator' = false) mindestens eines der beiden Elemente.

XPath//ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='false']

Vorher / Nachher: das XML-Beispiel

So sieht die betroffene Stelle vor und nach der Korrektur aus (Cross-Industry-Invoice, ZUGFeRD/Factur-X).

Fehlerhaft
<ram:SpecifiedLineTradeSettlement>
  <ram:SpecifiedTradeAllowanceCharge>
    <ram:ChargeIndicator><udt:Indicator>false</udt:Indicator></ram:ChargeIndicator>
    <ram:ActualAmount>5.00</ram:ActualAmount>
  </ram:SpecifiedTradeAllowanceCharge>
</ram:SpecifiedLineTradeSettlement>
Korrekt
<ram:SpecifiedLineTradeSettlement>
  <ram:SpecifiedTradeAllowanceCharge>
    <ram:ChargeIndicator><udt:Indicator>false</udt:Indicator></ram:ChargeIndicator>
    <ram:ActualAmount>5.00</ram:ActualAmount>
    <ram:ReasonCode>95</ram:ReasonCode>
    <ram:Reason>Positionsrabatt</ram:Reason>
  </ram:SpecifiedTradeAllowanceCharge>
</ram:SpecifiedLineTradeSettlement>

Häufige Fragen zu BR-CO-23

Worin unterscheidet sich BR-CO-23 von BR-CO-21?
BR-CO-21 betrifft Abschlaege auf Dokumentebene (BG-20), BR-CO-23 Abschlaege auf Positionsebene (BG-27). Beide verlangen einen Grund als Text oder als Code, nur an unterschiedlicher Stelle im XML.
Reicht bei einem Positionsrabatt der Code allein?
Ja. Fuer BR-CO-23 genuegt entweder der Grund-Code (BT-140, 'ram:ReasonCode') oder der Freitext-Grund (BT-139, 'ram:Reason'). Eines der beiden muss vorhanden sein.

Verwandte Fehlercodes

BR-CO-23 automatisch prüfen

Statt das XML manuell zu durchsuchen, kannst du deine ZUGFeRD- oder XRechnung-Datei online validieren – lade die PDF oder XML hoch und du bekommst jeden Fehler mit Regel-ID, betroffenem Feld, Korrekturvorschlag und XPath, als lesbaren Report oder strukturiertes JSON über die API.

Jeden Fehler automatisch finden statt manuell suchen

Lade deine ZUGFeRD- oder XRechnung-Datei hoch – du bekommst jeden Verstoß mit Regel-ID, Feld, Korrekturvorschlag und XPath zurück.

Kostenlos online validieren
Rechnung prüfen