BR-CL-18: VAT category code is not in UNCL 5305
Severity: fatal · Syntax: CII, UBL
Official message
Invoice tax categories MUST be coded using UNCL 5305 code list
What this means
BR-CL-18 requires VAT category code to be taken from UNCL 5305. Official text: Invoice tax categories MUST be coded using UNCL 5305 code list
Typical cause
The value sent is not in UNCL 5305, or a free-text label was sent instead of a code.
How to fix it
Replace the value with a code from UNCL 5305. The sample S shows the shape of the value, not every allowed code.
UBL
<cbc:ID>S</cbc:ID>CII
<ram:CategoryCode>S</ram:CategoryCode>
Business term
—
Related rules
Context and assertion
UBL cac:ClassifiedTaxCategory/cbc:ID
CII ram:ApplicableTradeTax/ram:CategoryCode
UBL
( ( not(contains(normalize-space(.),' ')) and contains( ' AE L M E S Z G O K B ',concat(' ',normalize-space(.),' ') ) ) )CII
((not(contains(normalize-space(.), ' ')) and contains(' AE L M E S Z G O K B ', concat(' ', normalize-space(.), ' '))))
Check a file now, free of charge
curl -F "file=@rechnung.xml" https://checkxrechnung.com/v1/validate
Questions
What does BR-CL-18 actually check?
BR-CL-18 requires VAT category code to be taken from UNCL 5305. Official text: Invoice tax categories MUST be coded using UNCL 5305 code list
How do I fix BR-CL-18?
Replace the value with a code from UNCL 5305. The sample S shows the shape of the value, not every allowed code.
If BR-CL-18 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.