BR-CL-01: Unbekannte Rechnungsart
Der Code der Rechnungsart (BT-3) muss aus den Rechnungs- und Gutschriftcodes der Liste UNTDID 1001 stammen.
- Regelwerk
- EN 16931 (CEN)
- Syntax
- UBL und CII
- Betroffene Felder
- –
Offizieller Regeltext
The document type code MUST be coded by the invoice and credit note related code lists of UNTDID 1001.
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
- UBL-Rechnung: Fehler
- UBL-Gutschrift: Fehler
- CII: Fehler
Ein Verstoß führt im Szenario „XRechnung“ des KoSIT-Validators zur Ablehnung der Rechnung.
Typische Ursachen
Interne Belegarten oder Tippfehler werden als Code übertragen.
So behebst du den Fehler
Einen gültigen Code verwenden, zum Beispiel 380 (Rechnung), 381 (Gutschrift), 384 (Korrekturrechnung) oder 326 (Teilrechnung).
Zusätzlich gibt der Validator die Warnung BR-DE-17 aus, weil XRechnung nur bestimmte Codes empfiehlt.
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: Rechnungsart (BT-3) mit unbekanntem Code 999.
<cbc:IssueDate>2026-10-01</cbc:IssueDate>
<cbc:DueDate>2026-10-15</cbc:DueDate>
<cbc:InvoiceTypeCode>999</cbc:InvoiceTypeCode>
<cbc:Note>TESTDATEN: synthetische Rechnung aus dem E-Rechnungs-Testkorpus (Claw Labs). Keine echte Forderung, keine echten Firmen oder Personen.</cbc:Note>
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode><cbc:IssueDate>2026-10-01</cbc:IssueDate>
<cbc:DueDate>2026-10-15</cbc:DueDate>
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<cbc:Note>TESTDATEN: synthetische Rechnung aus dem E-Rechnungs-Testkorpus (Claw Labs). Keine echte Forderung, keine echten Firmen oder Personen.</cbc:Note>
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>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-cl-01-unbekannte-rechnungsart_ubl.xml (falsch) und standard_ubl.xml (richtig).
Beispiel in CII
Änderung gegenüber der gültigen Rechnung: Rechnungsart (BT-3) mit unbekanntem Code 999.
<rsm:ExchangedDocument>
<ram:ID>TEST-2026-0001</ram:ID>
<ram:TypeCode>999</ram:TypeCode>
<ram:IssueDateTime>
<udt:DateTimeString format="102">20261001</udt:DateTimeString><rsm:ExchangedDocument>
<ram:ID>TEST-2026-0001</ram:ID>
<ram:TypeCode>380</ram:TypeCode>
<ram:IssueDateTime>
<udt:DateTimeString format="102">20261001</udt:DateTimeString>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-cl-01-unbekannte-rechnungsart_cii.xml (falsch) und standard_cii.xml (richtig).
Testdateien zu BR-CL-01
- br-cl-01-unbekannte-rechnungsart_ubl.xml – Rechnungsart (BT-3) mit unbekanntem Code 999
- br-cl-01-unbekannte-rechnungsart_cii.xml – Rechnungsart (BT-3) mit unbekanntem Code 999
Technische Details: Kontext und Prüfausdruck aus dem Schematron
CII
Kontext:
rsm:ExchangedDocument/ram:TypeCode
Prüfausdruck:
((not(contains(normalize-space(.), ' ')) and contains(' 71 80 81 82 83 84 102 130 202 203 204 211 218 219 261 262 295 296 308 325 326 331 380 381 382 383 384 385 386 387 388 389 390 393 394 395 396 420 456 457 458 471 472 473 500 501 502 503 527 532 553 575 623 633 751 780 817 870 875 876 877 935 ', concat(' ', normalize-space(.), ' '))))
UBL
Kontext:
cbc:InvoiceTypeCode | cbc:CreditNoteTypeCode
Prüfausdruck:
(self::cbc:InvoiceTypeCode and ((not(contains(normalize-space(.), ' ')) and contains(' 71 80 81 82 84 102 130 202 203 204 211 218 219 295 325 326 331 380 382 383 384 385 386 387 388 389 390 393 394 395 456 457 471 472 473 500 501 527 553 575 623 633 751 780 817 870 875 876 877 935 ', concat(' ', normalize-space(.), ' '))))) or (self::cbc:CreditNoteTypeCode and ((not(contains(normalize-space(.), ' ')) and contains(' 81 83 261 262 296 308 381 396 420 458 502 503 532 ', concat(' ', normalize-space(.), ' ')))))
Technische Formatprüfung nach XRechnung 3.0.2; keine steuerliche oder rechtliche Beratung.