IN-TAX-CATEGORY-CODES:Tax category codes validation
Tax category codes should be from UNCL5305 Peppol subset (AE, E, G, K, L, M, O, S, Z)
Engine Classification
Financial or legal field · Modification blocked by policy
Reason: Tax category codes affect tax calculation and reporting. The correct code must be determined based on the transaction type and applicable tax rules.
What is IN-TAX-CATEGORY-CODES?
IN-TAX-CATEGORY-CODES is a warning validation rule defined in the Peppol BIS 3.0 specification. It validates the Percent element under TaxCategory in the UBL invoice XML.
This is a soft validation failure. The invoice may pass initial transmission, but non-compliant values in this field can cause problems during tax audits, buyer-side processing, or downstream VAT reconciliation.
Target path: XPath: //cac:TaxCategory/cbc:Percent
Why This Error Matters
VAT rate must be correct for proper tax calculation and reporting.
IN-TAX-CATEGORY-CODES is a soft failure. The invoice may pass initial validation, but the non-compliant field can cause issues at the receiving end — tax authorities may flag it during audits, buyer ERP systems may fail to process it, or VAT reconciliation may produce mismatches. Fixing warnings before they accumulate prevents larger compliance gaps.
Validator Behavior
- ·Generates validation warning
- ·Rejected by PEPPOL Access Points
- ·Error returned: IN-TAX-CATEGORY-CODES
- ·Specification: Peppol BIS 3.0
How to Fix It
Check category
S requires standard rate (19-27% in EU)
Zero categories
Z, E, AE, K, G should have 0 or no percent
Reduced rates
AA for reduced rate with applicable percentage
Before / After
<cac:TaxCategory> <cbc:ID>INVALID_CODE</cbc:ID> </cac:TaxCategory>
<cac:TaxCategory> <cbc:ID>VALID_CODE</cbc:ID> </cac:TaxCategory>
Technical Reference
XPath: //cac:TaxCategory/cbc:PercentCode Example
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
</cac:TaxCategory>Common Causes
- ·Wrong rate for country
- ·Using 0% with S category
- ·Invalid percentage value
Seeing this in production? The API handles IN-TAX-CATEGORY-CODES automatically. See the fix response →
Commonly Seen In
Frequently Asked Questions
The VAT percentage must be a valid rate for the tax category.
Update the `cbc:ID` element to use a value from the allowed code list. This error involves a protected field — Invoice Navigator flags it in your pipeline so your team can correct it at the source.
Yes, PEPPOL-EN16931-R007 is a critical error that must be fixed.
Related Content
Last updated: 3 March 2026
Detect IN-TAX-CATEGORY-CODES Before Submission
This error involves a financial or legal field that cannot be auto-modified. The compliance engine flags it immediately with a clear diagnosis so your team can fix it at the source.