Konto
Deutsch

BR-CO-15: Bruttosumme (BT-112) ist nicht Netto plus Umsatzsteuer

EN-16931-Kernregel · Fehler · UBL / CII

StandardEN 16931-1 (europäisches Datenmodell der E-Rechnung)SchweregradFehler: die Rechnung wird abgelehntSyntaxUBL, CIIGeschäftsbegriffe
  • BT-109 Invoice total amount without VAT
  • BT-110 Invoice total VAT amount
  • BT-112 Invoice total amount with VAT
Gilt fürJede EN-16931-Rechnung: XRechnung, ZUGFeRD 2.x / Factur-X (Profile EN 16931, EXTENDED, XRECHNUNG), Peppol BIS Billing 3.0 sowie nationale CIUS.

Offizieller Regeltext

[BR-CO-15] Invoice total amount with VAT (BT-112) = Invoice total amount without VAT (BT-109) + Invoice total VAT amount (BT-110).

Der normative Text ist Englisch und wird unverändert zitiert.

Warum dieser Fehler auftritt

Der Rechnungsgesamtbetrag mit Umsatzsteuer (BT-112) muss dem Betrag ohne Umsatzsteuer (BT-109) plus dem Gesamtsteuerbetrag (BT-110) entsprechen. Die Regel verlangt zusätzlich genau einen Steuergesamtbetrag in Rechnungswährung: in UBL ein cac:TaxTotal/cbc:TaxAmount, dessen currencyID gleich cbc:DocumentCurrencyCode ist, in CII ein ram:TaxTotalAmount mit currencyID gleich ram:InvoiceCurrencyCode. Sie schlägt bei Rundungsdifferenzen fehl, bei fehlendem currencyID am Steuerbetrag oder wenn zwei TaxTotal-Elemente beide die Rechnungswährung nutzen.

So beheben Sie den Fehler

Formel: BT-112 = BT-109 + BT-110, auf 2 Nachkommastellen gerundet. In UBL cac:LegalMonetaryTotal/cbc:TaxInclusiveAmount = cbc:TaxExclusiveAmount + cac:TaxTotal/cbc:TaxAmount[@currencyID = Rechnungswährung] schreiben; in CII ram:GrandTotalAmount = ram:TaxBasisTotalAmount + ram:TaxTotalAmount[@currencyID = Rechnungswährung]. Jeder Steuerbetrag braucht das Attribut currencyID. Genau einen Steuergesamtbetrag in Rechnungswährung führen; ein zweiter ist nur in der Steuerwährung (BT-111) erlaubt.

Beispiel (gültig)

<cac:LegalMonetaryTotal>
  <cbc:LineExtensionAmount currencyID="EUR">200.00</cbc:LineExtensionAmount>
  <cbc:TaxExclusiveAmount currencyID="EUR">200.00</cbc:TaxExclusiveAmount>
  <cbc:TaxInclusiveAmount currencyID="EUR">238.00</cbc:TaxInclusiveAmount>
  <cbc:PayableAmount currencyID="EUR">238.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>

Was der Validator prüft

Geprüftes Element (Kontext):

UBL

/ubl:Invoice | /cn:CreditNote

Test (XPath):

every $Currency in cbc:DocumentCurrencyCode satisfies (count(cac:TaxTotal/xs:decimal(cbc:TaxAmount[@currencyID=$Currency])) eq 1) and (cac:LegalMonetaryTotal/xs:decimal(cbc:TaxInclusiveAmount) = round( (cac:LegalMonetaryTotal/xs:decimal(cbc:TaxExclusiveAmount) + cac:TaxTotal/xs:decimal(cbc:TaxAmount[@currencyID=$Currency])) * 10 * 10) div 100)

CII

/rsm:CrossIndustryInvoice

Test (XPath):

every $Currency                                  in rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceCurrencyCode                                 satisfies (                                     count ( rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID=$Currency] ) eq 1 and                                     (//ram:SpecifiedTradeSettlementHeaderMonetarySummation/xs:decimal(ram:GrandTotalAmount) = round(                                      (//ram:SpecifiedTradeSettlementHeaderMonetarySummation/xs:decimal(ram:TaxBasisTotalAmount) +                                      (//ram:SpecifiedTradeSettlementHeaderMonetarySummation/xs:decimal(ram:TaxTotalAmount[@currencyID=$Currency]))) * 10 * 10) div 100)) or                                 (//ram:SpecifiedTradeSettlementHeaderMonetarySummation/xs:decimal(ram:GrandTotalAmount) = (//ram:SpecifiedTradeSettlementHeaderMonetarySummation/xs:decimal(ram:TaxBasisTotalAmount)))

Rechnung prüfen

Legen Sie Ihre XML- oder PDF-Datei im Validator ab; jede verletzte Regel ist mit ihrer Seite hier verlinkt. Kostenlos, ohne Konto, die Datei wird nicht gespeichert.

Rechnung prüfen →

Dieselbe Prüfung per API:

curl -F file=@invoice.xml https://einvoicechecker.com/v1/validate

Verwandte Regeln

Häufige Fragen

Was bedeutet BR-CO-15?

BR-CO-15 ist eine EN-16931-Kernregel: Invoice total amount with VAT (BT-112) = Invoice total amount without VAT (BT-109) + Invoice total VAT amount (BT-110).

Wird meine Rechnung wegen BR-CO-15 abgelehnt?

Ja. BR-CO-15 ist als „fatal“ eingestuft; Validatoren (KoSIT, Peppol Access Points, ZRE/OZG-RE) weisen die Rechnung zurück, bis der Fehler behoben ist.

Für welche Formate gilt BR-CO-15?

Jede EN-16931-Rechnung: XRechnung, ZUGFeRD 2.x / Factur-X (Profile EN 16931, EXTENDED, XRECHNUNG), Peppol BIS Billing 3.0 sowie nationale CIUS. Syntax: UBL und CII.

Quelle: EN 16931-1:2017 schematron (CEN TC434, via Peppol BIS 3.0.20). Katalog erzeugt aus dem offiziellen Schematron am 2026-10-14.