EN 16931 rules › BR-CL-18
BR-CL-18 — Invoice tax categories MUST be coded using UNCL 5305 code list
| Rule id | BR-CL-18 |
|---|---|
| Rule set | EN 16931 itself, not a national or network addition |
| Severity | fatal in CII and UBL — a validator enforcing this rule set rejects the invoice |
| Applies to | the CII and UBL syntaxes |
| Checked by | the validator on this site and invoicekit.go v0.2.11, the library behind it |
The rule as published
Invoice tax categories MUST be coded using UNCL 5305 code list
fatal in CII — a validator enforcing this rule set rejects the invoice.
Invoice tax categories MUST be coded using UNCL5305 code list
fatal in UBL — a validator enforcing this rule set rejects the invoice.
What runs for it
Straight from the artefacts the engine embeds: the node the assertion selects and the test it applies there. A failing invoice is reported with the message above.
| Syntax | Severity | Artefact phase | Applied to | Fails when |
|---|---|---|---|---|
| CII | fatal | codelist_phase | ram:ApplicableTradeTax/ram:CategoryCode | ((not(contains(normalize-space(.), ' ')) and contains(' AE L M E S Z G O K B ', concat(' ', normalize-space(.), ' ')))) |
| UBL | fatal | codelist_phase | cac:ClassifiedTaxCategory/cbc:ID | ( ( not(contains(normalize-space(.),' ')) and contains( ' AE L M E S Z G O K B ',concat(' ',normalize-space(.),' ') ) ) ) |
Data elements it names
Its message names no business term or business group; the node it applies to is in the table above.
See also
- Every EN 16931 rule id — the same list as a filterable table, with the assertions as CSV and JSON.
- What XRechnung and Peppol BIS add — rule sets that run these ids plus their own.
- The data elements — every BT and BG with the rules that name it.