Document-level charge amount

Error BR-36 EN 16931

Each Document level charge (BG-21) shall have a Document level charge amount (BT-99).

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

The charge is missing ram:ActualAmount, which specifies the document-level charge amount (BT-99).

What the rule means

The amount quantifies the charge added to the invoice amount. Without it, the document-level charge is not fully specified.

Affected fields BG-21 BT-99
Please provide the document-level charge amount

No amount is provided for a document-level charge. Add the amount so the charge is fully described.

What to do
  1. Add the charge amount in ram:ActualAmount.
  2. Check the value of AbstractTradeAllowanceCharge.ActualAmount.
  3. Check the call to AddTradeCharge(...) or AddTradeeCharge(...).
  4. Regenerate the invoice and validate it again.
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>10.00</ram:ActualAmount>
</ram:SpecifiedTradeAllowanceCharge>
Check in FactoorSharp
  • AbstractTradeAllowanceCharge.ActualAmount (Document level charge: BT-99)
  • FacturXInvoice.AddTradeCharge(basisAmount, currency, actualAmount, chargePercentage, reason, taxTypeCode, taxCategoryCode, taxPercent, reasonCode) (BG-21)
  • FacturXInvoice.AddTradeeCharge(basisAmount, currency, actualAmount, chargePercentage, reason, taxTypeCode, taxCategoryCode, taxPercent, reasonCode) (BG-21)
  • FacturXInvoice.GetTradeCharges() (BG-21)
  • AbstractTradeAllowanceCharge (Document level charge: BG-21)
Technical details

For each ram:SpecifiedTradeAllowanceCharge identified as a charge by ram:ChargeIndicator, the test checks for a sibling ram:ActualAmount.

Where the rule applies

The rule applies to a charge in ram:SpecifiedTradeAllowanceCharge at document level, identified as a charge by ram:ChargeIndicator.

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