Invoice line allowance amount is missing

Error BR-41 EN 16931

Each Invoice line allowance (BG-27) shall have an Invoice line allowance amount (BT-136).

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

ram:ActualAmount is missing for the invoice line allowance. Each such allowance must have an amount.

What the rule means

The amount states the value of the allowance on the invoice line.

Affected fields BG-27 BT-136
Please add the invoice line allowance amount

No amount is provided for the invoice line allowance. Add the missing amount.

What to do
  1. Add ram:ActualAmount to the allowance under ram:SpecifiedTradeAllowanceCharge.
  2. Set the value through AbstractTradeAllowanceCharge.ActualAmount.
  3. Generate the invoice again and validate it once more.
What it looks like
✗ Triggers the message
<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator>
    <udt:Indicator>false</udt:Indicator>
  </ram:ChargeIndicator>
</ram:SpecifiedTradeAllowanceCharge>
✓ Correct
<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator>
    <udt:Indicator>false</udt:Indicator>
  </ram:ChargeIndicator>
  <ram:ActualAmount>10.00</ram:ActualAmount>
</ram:SpecifiedTradeAllowanceCharge>
Check in FactoorSharp
  • AbstractTradeAllowanceCharge.ActualAmount (Line level allowance: BT-136)
  • TradeLineItem.SpecifiedTradeAllowanceCharges (BG-27)
  • AbstractTradeAllowanceCharge (Line level allowance: BG-27)
  • AbstractTradeAllowanceCharge.ChargeIndicator (Line level allowance: BG-27)
Technical details

For the allowance identified by udt:Indicator with false, the test checks whether the sibling ram:ActualAmount element is present.

Where the rule applies

The rule applies to an invoice line allowance identified by ram:ChargeIndicator with the value false.

Context (rule/@context)
//ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:ChargeIndicator[udt:Indicator = 'false']
Test expression (assert/@test)
(../ram:ActualAmount)