← All rule codes

BR-S-08

Error (blocking) EN 16931 (UBL)EN 16931 (CII)

Official rule text

[BR-S-08]-For each different value of VAT category rate (BT-119) where the VAT category code (BT-118) is "Standard rated", the VAT category taxable amount (BT-116) in a VAT breakdown (BG-23) shall equal the sum of Invoice line net amounts (BT-131) plus the sum of document level charge amounts (BT-99) minus the sum of document level allowance amounts (BT-92) where the VAT category code (BT-151, BT-102, BT-95) is "Standard rated" and the VAT rate (BT-152, BT-103, BT-96) equals the VAT category rate (BT-119).

What it means

For each standard rate in use, the taxable amount (BT-116) of the matching S breakdown entry must equal the sum of line net amounts (BT-131) plus document-level charges (BT-99) minus document-level allowances (BT-92) that share exactly that category and rate. It fires when lines with different rates are merged into a single subtotal, or when a document-level allowance/charge is not attributed to the right rate bucket.

How to fix it

Group lines and document-level allowances/charges by the pair (category S, rate BT-119), and emit one cac:TaxSubtotal per group whose cbc:TaxableAmount (BT-116) is that group's exact sum.

Business terms involved: BT-118BT-119BT-116BT-131BT-99BT-92

🇫🇷 En français

Pour chaque taux normal utilisé, la base imposable (BT-116) de l'entrée S correspondante doit être la somme des montants nets de ligne (BT-131), plus les charges pied de facture (BT-99), moins les remises pied de facture (BT-92) partageant exactement cette catégorie et ce taux. La règle tombe quand des lignes à taux différents sont fusionnées dans un même sous-total, ou quand une remise/charge de niveau document n'est pas affectée au bon taux.

Correction : Groupez lignes et remises/charges de niveau document par couple (catégorie S, taux BT-119), et émettez un cac:TaxSubtotal par groupe dont le cbc:TaxableAmount (BT-116) est la somme exacte du groupe.

Seeing BR-S-08 in a rejection?

Run your file through the free validator to see every violation at once — or let NormDrift watch your reference invoices so the next ruleset release never surprises you.