BR-CL-01

The document type code MUST be coded by the invoice and credit note related code lists of UNTDID 1001.

Official rule text

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

Where the rule applies

Rule setDocument typeSeverity
XRechnung with the CEN EN 16931 rules (3.0.2)
KoSIT, CEN
EN16931 XRechnung (UBL Invoice), EN16931 XRechnung Extension (UBL Invoice), EN16931 XRechnung CVD (UBL Invoice), EN16931 XRechnung (UBL CreditNote), EN16931 XRechnung CVD (UBL CreditNote), EN16931 XRechnung (CII), EN16931 XRechnung Extension (CII), EN16931 XRechnung CVD (CII), EN16931 (UBL Invoice), EN16931 (UBL CreditNote), EN16931 (CII)fatal
Peppol BIS Billing 3.0 (3.0-2026.5)
OpenPeppol
Peppol BIS Billing 3.0 (UBL Invoice), Peppol BIS Billing 3.0 (UBL CreditNote)fatal
French rules BR-FR, EXTENDED-CTC-FR (1.4.0.04)
FNFE-MPE
EXTENDED-CTC-FR (CII), EXTENDED-CTC-FR (UBL Invoice), EXTENDED-CTC-FR (UBL CreditNote)fatal
CIUS-RO (1.0.9)
Romanian Ministry of Finance
CIUS-RO (UBL Invoice), CIUS-RO (UBL CreditNote), CIUS-RO (CII): EN 16931 onlyfatal
HR-CIUS (eRačun) (1.0.4)
Croatian Tax Administration
HR-CIUS (UBL Invoice), HR-CIUS (UBL CreditNote)fatal

Fatal and error findings make the invoice invalid (valid: false); warnings and information do not.

Technical check

Syntax
UBL · French rules BR-FR, EXTENDED-CTC-FR (1.4.0.04), HR-CIUS (eRačun) (1.0.4), Peppol BIS Billing 3.0 (3.0-2026.5), XRechnung with the CEN EN 16931 rules (3.0.2)
Context
cbc:InvoiceTypeCode | cbc:CreditNoteTypeCode
Test (must be true)
(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(.), ' ')))))
Syntax
CII · CIUS-RO (1.0.9), French rules BR-FR, EXTENDED-CTC-FR (1.4.0.04), XRechnung with the CEN EN 16931 rules (3.0.2)
Context
rsm:ExchangedDocument/ram:TypeCode
Test (must be true)
((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(.), ' '))))
Syntax
UBL · CIUS-RO (1.0.9)
Context
cbc:InvoiceTypeCode | cbc:CreditNoteTypeCode
Test (must be true)
(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 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 532 ', concat(' ', normalize-space(.), ' ')))))

How the API reports this rule

Every finding of POST /v1/validate carries the rule id, severity, message, location (XPath) and rule set, and links this page (docUrl):

{
  "severity": "fatal",
  "ruleId": "BR-CL-01",
  "message": "[BR-CL-01]-The document type code MUST be coded by the invoice and credit note related code lists of UNTDID 1001.",
  "xpath": "/…",
  "source": "schematron:xrechnung@3.0.2",
  "docUrl": "https://einvoice-api.eu/rules/br-cl-01.html"
}

Check an invoice against this rule and every other rule of the rule set – in the browser, without sign-up.

Rule text and severity are taken unchanged from the official rule set; this page is generated from the API's configuration. Not legal advice.