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

Die Bemessungsgrundlage (BT-116) der Kategorie G (steuerfreie Ausfuhren in Drittländer) 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 "Export outside the EU" 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 "Export outside the EU".

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 G um 2,00 zu niedrig.

Falsch – ab Zeile 78
<cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
<cac:TaxSubtotal>
  <cbc:TaxableAmount currencyID="EUR">1666.00</cbc:TaxableAmount>
  <cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
  <cac:TaxCategory>
Richtig – ab Zeile 78
<cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
<cac:TaxSubtotal>
  <cbc:TaxableAmount currencyID="EUR">1668.00</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-G-08 In a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Export outside the EU" 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 "Export outside the EU". Fundstelle: /Invoice[1]/TaxTotal[1]/TaxSubtotal[1]/TaxCategory[1]

Vollständige Dateien im Testkorpus: br-g-08-ausfuhr-grundlage-falsch_ubl.xml (falsch) und ausfuhr_ubl.xml (richtig).

Beispiel in CII

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

Falsch – ab Zeile 117
<ram:TypeCode>VAT</ram:TypeCode>
<ram:ExemptionReason>Steuerfreie Ausfuhrlieferung (§ 4 Nr. 1 Buchst. a UStG)</ram:ExemptionReason>
<ram:BasisAmount>1666.00</ram:BasisAmount>
<ram:CategoryCode>G</ram:CategoryCode>
<ram:ExemptionReasonCode>VATEX-EU-G</ram:ExemptionReasonCode>
Richtig – ab Zeile 117
<ram:TypeCode>VAT</ram:TypeCode>
<ram:ExemptionReason>Steuerfreie Ausfuhrlieferung (§ 4 Nr. 1 Buchst. a UStG)</ram:ExemptionReason>
<ram:BasisAmount>1668.00</ram:BasisAmount>
<ram:CategoryCode>G</ram:CategoryCode>
<ram:ExemptionReasonCode>VATEX-EU-G</ram:ExemptionReasonCode>

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

  • BR-G-08 In a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Export outside the EU" 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 "Export outside the EU". Fundstelle: /CrossIndustryInvoice[1]/SupplyChainTradeTransaction[1]/ApplicableHeaderTradeSettlement[1]/ApplicableTradeTax[1]/CategoryCode[1]

Vollständige Dateien im Testkorpus: br-g-08-ausfuhr-grundlage-falsch_cii.xml (falsch) und ausfuhr_cii.xml (richtig).

Testdateien zu BR-G-08

Technische Details: Kontext und Prüfausdruck aus dem Schematron

CII

Kontext:

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

Prüfausdruck:

(../ram:BasisAmount -1 < (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'G']/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='G']/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='G']/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 = 'G']/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='G']/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='G']/xs:decimal(ram:ActualAmount[1]))*10*10)div 100))

UBL

Kontext:

/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'G'][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)='G']/xs:decimal(cbc:LineExtensionAmount)) + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='G']/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='G']/xs:decimal(cbc:Amount))))) or (exists(//cac:CreditNoteLine) and (xs:decimal(../cbc:TaxableAmount) = (sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='G']/xs:decimal(cbc:LineExtensionAmount)) + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='G']/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='G']/xs:decimal(cbc:Amount)))))

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