BR-DE-16: USt-IdNr. oder Steuernummer des Verkäufers fehlt
Werden Steuerkategorien wie S, Z, E, AE, K oder G verwendet, braucht die Rechnung die USt-IdNr. (BT-31), die Steuernummer (BT-32) oder einen Steuervertreter (BG-11).
- Regelwerk
- XRechnung (KoSIT)
- Syntax
- UBL und CII
- Betroffene Felder
- BG-11, BT-31, BT-32
Offizieller Regeltext
Wenn 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.
Regeltext aus dem XRechnung-Schematron in Version 2.6.0 (KoSIT), Lizenz Apache 2.0; enthalten in der XRechnung-Validatorkonfiguration 2026-08-31.
Schweregrad
- UBL-Rechnung: Fehler
- UBL-Gutschrift: Fehler
- CII: Fehler
Ein Verstoß führt im Szenario „XRechnung“ des KoSIT-Validators zur Ablehnung der Rechnung.
Typische Ursachen
Die Steuernummer oder USt-IdNr. ist in den Firmenstammdaten nicht hinterlegt oder wird nur im Freitext bzw. Briefkopf geführt.
So behebst du den Fehler
Mindestens eine der Kennungen strukturiert übermitteln – in UBL als cac:PartyTaxScheme mit cbc:CompanyID (Schema VAT für die USt-IdNr., FC für die Steuernummer), in CII als ram:SpecifiedTaxRegistration/ram:ID mit schemeID „VA“ bzw. „FC“.
Bei Normalsatz (S) meldet der Validator dieselbe Lücke zusätzlich als BR-S-02, bei steuerbefreiten Umsätzen als BR-E-02 usw.
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.
Bei den Beispielen meldet der Validator außer BR-DE-16 auch: BR-S-02.
Beispiel in UBL
Änderung gegenüber der gültigen Rechnung: USt-IdNr. des Verkäufers (BT-31) entfernt, keine Steuernummer.
</cac:Country>
</cac:PostalAddress>
<cac:PartyLegalEntity>
<cbc:RegistrationName>Testfirma Nordlicht Werkzeuge GmbH</cbc:RegistrationName> </cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>DE123456789</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>Testfirma Nordlicht Werkzeuge GmbH</cbc:RegistrationName>Prüfergebnis (KoSIT-Validator 1.6.3, Konfiguration 2026-08-31): falsche Datei abgelehnt, korrigierte Datei angenommen. Meldungen zur falschen Datei:
Vollständige Dateien im Testkorpus: br-de-16-ust-id-fehlt_ubl.xml (falsch) und standard_ubl.xml (richtig).
Beispiel in CII
Änderung gegenüber der gültigen Rechnung: USt-IdNr. des Verkäufers (BT-31) entfernt, keine Steuernummer.
<ram:URIID schemeID="EM">rechnung@nordlicht.example</ram:URIID>
</ram:URIUniversalCommunication>
</ram:SellerTradeParty>
<ram:BuyerTradeParty> <ram:URIID schemeID="EM">rechnung@nordlicht.example</ram:URIID>
</ram:URIUniversalCommunication>
<ram:SpecifiedTaxRegistration>
<ram:ID schemeID="VA">DE123456789</ram:ID>
</ram:SpecifiedTaxRegistration>
</ram:SellerTradeParty>
<ram:BuyerTradeParty>Prüfergebnis (KoSIT-Validator 1.6.3, Konfiguration 2026-08-31): falsche Datei abgelehnt, korrigierte Datei angenommen. Meldungen zur falschen Datei:
Vollständige Dateien im Testkorpus: br-de-16-ust-id-fehlt_cii.xml (falsch) und standard_cii.xml (richtig).
Testdateien zu BR-DE-16
- br-de-16-ust-id-fehlt_ubl.xml – USt-IdNr. des Verkäufers (BT-31) entfernt, keine Steuernummer
- br-de-16-ust-id-fehlt_cii.xml – USt-IdNr. des Verkäufers (BT-31) entfernt, keine Steuernummer
Technische Details: Kontext und Prüfausdruck aus dem Schematron
CII
Kontext:
/rsm:CrossIndustryInvoice
Prüfausdruck:
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))
UBL
Kontext:
/ubl:Invoice | /cn:CreditNote
Prüfausdruck:
(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))
Technische Formatprüfung nach XRechnung 3.0.2; keine steuerliche oder rechtliche Beratung.