errorbusinessEN 16931

BR-Z-01:An Invoice that contains an Invoice line (BG-25), a Document level allowance...

Fix: Recalculate the value in `cac:InvoiceLine` to match the expected formula. Verify all contributing amounts are correct (BR-Z-01).

When using VAT category Z (zero rate), an exemption reason code or text must be provided.

Severity
Fatal
Rule set
EN 16931
Country
All EU
Fix type
BLOCKED

Engine Classification

Financial or legal field · Modification blocked by policy

What is BR-Z-01?

BR-Z-01 is a fatal validation rule defined in the EN 16931 specification. It validates the TaxCategory element under TaxTotal > TaxSubtotal in the UBL invoice XML.

When this rule fires, the invoice is rejected by Peppol access points and never reaches the buyer.

Target path: XPath: /Invoice/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[cbc:ID="Z"]

This error requires manual correction — financial fields are protected by policy.

Why This Error Matters

Invoice will be rejected. Zero rated VAT (category Z) requires seller VAT registration, 0% rate, and correct breakdown. Zero rate is different from exemption - it still requires tax compliance.

BR-Z-01 is a hard failure — the invoice must be corrected and re-sent before it can reach the recipient.

Validator Behavior

  • ·Causes invoice rejection
  • ·Error returned: BR-Z-01
  • ·Specification: EN 16931

How to Fix It

1.

Check category

Z is for zero-rated supplies

2.

Add reason code

Use VATEX-EU-* codes for EU exemptions

3.

Or add text reason

Explain why zero rate applies

Before / After

Failing XML
<Invoice>
  <cac:InvoiceLine>999.99</cac:InvoiceLine>
  <!-- Does not match expected calculation -->
</Invoice>
Corrected XML
<Invoice>
  <cac:InvoiceLine>100.00</cac:InvoiceLine>
  <!-- Matches expected calculation -->
</Invoice>

Technical Reference

XPathXPath: /Invoice/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[cbc:ID="Z"]
SpecEN 16931
Strategy1. Find all lines/allowances/charges with this VAT category. 2. Ensure exactly one TaxSubtotal with matching category exists. 3. Create if missing.

Code Example

<cac:TaxCategory>
  <cbc:ID>Z</cbc:ID>
  <cbc:Percent>0</cbc:Percent>
  <cbc:TaxExemptionReasonCode>VATEX-EU-132</cbc:TaxExemptionReasonCode>
  <cac:TaxScheme>
    <cbc:ID>VAT</cbc:ID>
  </cac:TaxScheme>
</cac:TaxCategory>

Common Causes

  • ·Zero rated (Z) category used but no Z breakdown exists
  • ·Invoice lines use BT-151=Z but BG-23 missing Z entry
  • ·cac:TaxSubtotal for zero rate not generated
  • ·Tax breakdown section lacks mandatory Z category
  • ·Zero rated items require exactly one matching breakdown

Seeing this in production? The API handles BR-Z-01 automatically. See the fix response →

Commonly Seen In

All invoicing software

Frequently Asked Questions

When using VAT category Z (zero rate), an exemption reason code or text must be provided.

Recalculate the value in `cac:InvoiceLine` to match the expected formula. Verify all contributing amounts are correct (BR-Z-01). This error involves a protected field — Invoice Navigator flags it in your pipeline so your team can correct it at the source.

Yes, BR-Z-01 is a critical error that will cause invoice rejection. It must be fixed before submission to ensure your invoice is accepted by the recipient's system.

BR-Z-01 involves a financial or legal field that cannot be auto-modified by policy. Invoice Navigator detects and flags this error immediately, but the correction must be made manually in your ERP or invoicing software.

BR-Z-01 is commonly seen in exports from All invoicing software. These software packages sometimes generate invoices that need adjustment to meet full compliance standards.

Related Errors

Related Content

Last updated: 3 March 2026

Share this guide:

Validate your invoice

Drop your XML here to check for BR-Z-01

Detect BR-Z-01 before submission

This error involves a financial field that can't be auto-modified. We'll flag it with a clear diagnosis so you can fix it at the source.