✓ E-Rechnungprüfen

Startseite › Wissen › BR-CO-16

BR-CO-16: Fälliger Zahlungsbetrag (BT-115) falsch

Der fällige Betrag (BT-115) muss Bruttobetrag (BT-112) minus bereits gezahlter Betrag (BT-113) plus Rundungsbetrag (BT-114) sein. Wer weniger als das Brutto verlangt, muss die Differenz also strukturiert ausweisen.

Originaltext der Regel

Fehler BR-CO-16 · Herkunft: EN 16931 (europäische Norm)

Amount due for payment (BT-115) = Invoice total amount with VAT (BT-112) -Paid amount (BT-113) +Rounding amount (BT-114).
Technische Prüfung (Schematron/XPath)
RegelwerkKontextTest
EN 16931, UBLcac:LegalMonetaryTotal(exists(cbc:PrepaidAmount) and not(exists(cbc:PayableRoundingAmount)) and (xs:decimal(cbc:PayableAmount) = (round((xs:decimal(cbc:TaxInclusiveAmount) - xs:decimal(cbc:PrepaidAmount)) * 10 * 10) div 100))) or (not(exists(cbc:PrepaidAmount)) and not(exists(cbc:PayableRoundingAmount)) and xs:decimal(cbc:PayableAmount) = xs:decimal(cbc:TaxInclusiveAmount)) or (exists(cbc:PrepaidAmount) and exists(cbc:PayableRoundingAmount) and ((round((xs:decimal(cbc:PayableAmount) - xs:decimal(cbc:PayableRoundingAm …
EN 16931, CII//ram:SpecifiedTradeSettlementHeaderMonetarySummation(xs:decimal(ram:DuePayableAmount[1]) = xs:decimal(ram:GrandTotalAmount[1]) - xs:decimal(ram:TotalPrepaidAmount[1]) + xs:decimal(ram:RoundingAmount[1])) or ((xs:decimal(ram:DuePayableAmount[1]) = xs:decimal(ram:GrandTotalAmount[1]) + xs:decimal(ram:RoundingAmount[1])) and not(ram:TotalPrepaidAmount)) or ((xs:decimal(ram:DuePayableAmount[1]) = xs:decimal(ram:GrandTotalAmount[1]) - xs:decimal(ram:TotalPrepaidAmount[1])) and not(ram:RoundingAmount)) or ((xs:decimal(ram:DuePayableAmount[1]) = xs:deci …

Aus der offiziellen XRechnung 3.0.2 (KoSIT-Konfiguration 2026-08-31).

Typische Ursachen

So beheben Sie den Fehler

  1. Vorauszahlungen in UBL als cbc:PrepaidAmount, in CII als ram:TotalPrepaidAmount angeben.
  2. Rundungsdifferenzen als cbc:PayableRoundingAmount bzw. ram:RoundingAmount.

Beispiel: vorher und nachher

Fehlerhaft

  <cbc:TaxExclusiveAmount currencyID="EUR">1000.00</cbc:TaxExclusiveAmount>
  <cbc:TaxInclusiveAmount currencyID="EUR">1190.00</cbc:TaxInclusiveAmount>
  <!-- hier fehlt die Angabe -->
  <cbc:PayableAmount currencyID="EUR">1000.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>

Korrigiert

  <cbc:TaxExclusiveAmount currencyID="EUR">1000.00</cbc:TaxExclusiveAmount>
  <cbc:TaxInclusiveAmount currencyID="EUR">1190.00</cbc:TaxInclusiveAmount>
  <cbc:PrepaidAmount currencyID="EUR">190.00</cbc:PrepaidAmount>
  <cbc:PayableAmount currencyID="EUR">1000.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>

Ausschnitt aus einer vollständigen XRechnung 3.0 (UBL). Ergebnis mit dem KoSIT-Validator: Die fehlerhafte Variante erzeugt BR-CO-16 und wird abgelehnt; die korrigierte Variante wird akzeptiert.

Hintergrund: E-Rechnung empfangen und prüfen

Verwandte Themen

Keine Steuer- oder Rechtsberatung: Diese Seite erklärt technische Prüfregeln und dient der Orientierung. Verbindlich sind Gesetz, BMF-Schreiben und das offizielle KoSIT-Regelwerk. Bei steuerlichen Fragen wenden Sie sich an Ihre Steuerberatung. Stand: 2026-10-06, geprüft mit XRechnung 3.0.2 (KoSIT-Konfiguration 2026-08-31).