Skip to content

Fatal

UBL-SR-32: A VAT breakdown row can give only one VAT exemption reason

In short

Fatal: fails the selected checks.

UBL-SR-32 means a row of the VAT breakdown has more than one VAT exemption reason text (BT-120). Keep one text, such as the legal basis for the exemption, and export again.

On this page

What it means

Each row of the VAT breakdown (BG-23), in UBL a cac:TaxSubtotal, may contain the VAT exemption reason text (BT-120) at most once. It is the sentence that explains in words why no VAT is charged, for example by naming the article of the law. It is separate from the exemption reason code (BT-121).

Why it matters

EN 16931 allows at most one VAT exemption reason text in each VAT breakdown row.

How to fix it

In your invoicing software, find the exemption note for the VAT category in question and keep one text. If you need to say several things, join them into one sentence. In the XML there must be at most one cbc:TaxExemptionReason in the cac:TaxCategory of each cac:TaxSubtotal.

Once the file is corrected, check it again for free: Validate an invoice against EN 16931

Or fix the invoice in a form and download the corrected file, for 1 credit: Fix a rejected e-invoice

The rule as published

VAT exemption reason text shall occur maximum once

Where this rule applies

Rule set Version
EN 16931 (UBL) 1.3.17
EN 16931 (UBL credit note) 1.3.17
XRechnung 3.0 (UBL) 3.0.2
XRechnung 3.0 (UBL credit note) 3.0.2
Peppol BIS Billing 3.0 (invoice) 2026.5
Peppol BIS Billing 3.0 (credit note) 2026.5
SI-UBL 2.0 / NLCIUS (invoice) 2.0.3.13
SI-UBL 2.0 / NLCIUS (credit note) 2.0.3.13
France CTC (UBL invoice) 1.4.0-04
France CTC (UBL credit note) 1.4.0-04
CIUS-RO UBL Invoice 1.0.9 1.0.9
CIUS-RO UBL Credit Note 1.0.9 1.0.9
Rule text from phive-rules 4.6.4.

Check your file

Drop your e-invoice to see whether UBL-SR-32 still fails, and which other rules do.

Updated 6 November 2026