Skip to content

BR-CL-01: Invoice type code (BT-3) not from UNTDID 1001

Official message

[BR-CL-01] The document type code MUST be coded by the invoice and credit note related code lists of UNTDID 1001.

EN 16931 (CII) · Error · Message language: English · Version: xrechnung-3.0.2-validator-configuration-2026-08-31

[BR-CL-01] The document type code MUST be coded by the invoice and credit note related code lists of UNTDID 1001.

EN 16931 (UBL) · Error · Message language: English · Version: xrechnung-3.0.2-validator-configuration-2026-08-31
Severity
Error The invoice is invalid and may be rejected by the recipient.
Applies to
EN 16931 (CII), EN 16931 (UBL)

What does this mean?

The invoice type code (BT-3) must be one of the codes of the UNTDID 1001 code list permitted for invoices and credit notes. The value given is not among them.
Common values are 380 (commercial invoice), 381 (credit note), 384 (corrected invoice) and 326 (partial invoice). In UBL only certain codes are allowed for Invoice and CreditNote respectively, e.g. 381 only in a CreditNote document.

Typical causes

Free text or an internal document type was given instead of the numeric code.
Spaces inside the code.
UBL: a credit note code (e.g. 381) is used in an Invoice document or vice versa.

How to fix the error

Fill BT-3 with a permitted code from UNTDID 1001.
CII: rsm:ExchangedDocument/ram:TypeCode, UBL: cbc:InvoiceTypeCode or cbc:CreditNoteTypeCode.
Generate and validate the invoice again.

In E-Rechnungsfreund

In the invoice form, "Experte" view, section "Rechnungsdetails" (invoice details), select an entry from the list in the field "Art-Code (BT-3)" (invoice type code). The simple view ("Einfach") uses 380.

Example

Wrong

<rsm:ExchangedDocument>
  <ram:ID>R-2026-001</ram:ID>
  <ram:TypeCode>RE</ram:TypeCode>
  ...
</rsm:ExchangedDocument>

Correct

<rsm:ExchangedDocument>
  <ram:ID>R-2026-001</ram:ID>
  <ram:TypeCode>380</ram:TypeCode>
  ...
</rsm:ExchangedDocument>
For developers: test expression per syntax

EN 16931 (CII) (CII)

Context: rsm:ExchangedDocument/ram:TypeCode

((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(.), ' '))))

EN 16931 (UBL) (UBL)

Context: cbc:InvoiceTypeCode | cbc:CreditNoteTypeCode

(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(.), ' ')))))

Related validation rules

  • BR-CL-03: Currency attribute currencyID not according to ISO 4217
  • BR-CL-04: Invoice currency code (BT-5) not according to ISO 4217
  • BR-CL-05: VAT accounting currency code (BT-6) not according to ISO 4217
  • BR-CL-06: Value added tax point date code (BT-8) not permitted
  • BR-CL-07: Object identifier scheme (BT-18-1, BT-128-1) not from UNTDID 1153
  • BR-CL-08: Invoice note subject code (BT-21) not from UNTDID 4451

Last updated:
Explanation of the validation rule, not legal or tax advice.