Check the financial institution details for the payment

Error CII-SR-464 Syntax (UBL/CII)

Only one BT-86 element is allowed on an invoice.

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

The message says that only one BT-86 entry is allowed. However, the supplied test expression rejects none of the combinations of these two elements: it is true when one or both elements are present and also when neither is present. Therefore, the expression does not detect the error described by the message.

What the rule means

The business meaning of the message limits the invoice to exactly one BT-86 entry. The supplied test condition does not enforce that limit.

Affected fields BT-86
Please check the financial institution details for the payment

The message limits the financial institution details to one BT-86 entry. However, the supplied test condition does not reject any combination of the two XML elements.

What to do
  1. Compare the requirement in the message with the test condition for ram:PayeeSpecifiedCreditorFinancialInstitution and ram:PayerSpecifiedDebtorFinancialInstitution.
  2. Note that the supplied test condition rejects no combination of these elements.
  3. Review the rule definition if the “only one entry” requirement is to be enforced.
  4. Generate the invoice again and validate it again.
Technical details

The expression (A or B) or (not A and not B) is true for every combination of truth values for A and B. Consequently, this test condition cannot reject any combination of the two specified elements.

Where the rule applies

The rule checks ram:PayeeSpecifiedCreditorFinancialInstitution and ram:PayerSpecifiedDebtorFinancialInstitution within ram:SpecifiedTradeSettlementPaymentMeans.

Context (rule/@context)
//ram:SpecifiedTradeSettlementPaymentMeans
Test expression (assert/@test)
( ram:PayeeSpecifiedCreditorFinancialInstitution or ram:PayerSpecifiedDebtorFinancialInstitution ) or ( not(ram:PayeeSpecifiedCreditorFinancialInstitution) and not(ram:PayerSpecifiedDebtorFinancialInstitution) )