InvoiceValidator.eu

BR-CL-17

fatalEN 16931code list ruleCIIUBL

Invoice tax categories MUST be coded using UNCL5305 code list

Why it fails

A tax category code is not in UNCL 5305.

How to fix it

Use S, Z, E, AE, K, G, O, L (Canary Islands IGIC) or M (Ceuta/Melilla IPSI). Uppercase only. 'VAT', '22' or an empty value all fail.

What the validator checks

CII — context ram:CategoryTradeTax/ram:CategoryCode

((not(contains(normalize-space(.), ' ')) and contains(' AE L M E S Z G O K B ', concat(' ', normalize-space(.), ' '))))

UBL — context cac:TaxCategory/cbc:ID

( ( not(contains(normalize-space(.),' ')) and contains( ' AE L M E S Z G O K B ',concat(' ',normalize-space(.),' ') ) ) )

Related rules

Part of BR-CL — Code list rules.

Check your own invoice against BR-CL-17

…or paste the XML instead

Nothing is stored, and the whole invoice is checked, not just this rule. A PDF only works if it is Factur-X / ZUGFeRD — a PDF with the invoice XML inside it.