Each Invoice line charge or tax (BG-28) shall have an Invoice line charge or tax reason (BT-144), an Invoice line charge reason code (BT-145) or an Invoice line-level non-VAT tax type code (BT-193).
A charge has neither ram:Reason nor ram:ReasonCode. The test expression requires at least one of these elements.
An invoice line charge must be identifiable by a reason, a reason code, or both.
A reason or reason code is missing for an invoice line charge. You can resolve this by adding at least one of these details.
- Add a reason for the charge using
AbstractTradeAllowanceCharge.Reason, or add a reason code usingTradeCharge.ReasonCode. - Check that the detail belongs to the invoice line charge.
- Generate the invoice again and validate it.
<ram:SpecifiedTradeAllowanceCharge> <ram:ChargeIndicator> <udt:Indicator>true</udt:Indicator> </ram:ChargeIndicator> </ram:SpecifiedTradeAllowanceCharge>
<ram:SpecifiedTradeAllowanceCharge> <ram:ChargeIndicator> <udt:Indicator>true</udt:Indicator> <ram:Reason>Motif</ram:Reason> </ram:ChargeIndicator> </ram:SpecifiedTradeAllowanceCharge>
ChargeReasonCodes(Line level charge: BT-145)TradeCharge.ReasonCode(Line level charge: BT-145)AbstractTradeAllowanceCharge.Reason(Line level charge: BT-144)TradeLineItem.SpecifiedTradeAllowanceCharges(BG-28)AbstractTradeAllowanceCharge(Line level charge: BG-28)
Technical details
The rule applies to charges marked by udt:Indicator with the value true. The supplied XPath test checks whether ram:Reason or ram:ReasonCode is present.
The rule applies to charges in ram:SpecifiedTradeAllowanceCharge within an invoice line’s ram:SpecifiedLineTradeSettlement.
rule/@context)assert/@test)