Skip to content

BR-B-01: VAT category "Split payment" (B) only for domestic Italian invoices

Official message

[BR-B-01] An Invoice where the VAT category code (BT-151, BT-95 or BT-102) is “Split payment” shall be a domestic Italian invoice.

EN 16931 (CII) · Error · Message language: English · Version: xrechnung-3.0.2-validator-configuration-2026-08-31

[BR-B-01] An Invoice where the VAT category code (BT-151, BT-95 or BT-102) is “Split payment” shall be a domestic Italian invoice.

EN 16931 (UBL) · Error · Message language: English · Version: xrechnung-3.0.2-validator-configuration-2026-08-31

[BR-B-01] An Invoice where the VAT category code (BT-151, BT-95 or BT-102) is “Split payment” shall be a domestic Italian invoice.

Factur-X / ZUGFeRD EN 16931 · Error · Message language: English · Version: Factur-X 1.08 / ZUGFeRD 2.4
Severity
Error The invoice is invalid and may be rejected by the recipient.
Applies to
EN 16931 (CII), EN 16931 (UBL), Factur-X / ZUGFeRD EN 16931
Affected fields
BT-151, BT-95, BT-102

What does this mean?

In EN 16931 the VAT category B ("Split payment") is intended only for domestic Italian invoices. The invoice uses B for an invoice line (BT-151), a document level allowance (BT-95) or charge (BT-102), but contains at least one country code other than IT.
Checked: if category B occurs anywhere, all country codes of the invoice (CII: every ram:CountryID, UBL: every cbc:IdentificationCode) must be IT.

Typical causes

Category B was selected although seller or buyer are not established in Italy.
An address (e.g. deliver-to address or tax representative) contains a country code other than IT.
Category B was confused with another category.

How to fix the error

Check whether this really is a domestic Italian invoice with split payment.
If not: use the applicable VAT category (e.g. S) for lines, allowances and charges.
If so: set all country codes of the addresses to IT.
Generate and validate the invoice again.

Example

Wrong

<ram:PostalTradeAddress>
  <ram:CountryID>DE</ram:CountryID>
</ram:PostalTradeAddress>
...
<ram:ApplicableTradeTax>
  <ram:TypeCode>VAT</ram:TypeCode>
  <ram:CategoryCode>B</ram:CategoryCode>
  <ram:RateApplicablePercent>22</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>

Correct

<ram:PostalTradeAddress>
  <ram:CountryID>DE</ram:CountryID>
</ram:PostalTradeAddress>
...
<ram:ApplicableTradeTax>
  <ram:TypeCode>VAT</ram:TypeCode>
  <ram:CategoryCode>S</ram:CategoryCode>
  <ram:RateApplicablePercent>19</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
For developers: test expression per syntax

EN 16931 (CII) (CII)

Context: /rsm:CrossIndustryInvoice

(not(//ram:CountryID != 'IT') and //ram:CategoryCode ='B') or (not(//ram:CategoryCode ='B'))

EN 16931 (UBL) (UBL)

Context: /ubl:Invoice | /cn:CreditNote

(not(//cbc:IdentificationCode != 'IT') and (//cac:TaxCategory/cbc:ID ='B' or //cac:ClassifiedTaxCategory/cbc:ID = 'B')) or (not(//cac:TaxCategory/cbc:ID ='B' or //cac:ClassifiedTaxCategory/cbc:ID = 'B'))

Factur-X / ZUGFeRD EN 16931 (CII)

Technical ID in the source: FX-SCH-A-000263

Context: /rsm:CrossIndustryInvoice

(not(//ram:CountryID != 'IT') and //ram:CategoryCode ='B') or (not(//ram:CategoryCode ='B'))

Related validation rules

  • BR-B-02: Categories "Split payment" (B) and "Standard rated" (S) not in the same invoice

Last updated:
Explanation of the validation rule, not legal or tax advice.