Provide a payment account for a bank transfer

Error BR-61 EN 16931

If the Payment means type code (BT-81) means SEPA credit transfer, Local credit transfer or Non-SEPA international credit transfer, the Payment account identifier (BT-84) shall be present.

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

For a payment method with TypeCode 30 or 58, the payment account identifier is missing. It must be provided as IBANID or ProprietaryID.

What the rule means

The payment method indicates a SEPA credit transfer, a local credit transfer, or a non-SEPA international credit transfer. The account identifier specifies where the amount due should be transferred.

Affected fields BT-81 BT-84
Please provide the payment account identifier for the transfer

The account identifier for this payment method is missing. You can add it to the invoice and validate the invoice again.

What to do
  1. Provide either IBANID or ProprietaryID in the payment account.
  2. Check the value supplied through BankAccount.IBAN and the payment type code through PaymentMeans.TypeCode.
  3. Generate the invoice again and validate it.
What it looks like
✗ Triggers the message
<ram:SpecifiedTradeSettlementPaymentMeans>
  <ram:TypeCode>30</ram:TypeCode>
  <ram:PayeePartyCreditorFinancialAccount/>
</ram:SpecifiedTradeSettlementPaymentMeans>
✓ Correct
<ram:SpecifiedTradeSettlementPaymentMeans>
  <ram:TypeCode>30</ram:TypeCode>
  <ram:PayeePartyCreditorFinancialAccount>
    <ram:IBANID>DE89370400440532013000</ram:IBANID>
  </ram:PayeePartyCreditorFinancialAccount>
</ram:SpecifiedTradeSettlementPaymentMeans>
Check in FactoorSharp
  • BankAccount.IBAN (BT-84)
  • PaymentMeans.TypeCode (SpecifiedPaymentMeans: BT-81)
  • FacturXInvoice.PaymentMeans (ID: BT-81)
Technical details

The rule selects payment methods with TypeCode 30 or 58 and requires at least one of IBANID or ProprietaryID under the contextual account element.

Where the rule applies

The rule applies to PayeePartyCreditorFinancialAccount within SpecifiedTradeSettlementPaymentMeans when TypeCode is 30 or 58.

Context (rule/@context)
//ram:SpecifiedTradeSettlementPaymentMeans[ram:TypeCode='30' or ram:TypeCode='58']/ram:PayeePartyCreditorFinancialAccount
Test expression (assert/@test)
(ram:IBANID) or (ram:ProprietaryID)