[ALIGNED-IBRP-S-09-OM] - The VAT category tax amount (IBT-117) in a VAT breakdown (IBG-23) where VAT category code (IBT-118) is "S" MUST equal the Σ Invoice-line VAT amounts (BTOM-016) plus charges' VAT minus allowances' VAT, grouped by the VAT category rate (IBT-119) of this breakdown.
ALIGNED-IBRP-S-09-OMubl:Invoice/cac:TaxTotal/cac:TaxSubtotal | cn:CreditNote/cac:TaxTotal/cac:TaxSubtotalnot($isInvoiceCurrency) or not($vatCategory = 'S') or ( cbc:TaxAmount castable as xs:decimal and u:slack( xs:decimal(cbc:TaxAmount), xs:decimal( round( ( sum($lines[ cac:Item/cac:ClassifiedTaxCategory/cbc:ID = $vatCategory and xs:decimal(cac:Item/cac:ClassifiedTaxCategory/cbc:Percent) = xs:decimal(current()/cac:TaxCategory/cbc:Percent) ]/cac:ItemPriceExtension/cac:TaxTotal/cbc:TaxAmount/xs:decimal(.)) + sum(for $c in $charges[ cac:TaxCategory/cbc:ID = $vatCategory and cac:TaxCategory/cbc:Percent castable as xs:decimal and xs:decimal(cac:TaxCategory/cbc:Percent) = xs:decimal(current()/cac:TaxCategory/cbc:Percent) ] return xs:decimal($c/cbc:Amount) * xs:decimal($c/cac:TaxCategory/cbc:Percent) div 100) - sum(for $a in $allowances[ cac:TaxCategory/cbc:ID = $vatCategory and cac:TaxCategory/cbc:Percent castable as xs:decimal and xs:decimal(cac:TaxCategory/cbc:Percent) = xs:decimal(current()/cac:TaxCategory/cbc:Percent) ] return xs:decimal($a/cbc:Amount) * xs:decimal($a/cac:TaxCategory/cbc:Percent) div 100) ) * 100 ) div 100 ), $amountTolerance ) )