F-CRN199
CreditNote line '…' with lineExtensionAmount (…) must equal Price.PriceAmount (…) * CreditedQuantity (…) div CreditNote.PricingExchangeRate.CalculationRate (when '../cac:PricingExchangeRate' is present with MathematicOperatorCode = 'divide' and OrderableUnitFactorRate is not present) +/- 1.00.
What the rule checks
As the rule set's publisher wrote it. The rule runs on every element the context matches, and fails where the test is false; the validator reports the line of that element.
doc:CreditNote/cac:CreditNoteLine
$unitCodeNeither and ($notFree and $noFactorRate and not($noExchangeRate) and not($CRandMOC) and $Divide) and ((xs:double(cbc:LineExtensionAmount) < (((xs:double($calculatedTotalUnitCodeEqual)) div xs:double(../cac:PricingExchangeRate/cbc:CalculationRate)) - 01.00)) or (xs:double(cbc:LineExtensionAmount) > (((xs:double($calculatedTotalUnitCodeEqual)) div xs:double(../cac:PricingExchangeRate/cbc:CalculationRate)) + 01.00)))
Checked with Denmark OIOUBL 2.1 Credit Note