fatalEN 16931syntax binding ruleUBL
Invoice lines shall have one and only one classified tax category.
An invoice line has either no classified tax category or more than one. Every line must carry exactly one VAT category code (BT-151) and rate (BT-152): the VAT breakdown (BG-23) is built by grouping lines by category, and a line that belongs to none or to two cannot be placed in it.
Give the line exactly one cac:Item/cac:ClassifiedTaxCategory with its cbc:ID (the category code) and cbc:Percent (the rate). If the line really covers goods at two different VAT rates, it is two invoice lines, not one — that is what the breakdown totals are checked against.
UBL — context cac:InvoiceLine | cac:CreditNoteLine
count(cac:Item/cac:ClassifiedTaxCategory) = 1
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.