VRBL-INV-PT-2p1-156

Basic Info

Rule The Charge Amount must equal the multiplication between the Charge Base Amount and the Charge Multiplier Factor Numeric, with an acceptance range of 1.00 EURO (it does not mean that this tolerance is accepted by the customer).
Context /ubl:Invoice/cac:AllowanceCharge[string(cbc:ChargeIndicator) = 'true']
Pattern vrbl-invoice-pt-2p1
Severity fatal

Implementation

(not(boolean(cbc:MultiplierFactorNumeric)) and not(boolean(cbc:BaseAmount))) 
			or (((cbc:BaseAmount * (cbc:MultiplierFactorNumeric div 100) * 10 * 10) div 100) <= (cbc:Amount + 1.00) 
			and ((cbc:BaseAmount * (cbc:MultiplierFactorNumeric div 100) * 10 * 10) div 100) >= (cbc:Amount - 1.00))