Konto
Deutsch

BR-DE-16: USt-IdNr., Steuernummer oder Steuervertreter des Verkäufers fehlt

XRechnung-Regel · Fehler · UBL / CII

StandardXRechnung 3.0.2 (KoSIT, deutsche CIUS der EN 16931)SchweregradFehler: die Rechnung wird abgelehntSyntaxUBL, CIIGeschäftsbegriffe
  • BG-11 Seller tax representative party
  • BT-31 Seller VAT identifier
  • BT-32 Seller tax registration identifier
  • BT-95 Document level allowance VAT category code
  • BT-102 Document level charge VAT category code
  • BT-151 Invoiced item VAT category code
Gilt fürXRechnung in UBL- oder CII-Syntax, einschließlich ZUGFeRD-/Factur-X-PDFs mit dem Profil XRECHNUNG. Rechnungen an deutsche öffentliche Auftraggeber (Bund, Länder, Kommunen) müssen sie bestehen.

Offizieller Regeltext

[BR-DE-16] 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.

Warum dieser Fehler auftritt

Sobald eine Steuerkategorie S, Z, E, AE, K, G, L oder M auf einer Position, einem Dokumentnachlass oder -zuschlag verwendet wird, verlangt XRechnung mindestens eines von: USt-IdNr. des Verkäufers (BT-31), Steuernummer des Verkäufers (BT-32) oder einen Steuervertreter (BG-11). Die empfangende Behörde braucht eine steuerliche Identität zur Prüfung und für den Vorsteuerabzug. In UBL prüft die Regel cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID und cac:TaxRepresentativeParty; in CII ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID und ram:SellerTaxRepresentativeTradeParty. Sie schlägt typischerweise bei Kleinunternehmern ohne USt-IdNr. fehl, deren Steuernummer nie gemappt wurde.

So beheben Sie den Fehler

Bevorzugt die USt-IdNr. (BT-31) angeben: in UBL als cac:PartyTaxScheme mit cbc:CompanyID und cac:TaxScheme/cbc:ID = VAT, in CII als ram:SpecifiedTaxRegistration/ram:ID schemeID="VA". Hat der Verkäufer keine USt-IdNr., die Steuernummer (BT-32) angeben: UBL cac:PartyTaxScheme mit cac:TaxScheme/cbc:ID = FC, CII ram:SpecifiedTaxRegistration/ram:ID schemeID="FC". Beides darf als zwei getrennte cac:PartyTaxScheme-Blöcke vorhanden sein. Kategorie O (nicht steuerbar) allein löst die Regel nicht aus.

Beispiel (gültig)

<cac:PartyTaxScheme>
  <cbc:CompanyID>DE123456789</cbc:CompanyID>
  <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyTaxScheme>
  <cbc:CompanyID>21/123/45678</cbc:CompanyID>
  <cac:TaxScheme><cbc:ID>FC</cbc:ID></cac:TaxScheme>
</cac:PartyTaxScheme>

Was der Validator prüft

Geprüftes Element (Kontext):

UBL

/ubl:Invoice | /cn:CreditNote

Test (XPath):

(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))

CII

/rsm:CrossIndustryInvoice

Test (XPath):

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))

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-DE-16?

BR-DE-16 ist eine XRechnung-Regel: 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.

Wird meine Rechnung wegen BR-DE-16 abgelehnt?

Ja. BR-DE-16 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-DE-16?

XRechnung in UBL- oder CII-Syntax, einschließlich ZUGFeRD-/Factur-X-PDFs mit dem Profil XRECHNUNG. Rechnungen an deutsche öffentliche Auftraggeber (Bund, Länder, Kommunen) müssen sie bestehen. Syntax: UBL und CII.

Quelle: XRechnung 3.0.2, schematron 2.6.0 (KoSIT, September 2026). Katalog erzeugt aus dem offiziellen Schematron am 2026-10-14.