BR-AE-08: Bemessungsgrundlage der Kategorie AE stimmt nicht

Die Bemessungsgrundlage (BT-116) der Kategorie AE (Steuerschuldnerschaft des Leistungsempfängers) muss der Summe der Positionsbeträge dieser Kategorie plus Zuschläge minus Nachlässe derselben Kategorie entsprechen.

Regelwerk
EN 16931 (CEN)
Syntax
UBL und CII
Betroffene Felder
BG-23, BT-92, BT-95, BT-99, BT-102, BT-116, BT-118, BT-131, BT-151

Offizieller Regeltext

In a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Reverse charge" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Reverse charge".

Regeltext aus den Validierungsartefakten zu EN 16931 in Version 1.3.16 (CEN/TC 434, veröffentlicht von ConnectingEurope), Lizenz EUPL 1.2; enthalten in der XRechnung-Validatorkonfiguration 2026-08-31.

Schweregrad

Ein Verstoß führt im Szenario „XRechnung“ des KoSIT-Validators zur Ablehnung der Rechnung.

Typische Ursachen

Positionen werden einer anderen Kategorie zugeordnet als in der Aufschlüsselung, Nachlässe oder Zuschläge fehlen, oder die Aufschlüsselung stammt aus einem anderen Rechenstand.

So behebst du den Fehler

Die Bemessungsgrundlage aus den übertragenen Positionen und den Zu- und Abschlägen derselben Kategorie berechnen.

In UBL muss der Wert exakt stimmen; in CII toleriert der Prüfausdruck Abweichungen unter einer Währungseinheit. Das Beispiel weicht deshalb um 2,00 ab.

Geprüftes Beispiel: falsch und richtig

Die Auszüge stammen aus vollständigen, synthetischen Rechnungen des E-Rechnungs-Testkorpus. Geänderte Zeilen sind hervorgehoben. Beide Dateien werden in den automatischen Tests mit dem KoSIT-Validator geprüft.

Beispiel in UBL

Änderung gegenüber der gültigen Rechnung: Bemessungsgrundlage der Kategorie AE um 2,00 zu niedrig.

Falsch – ab Zeile 94
<cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
<cac:TaxSubtotal>
  <cbc:TaxableAmount currencyID="EUR">1880.80</cbc:TaxableAmount>
  <cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
  <cac:TaxCategory>
Richtig – ab Zeile 94
<cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
<cac:TaxSubtotal>
  <cbc:TaxableAmount currencyID="EUR">1882.80</cbc:TaxableAmount>
  <cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
  <cac:TaxCategory>

Prüfergebnis (KoSIT-Validator 1.6.3, Konfiguration 2026-08-31): falsche Datei abgelehnt, korrigierte Datei angenommen. Meldungen zur falschen Datei:

  • BR-AE-08 In a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Reverse charge" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Reverse charge". Fundstelle: /Invoice[1]/TaxTotal[1]/TaxSubtotal[1]/TaxCategory[1]

Vollständige Dateien im Testkorpus: br-ae-08-reverse-charge-grundlage-falsch_ubl.xml (falsch) und reverse-charge_ubl.xml (richtig).

Beispiel in CII

Änderung gegenüber der gültigen Rechnung: Bemessungsgrundlage der Kategorie AE um 2,00 zu niedrig.

Falsch – ab Zeile 160
<ram:TypeCode>VAT</ram:TypeCode>
<ram:ExemptionReason>Steuerschuldnerschaft des Leistungsempfängers (§ 13b UStG)</ram:ExemptionReason>
<ram:BasisAmount>1880.80</ram:BasisAmount>
<ram:CategoryCode>AE</ram:CategoryCode>
<ram:ExemptionReasonCode>VATEX-EU-AE</ram:ExemptionReasonCode>
Richtig – ab Zeile 160
<ram:TypeCode>VAT</ram:TypeCode>
<ram:ExemptionReason>Steuerschuldnerschaft des Leistungsempfängers (§ 13b UStG)</ram:ExemptionReason>
<ram:BasisAmount>1882.80</ram:BasisAmount>
<ram:CategoryCode>AE</ram:CategoryCode>
<ram:ExemptionReasonCode>VATEX-EU-AE</ram:ExemptionReasonCode>

Prüfergebnis (KoSIT-Validator 1.6.3, Konfiguration 2026-08-31): falsche Datei abgelehnt, korrigierte Datei angenommen. Meldungen zur falschen Datei:

  • BR-AE-08 In a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Reverse charge" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Reverse charge". Fundstelle: /CrossIndustryInvoice[1]/SupplyChainTradeTransaction[1]/ApplicableHeaderTradeSettlement[1]/ApplicableTradeTax[1]/CategoryCode[1]

Vollständige Dateien im Testkorpus: br-ae-08-reverse-charge-grundlage-falsch_cii.xml (falsch) und reverse-charge_cii.xml (richtig).

Testdateien zu BR-AE-08

Technische Details: Kontext und Prüfausdruck aus dem Schematron

CII

Kontext:

//rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode[. = 'AE'][upper-case(../ram:TypeCode) = 'VAT']

Prüfausdruck:

(../ram:BasisAmount -1 < (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'AE']/ram:SpecifiedTradeSettlementLineMonetarySummation/xs:decimal(ram:LineTotalAmount))*10*10)div 100) + (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true() and ram:CategoryTradeTax/ram:CategoryCode='AE']/xs:decimal(ram:ActualAmount[1]))*10*10)div 100) - (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false() and ram:CategoryTradeTax/ram:CategoryCode='AE']/xs:decimal(ram:ActualAmount[1]))*10*10)div 100)) and (../ram:BasisAmount +1 > (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'AE']/ram:SpecifiedTradeSettlementLineMonetarySummation/xs:decimal(ram:LineTotalAmount))*10*10)div 100) + (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=true() and ram:CategoryTradeTax/ram:CategoryCode='AE']/xs:decimal(ram:ActualAmount[1]))*10*10)div 100) - (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false() and ram:CategoryTradeTax/ram:CategoryCode='AE']/xs:decimal(ram:ActualAmount[1]))*10*10)div 100))

UBL

Kontext:

/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'AE'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']

Prüfausdruck:

(exists(//cac:InvoiceLine) and (xs:decimal(../cbc:TaxableAmount) = (sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='AE']/xs:decimal(cbc:LineExtensionAmount)) + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='AE']/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='AE']/xs:decimal(cbc:Amount))))) or (exists(//cac:CreditNoteLine) and (xs:decimal(../cbc:TaxableAmount) = (sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='AE']/xs:decimal(cbc:LineExtensionAmount)) + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='AE']/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='AE']/xs:decimal(cbc:Amount)))))

Technische Formatprüfung nach XRechnung 3.0.2; keine steuerliche oder rechtliche Beratung.