BR-CL-23: unit code (BT-130 / BT-150) is not in UN/ECE Rec 20 mit Rec 21
Severity: warning · Syntax: CII, UBL
The CEN Schematron flag is fatal. The standard XRechnung CIUS scenarios set this rule to warning.
Official message
Unit code MUST be coded according to the UN/ECE Recommendation 20 with Rec 21 extension
What this means
BR-CL-23 requires unit code (BT-130 / BT-150) to be taken from UN/ECE Rec 20 mit Rec 21. Official text: Unit code MUST be coded according to the UN/ECE Recommendation 20 with Rec 21 extension The CEN Schematron file flags the rule as fatal. The XRechnung CIUS scenarios EN16931 XRechnung (UBL Invoice) and (CII) lower it to warning.
Typical cause
The value sent is not in UN/ECE Rec 20 mit Rec 21, or a free-text label was sent instead of a code.
How to fix it
Replace the value with a code from UN/ECE Rec 20 mit Rec 21. The sample C62 shows the shape of the value, not every allowed code.
UBL
<!-- unit code (BT-130 / BT-150): @unitCode="C62" -->CII
<!-- unit code (BT-130 / BT-150): @unitCode="C62" -->
Business term
—
Related rules
Context and assertion
UBL cbc:InvoicedQuantity[@unitCode] | cbc:BaseQuantity[@unitCode] | cbc:CreditedQuantity[@unitCode]
CII ram:BasisQuantity[@unitCode] | ram:BilledQuantity[@unitCode]
UBL
((not(contains(normalize-space(@unitCode), ' ')) and contains(' 10 11 13 14 15 20 21 22 23 24 25 27 28 33 34 35 37 38 40 41 56 57 58 59 60 61 74 77 80 81 85 87 89 91 1I 2A 2B 2C 2G 2H 2I 2J 2K 2L 2M 2N 2P 2Q 2R 2U 2X 2Y 2Z 3B 3C 4C 4G 4H 4K 4L 4M 4N 4O 4P 4Q 4R 4T 4U 4W 4X 5A 5B 5E 5J A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A2 A20 A21 A22 A23 A24 A26 A27 A28 A29 A3 A30 A31 A32 A33 A34 A35 A36 A37 A38 A39 A4 A40 A41 A42 A43 A44 A45 A47 A48 A49 A5 A53 A54 A55 A56 A59 A6 A68 A69 A7 A70 A71 A73 A74 A75 A76 A8 A84 A85 A86 A87 A88 A89 A9 A90 A91 A93 A94 A95 A96 A97 A98 A99 AA AB ACR ACT AD AE AH AI AK AL AMH AMP ANN APZ AQ AS ASM ASU ATM AWG AY AZ B1 B10 B11 B12 B13 B14 B15 B16 B17 B18 B19 B20 B21 B22 B23 B24 B25 B26 B27 B28 B29 B3 B30 B31 B32 B33 B34 B35 B4 B41 B42 B43 B44 B45 B46 B47 B48 B49 B50 B52 B53 B54 B55 B56 B57 B58 B59 B60 B61 B62 B63 B64 B66 B67 B68 B69 B7 B70 B71 B72 B73 B74 B75 B7 …CII
((not(contains(normalize-space(@unitCode), ' ')) and contains(' 10 11 13 14 15 20 21 22 23 24 25 27 28 33 34 35 37 38 40 41 56 57 58 59 60 61 74 77 80 81 85 87 89 91 1I 2A 2B 2C 2G 2H 2I 2J 2K 2L 2M 2N 2P 2Q 2R 2U 2X 2Y 2Z 3B 3C 4C 4G 4H 4K 4L 4M 4N 4O 4P 4Q 4R 4T 4U 4W 4X 5A 5B 5E 5J A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A2 A20 A21 A22 A23 A24 A26 A27 A28 A29 A3 A30 A31 A32 A33 A34 A35 A36 A37 A38 A39 A4 A40 A41 A42 A43 A44 A45 A47 A48 A49 A5 A53 A54 A55 A56 A59 A6 A68 A69 A7 A70 A71 A73 A74 A75 A76 A8 A84 A85 A86 A87 A88 A89 A9 A90 A91 A93 A94 A95 A96 A97 A98 A99 AA AB ACR ACT AD AE AH AI AK AL AMH AMP ANN APZ AQ AS ASM ASU ATM AWG AY AZ B1 B10 B11 B12 B13 B14 B15 B16 B17 B18 B19 B20 B21 B22 B23 B24 B25 B26 B27 B28 B29 B3 B30 B31 B32 B33 B34 B35 B4 B41 B42 B43 B44 B45 B46 B47 B48 B49 B50 B52 B53 B54 B55 B56 B57 B58 B59 B60 B61 B62 B63 B64 B66 B67 B68 B69 B7 B70 B71 B72 B73 B74 B75 B7 …
Check a file now, free of charge
curl -F "file=@rechnung.xml" https://checkxrechnung.com/v1/validate
Questions
What does BR-CL-23 actually check?
BR-CL-23 requires unit code (BT-130 / BT-150) to be taken from UN/ECE Rec 20 mit Rec 21. Official text: Unit code MUST be coded according to the UN/ECE Recommendation 20 with Rec 21 extension The CEN Schematron file flags the rule as fatal. The XRechnung CIUS scenarios EN16931 XRechnung (UBL Invoice) and (CII) lower it to warning.
How do I fix BR-CL-23?
Replace the value with a code from UN/ECE Rec 20 mit Rec 21. The sample C62 shows the shape of the value, not every allowed code.
If BR-CL-23 passes, is the invoice legally compliant?
No. This page helps you read this one Schematron assertion. A pass is not a statement about tax law, portal acceptance, or bank overlays.