Validation rules
BR-CL-17 — EN 16931 rule
A VAT category code at document level (BT-95, BT-102 or BT-118) is not one of the UNCL 5305 values EN 16931 permits (AE, L, M, E, S, Z, G, O, K, B).
- Rule
BR-CL-17— official EN 16931 / XRechnung rule- Severity
- error
- Detected by
- tier 3 — KoSIT validator (authoritative)
- Reachability
- Only reachable when validating your own XML — normbill-generated documents cannot trigger it
vat_category in the request schema is an enum of permitted codes and the serializer emits only those, so generated documents cannot violate this rule — only XML submitted directly to /v1/invoices/validate can.
How to fix it
Use one of the permitted codes in cac:TaxCategory/cbc:ID.
BR-CL-17 auf Deutsch — was bedeutet der Fehler?
Eine Umsatzsteuer-Kategorie auf Dokumentebene (BT-95, BT-102 oder BT-118) ist keiner der in EN 16931 zulässigen UNCL-5305-Codes (AE, L, M, E, S, Z, G, O, K, B). Aus normbill-Eingaben kann das nicht entstehen — vat_category ist auf gültige Codes beschränkt; betroffen ist nur eigenes XML an /v1/invoices/validate.
So beheben Sie den Fehler
Verwenden Sie in cac:TaxCategory/cbc:ID einen der zulässigen Codes.
Related rules
BR-CL-16— The payment means code (BT-81) is not a UNTDID 4461 code.BR-CL-18— A line VAT category code (BT-151) is not one of the UNCL 5305 values EN 16931 permits (AE, L, M, E, S, Z, G,…BR-CL-15— The item country of origin (BT-159) is not an ISO 3166-1 alpha-2 code.BR-CL-19— An allowance reason code (BT-98 document level, BT-140 line level) is not part of the UNCL 5189 subset EN…BR-CL-14— A country code in the invoice is not an ISO 3166-1 alpha-2 code.BR-CL-20— A charge reason code (BT-105 document level, BT-145 line level) is not a UNTDID 7161 code.
Official sources
- XRechnung specification (KoSIT / xeinkauf.de)
- KoSIT validator on GitHub and the XRechnung validator configuration
Every 422 from the API lists the rule id, the path in your request JSON, a plain-language message and a suggested fix — see the docs overview for the report format.
Or try it live: drop any XRechnung XML on the free validator — same KoSIT-backed report, no account.