Only one BT-86 element is allowed on an invoice.
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.
The business meaning of the message limits the invoice to exactly one BT-86 entry. The supplied test condition does not enforce that limit.
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.
- Compare the requirement in the message with the test condition for
ram:PayeeSpecifiedCreditorFinancialInstitutionandram:PayerSpecifiedDebtorFinancialInstitution. - Note that the supplied test condition rejects no combination of these elements.
- Review the rule definition if the “only one entry” requirement is to be enforced.
- 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.
The rule checks ram:PayeeSpecifiedCreditorFinancialInstitution and ram:PayerSpecifiedDebtorFinancialInstitution within ram:SpecifiedTradeSettlementPaymentMeans.
rule/@context)assert/@test)