Amount of an invoice line charge

Error BR-43 EN 16931

Each Invoice line charge (BG-28) shall have an Invoice line charge amount (BT-141).

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

A charge is missing the ram:ActualAmount element that specifies its amount.

What the rule means

Every invoice line charge must include an amount.

Affected fields BG-28 BT-141
Please provide the invoice line charge amount

The amount is missing for an invoice line charge. You can resolve this by adding ram:ActualAmount.

What to do
  1. Add the amount using AbstractTradeAllowanceCharge.ActualAmount.
  2. Check that the amount belongs to the invoice line charge.
  3. Generate the invoice again and validate it.
What it looks like
✗ Triggers the message
<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator>
    <udt:Indicator>true</udt:Indicator>
  </ram:ChargeIndicator>
</ram:SpecifiedTradeAllowanceCharge>
✓ Correct
<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator>
    <udt:Indicator>true</udt:Indicator>
  </ram:ChargeIndicator>
  <ram:ActualAmount>1.00</ram:ActualAmount>
</ram:SpecifiedTradeAllowanceCharge>
Check in FactoorSharp
  • AbstractTradeAllowanceCharge.ActualAmount (Line level charge: BT-141)
  • TradeLineItem.SpecifiedTradeAllowanceCharges (BG-28)
  • AbstractTradeAllowanceCharge (Line level charge: BG-28)
  • AbstractTradeAllowanceCharge.ChargeIndicator (Line level charge: BG-28)
Technical details

The check applies to ram:SpecifiedTradeAllowanceCharge where udt:Indicator has the value true and requires ram:ActualAmount to be present.

Where the rule applies

The rule applies to charges in ram:SpecifiedTradeAllowanceCharge within an invoice line’s ram:SpecifiedLineTradeSettlement.

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