VRBL-INV-PT-2p1-13
Basic Info
|
Rule
|
Sum Charge Amount = Legal Monetary Total Charge Total Amount, with an acceptance range of 1.00 EURO (it does not mean that this tolerance is accepted by the customer). |
|
Context
|
/ubl:Invoice
|
|
Pattern
|
vrbl-invoice-pt-2p1 |
|
Severity
|
fatal |
Implementation
(boolean(cac:AllowanceCharge[cbc:ChargeIndicator='true'])
and ((round(sum(cac:AllowanceCharge[cbc:ChargeIndicator='true']/cbc:Amount) * 10 * 10) div 100) <= (cac:LegalMonetaryTotal/cbc:ChargeTotalAmount + 1.00)
and (round(sum(cac:AllowanceCharge[cbc:ChargeIndicator='true']/cbc:Amount) * 10 * 10) div 100) >= (cac:LegalMonetaryTotal/cbc:ChargeTotalAmount - 1.00)))
or (not(boolean(cac:AllowanceCharge[cbc:ChargeIndicator='true'])) and cac:LegalMonetaryTotal/cbc:ChargeTotalAmount = 0.00)
or not(cac:LegalMonetaryTotal/cbc:ChargeTotalAmount)