fatalEN 16931EN 16931 business ruleCIIUBLBG-23BT-116BT-117BT-118BT-119
The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where VAT category code (BT-118) is "Standard rated" shall equal the VAT category taxable amount (BT-116) multiplied by the VAT category rate (BT-119).
In the VAT breakdown group for standard rated VAT (category S), the VAT category tax amount (BT-117) does not equal the taxable amount (BT-116) times the rate (BT-119).
Set BT-117 = round(BT-116 x BT-119 / 100, 2) for the S group. This rule usually fires together with BR-CO-17 - fix the arithmetic once and both clear. If BT-116 itself is wrong, fix that first (see BR-S-08), because BT-117 is derived from it.
CII — context $VATS
(abs(xs:decimal(../ram:CalculatedAmount)) - 1 < round(abs(xs:decimal(../ram:BasisAmount)) * ../ram:RateApplicablePercent) div 100 ) and (abs(xs:decimal(../ram:CalculatedAmount)) + 1 > round(abs(xs:decimal(../ram:BasisAmount)) * ../ram:RateApplicablePercent) div 100 )
UBL — context /*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'S'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']
(abs(xs:decimal(../cbc:TaxAmount)) - 1 < round((abs(xs:decimal(../cbc:TaxableAmount)) * (xs:decimal(cbc:Percent) div 100)) * 10 * 10) div 100 ) and (abs(xs:decimal(../cbc:TaxAmount)) + 1 > round((abs(xs:decimal(../cbc:TaxableAmount)) * (xs:decimal(cbc:Percent) div 100)) * 10 * 10) div 100 )