BR-CO-26: Verkäufer ohne Kennung

Damit der Käufer den Lieferanten automatisch erkennen kann, muss mindestens eine Kennung des Verkäufers vorhanden sein – Verkäuferkennung (BT-29), Registernummer (BT-30) oder USt-IdNr. (BT-31).

Regelwerk
EN 16931 (CEN)
Syntax
UBL und CII
Betroffene Felder
BT-29, BT-30, BT-31

Offizieller Regeltext

In order for the buyer to automatically identify a supplier, the Seller identifier (BT-29), the Seller legal registration identifier (BT-30) and/or the Seller VAT identifier (BT-31) shall be present.

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

Kleinunternehmer ohne USt-IdNr. und ohne Handelsregistereintrag übermitteln nur die Steuernummer; diese zählt für BR-CO-26 nicht.

So behebst du den Fehler

Eine der genannten Kennungen ergänzen, zum Beispiel die vom Kunden vergebene Lieferantennummer als Verkäuferkennung (UBL cac:PartyIdentification/cbc:ID, CII ram:SellerTradeParty/ram:ID).

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: Verkäufer ohne Kennung, Registernummer oder USt-IdNr. (BT-29/30/31).

Falsch – ab Zeile 16 · markierte Zeilen fehlen hier
<cac:Party>
  <cbc:EndpointID schemeID="EM">hallo@kleinmann.example</cbc:EndpointID>
  <cac:PostalAddress>
    <cbc:StreetName>Kleiner Weg 7</cbc:StreetName>
Richtig – ab Zeile 16
<cac:Party>
  <cbc:EndpointID schemeID="EM">hallo@kleinmann.example</cbc:EndpointID>
  <cac:PartyIdentification>
    <cbc:ID>LIEF-7731</cbc:ID>
  </cac:PartyIdentification>
  <cac:PostalAddress>
    <cbc:StreetName>Kleiner Weg 7</cbc:StreetName>

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

  • BR-CO-26 In order for the buyer to automatically identify a supplier, the Seller identifier (BT-29), the Seller legal registration identifier (BT-30) and/or the Seller VAT identifier (BT-31) shall be present. Fundstelle: /Invoice[1]/AccountingSupplierParty[1]

Vollständige Dateien im Testkorpus: br-co-26-verkaeufer-ohne-kennung_ubl.xml (falsch) und kleinunternehmer_ubl.xml (richtig).

Beispiel in CII

Änderung gegenüber der gültigen Rechnung: Verkäufer ohne Kennung, Registernummer oder USt-IdNr. (BT-29/30/31).

Falsch – ab Zeile 75 · markierte Zeile fehlt hier
<ram:BuyerReference>TEST-REF-2026-0815</ram:BuyerReference>
<ram:SellerTradeParty>
  <ram:Name>Testatelier Kleinmann</ram:Name>
  <ram:DefinedTradeContact>
Richtig – ab Zeile 75
<ram:BuyerReference>TEST-REF-2026-0815</ram:BuyerReference>
<ram:SellerTradeParty>
  <ram:ID>LIEF-7731</ram:ID>
  <ram:Name>Testatelier Kleinmann</ram:Name>
  <ram:DefinedTradeContact>

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

  • BR-CO-26 In order for the buyer to automatically identify a supplier, the Seller identifier (BT-29), the Seller legal registration identifier (BT-30) and/or the Seller VAT identifier (BT-31) shall be present. Fundstelle: /CrossIndustryInvoice[1]/SupplyChainTradeTransaction[1]/ApplicableHeaderTradeAgreement[1]/SellerTradeParty[1]

Vollständige Dateien im Testkorpus: br-co-26-verkaeufer-ohne-kennung_cii.xml (falsch) und kleinunternehmer_cii.xml (richtig).

Testdateien zu BR-CO-26

Technische Details: Kontext und Prüfausdruck aus dem Schematron

CII

Kontext:

//ram:SellerTradeParty

Prüfausdruck:

(ram:ID) or (ram:GlobalID) or (ram:SpecifiedLegalOrganization/ram:ID) or (ram:SpecifiedTaxRegistration/ram:ID[@schemeID='VA'])

UBL

Kontext:

cac:AccountingSupplierParty

Prüfausdruck:

exists(cac:Party/cac:PartyTaxScheme[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:CompanyID) or exists(cac:Party/cac:PartyIdentification/cbc:ID[not(@schemeID = 'SEPA')]) or exists(cac:Party/cac:PartyLegalEntity/cbc:CompanyID)

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