fatalEN 16931EN 16931 business ruleCIIUBLBG-20BG-21BG-25BT-102BT-118BT-151BT-95
An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95, BT-118 or BT-102) is “Split payment" shall not contain an invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95, BT-118 or BT-102) is “Standard rated”.
The invoice mixes VAT category B (Split payment) with VAT category S (Standard rated). Split payment is a property of the whole document — the buyer settles the VAT with the tax authority for it — so a single invoice cannot have some lines under split payment and others charged normally.
Split the document into two invoices: one carrying only the split-payment lines, allowances and charges, and one carrying the standard-rated ones. Changing the category code on the offending lines to make them match is only correct if they genuinely fall under the same treatment; do not do it to silence the rule.
CII — context /rsm:CrossIndustryInvoice
(//ram:CategoryCode ='B' and (not(//ram:CategoryCode ='S'))) or (not(//ram:CategoryCode ='B'))
UBL — context /ubl:Invoice | /cn:CreditNote
((cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:ID ='B' or cac:AllowanceCharge/cac:TaxCategory/cbc:ID ='B' or //cac:ClassifiedTaxCategory/cbc:ID = 'B') and (not(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:ID ='S' or cac:AllowanceCharge/cac:TaxCategory/cbc:ID ='S' or //cac:ClassifiedTaxCategory/cbc:ID = 'S'))) or (not(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:ID ='B' or cac:AllowanceCharge/cac:TaxCategory/cbc:ID ='B' or //cac:ClassifiedTaxCategory/cbc:ID = 'B'))
Nothing is stored, and the whole invoice is checked, not just this rule. A PDF only works if it is Factur-X / ZUGFeRD — a PDF with the invoice XML inside it.