Decimal places in the allowance base amount

Error BR-DEC-02 EN 16931

The allowed maximum number of decimals for the Document level allowance base amount (BT-93) is 2.

Mandatory rule: As long as it is violated, the invoice is invalid and will be rejected by validators.
What is wrong

The value in ram:BasisAmount has more than two characters after the decimal point. The allowance base amount (BT-93) may have no more than two decimal places.

What the rule means

The two-decimal limit specifies the permitted precision of the allowance base amount.

Affected fields BT-93
Please enter the allowance base amount with no more than two decimal places

The allowance base amount has more than two decimal places. Adjust the number of decimal places in ram:BasisAmount.

What to do
  1. Limit the value in ram:BasisAmount to no more than two decimal places.
  2. Check AbstractTradeAllowanceCharge.BasisAmount.
  3. Regenerate the invoice and validate it again.
What it looks like
✗ Triggers the message
<ram:BasisAmount>100.123</ram:BasisAmount>
✓ Correct
<ram:BasisAmount>100.12</ram:BasisAmount>
Check in FactoorSharp
  • AbstractTradeAllowanceCharge.BasisAmount (Document level allowance: BT-93)
Technical details

The test counts the characters after the decimal point in ram:BasisAmount and requires no more than two.

Where the rule applies

The rule applies to ram:BasisAmount for a document-level allowance in ram:SpecifiedTradeAllowanceCharge.

Context (rule/@context)
//ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:ChargeIndicator[udt:Indicator='false']
Test expression (assert/@test)
string-length(substring-after(../ram:BasisAmount,'.'))<=2