BR-DE-16Wenn in einer Rechnung die Steuercodes S, Z, E, AE, K, G, L oder M verwendet werden, muss mindestens eines der Elemente "Seller VAT identifier" (BT-31), "Seller tax registration identifier" (BT-32) oder "SELLER TAX REPRESENTATIVE PARTY" (BG-11) übermittelt werden.

Offizieller Regeltext

Bei den Steuercodes S, Z, E, AE, K, G, L oder M muss der Verkäufer steuerlich identifizierbar sein: USt-IdNr., Steuernummer oder BG-11. Gemeint sind die Umsatzsteuer-Identifikationsnummer (BT-31), die Steuernummer (BT-32) und der steuerliche Vertreter (BG-11) — eines der drei genügt.

Schweregrad
Fehler
Gilt für
CII, UBL
Regelwerk
v2026-08-31
Geprüft am

Geschrieben und gegen das offizielle KoSIT-Regelwerk geprüft von Dmytro Yalanskyi, NormAPI.

Warum tritt BR-DE-16 auf?

Kleinunternehmer nach § 19 UStG verwenden den Code E und haben oft keine USt-IdNr. Dann fehlt häufig auch die Steuernummer, weil sie im bisherigen Rechnungslayout nie erfasst wurde. Der UBL-Ausdruck unten zeigt dabei Variablen statt Werte: supportedVATCodes steht für die acht Codes S, Z, E, AE, K, G, L und M, BT-31orBT-32Path für cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID mit Inhalt. Und die Syntaxen sind hier nicht deckungsgleich: in UBL zählt jede Kennung unter PartyTaxScheme, in CII nur eine Registrierung mit schemeID VA oder FC.

Was der Validator prüft

Der Ausdruck, den das offizielle KoSIT-Regelwerk auswertet — nicht paraphrasiert, sondern aus der ausgelieferten Schematron-Datei gelesen. UBL und CII adressieren verschiedene Dokumentbäume, deshalb steht dieselbe Regel je Syntax anders da.

UBL
(not( ($BT-95-UBL-Inv = $supportedVATCodes or $BT-95-UBL-CN = $supportedVATCodes) or ($BT-102 = $supportedVATCodes) or ($BT-151 = $supportedVATCodes) ) or (cac:TaxRepresentativeParty, $BT-31orBT-32Path))

Variablen darin

$BT-95-UBL-Inv
cac:AllowanceCharge/cac:TaxCategory/cbc:ID[ancestor::cac:AllowanceCharge/cbc:ChargeIndicator = 'false' and following-sibling::cac:TaxScheme/cbc:ID = 'VAT']
$supportedVATCodes
('S', 'Z', 'E', 'AE', 'K', 'G', 'L', 'M')
$BT-95-UBL-CN
cac:AllowanceCharge/cac:TaxCategory/cbc:ID[ancestor::cac:AllowanceCharge/cbc:ChargeIndicator = 'false']
$BT-102
cac:AllowanceCharge/cac:TaxCategory/cbc:ID[ancestor::cac:AllowanceCharge/cbc:ChargeIndicator = 'true']
$BT-151
(cac:InvoiceLine | cac:CreditNoteLine)/cac:Item/cac:ClassifiedTaxCategory/cbc:ID
$BT-31orBT-32Path
cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID[boolean(normalize-space(.))]
CII
not((rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax/ram:TypeCode = 'VAT' and rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode = ('S', 'Z', 'E', 'AE', 'K', 'G', 'L', 'M')) or (rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:CategoryTradeTax = 'VAT' and rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:CategoryTradeTax/ram:CategoryCode = ('S', 'Z', 'E', 'AE', 'K', 'G', 'L', 'M')) or (rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax/ram:TypeCode = 'VAT' and rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode = ('S', 'Z', 'E', 'AE', 'K', 'G', 'L', 'M'))) or ((rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[normalize-space(@schemeID)='VA' or normalize-space(@schemeID)='FC'][boolean(normalize-space(.))], rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty))

Quelle: Regelwerk v2026-08-31

Wie behebt man BR-DE-16?

Tragen Sie mindestens eines der drei Elemente ein. Ohne USt-IdNr. ist BT-32 (Steuernummer) der übliche Weg — in UBL als cac:PartyTaxScheme/cbc:CompanyID mit cac:TaxScheme/cbc:ID gleich FC, in CII als ram:SpecifiedTaxRegistration/ram:ID mit schemeID FC.

Im XML

Ausschnitt in UBL. Der CII-Pfad steht oben im Text — dieselbe Änderung, andere Elementnamen.

Fehlerhaft
<cac:Party>
  <cac:PartyLegalEntity>
    <cbc:RegistrationName>Muster GmbH</cbc:RegistrationName>
  </cac:PartyLegalEntity>
</cac:Party>
Korrigiert
<cac:Party>
  <cac:PartyTaxScheme>
    <cbc:CompanyID>12/345/67890</cbc:CompanyID>
    <cac:TaxScheme><cbc:ID>FC</cbc:ID></cac:TaxScheme>
  </cac:PartyTaxScheme>
  <cac:PartyLegalEntity>
    <cbc:RegistrationName>Muster GmbH</cbc:RegistrationName>
  </cac:PartyLegalEntity>
</cac:Party>

Verwandte Regeln

NormAPI liefert technische Validierung, keine Steuer- oder Rechtsberatung.