InvoiceValidator.eu

UBL-SR-48

fatalEN 16931syntax binding ruleUBL

Invoice lines shall have one and only one classified tax category.

Why it fails

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.

How to fix 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.

What the validator checks

UBL — context cac:InvoiceLine | cac:CreditNoteLine

count(cac:Item/cac:ClassifiedTaxCategory) = 1

Related rules

Part of UBL-SR — UBL cardinality.

Check your own invoice against UBL-SR-48

…or paste the XML instead

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.