Reason codes

In comparison, the risk of chargebacks using SEPA is higher than in the credit card environment. This is due to the fact that chargebacks with "non-sufficient-funds" or "wrong bank account" can occur. In order to minimise this risk and increase success rates, special processes must be in place.

If you pay with SDD, you have the right to initiate a chargeback up to 13 months after payment. However this is just as theoretical as the time period of 24 months for credit card chargebacks. In practice, 99 percent of chargebacks already occur 2 weeks after the SDD is processed.

If a transaction is charged back, you will receive the associated reason code. This reason code is used to indicate why the transaction failed. In the SEPA scheme there are more than 220 different chargeback reason codes. To enable you to process these automatically and reduce complexity, BC Connect consolidates them and gives you recommendations on how to react to individual reason codes.

Our recommendations for best practices are listed in the tables below.

Caused by invalid data

If the declination is for any of the reasons listed below, review and correct the payment details and arrange a new attempt to send the payment.

Reason CodeTriggerTokenInfoActionBest Practice
AC01INVDATAccount number is invalid or missing. Format of the account number specified is not correctContact customerContact the customer to request a valid IBAN or new account details.
RC01INVDATBank Identifier Code specified in the message has an incorrect format.Contact customerContact the customer to request a valid BIC or new account details.
RR01INVDATSpecification of the debtor’s account or unique identification needed for reasons of regulatory requirements is insufficient or missing.Adjust data and resend transactionIf the payment is declined due to missing information, check the payment data and retry sending it. If the payment is declined for regulatory issues, please contact the customers bank.
RR02INVDATSpecification of the debtor’s name and/or address needed for regulatory requirements is insufficient or missing.Adjust data and resend transactionIf the payment is declined due to missing information, check the payment data and retry sending it. If the payment is declined for regulatory issues, please contact the customers bank.
RR04INVDATPayment was declined for regulatory reasons.Contact customer bankRequest the bank to contact the debtors bank for more information about the declination.
BE01INVDATIdentification of the end customer does not match the associated account number.Contact customer/Start dunningContact the customer for further details.

Caused by Customer
The following reason codes listed below occur due to issues with the bank account, the customer or the transaction itself. These are the most common reason codes and can be categorised into three groups.

  • Declination due to issues with the specified bank account.
  • Declination due to the transaction itself.
  • Due to disputed or unauthorized transactions.

Declination due to issues with the specified bank account

It is possible that some accounts do not allow Direct Debits. There may be various reasons for this, for example, if the customer has closed the account or it has been blocked.

If a transaction is declined for one of the reasons listed in the table below, it is not recommended to create further Direct Debits for this account. Contact the customer to get new account details or ask them to unblock their account.

Reason CodeTriggerTokenInfoActionBest Practice
AG01INVACCTransaction forbidden on this type of account.Contact customerContact the customer to get new account details.
AC04INVACCThe specified bank account has been closed.Blacklist and contact customerBlacklist the closed bank account to prevent further transactions and contact the customer for new account details.
MD07INVACCThe customer is deceased.BlacklistCancel the transaction and blacklist the account to prevent any further transactions.
AC06INVACCThe specified account is blocked. No transactions can be booked for this account.Contact customerContact the customer to get new account details.
SL01INVACCDeclination due to specific service offered by the Debtor Agent.Contact customerThe reason for declination is due to a special service of the debtor bank according to which all direct debits not explicitly authorized by the customer are returned (e.g. blacklist).
AC13INVACCDebtor account type missing or invalid.Contact customerContact the customer to get new account details.
PY01INVACCThe transaction can’t be processed because the debtors or creditors bank is not a registered participant in the SEPA scheme.Contact customerContact the customer to get new account details.
XT79INVACCThe transaction can´t be processed because the debtor agent is not permitted to receive Direct Debits. An indirect participant must be authorized to receive direct debits from the clearing system.Contact customerContact the customer to get new account details.

Declination due to the transaction itself

Some of the most common reasons for a transaction to be declined are, for example, if the customer disputes the booking of a Direct Debit or if the Direct Debit was rejected due to insufficient funds.

If a transaction is declined for any of the reasons listed below, we recommend that you contact the customer in order to try to resend the transaction.

Reason CodeTriggerTokenInfoActionBest Practice
AM04CHBISFThe amount of funds available to cover the specified transaction was insufficient.Retry 1st of the monthContact the customer and arrange a new attempt to submit the payment.
MS02CHBACTReason for chargeback was not specified by customer.Contact customer / Start dunningThe customer disputes the debit. Contact the customer and arrange a new attempt to submit the payment.
MS03CHBACTReason was not specified by agent.Contact customerOne of the most common error codes. This reason code occurs when banks decide, out of reasons of data protection, not to specify any return codes. Contact the customer and arrange a new attempt to submit the payment.

Declination due to disputed or unauthorised transactions

If a chargeback occurs, caused by one of the reasons listed below, the customer has requested a chargeback. Reasons for this could either be an unauthorised or disputed transaction.

Reason CodeTriggerTokenInfoActionBest Practice
MD06CHBACTThe customer requested a chargeback.Contact customer / Start dunningThe customer has requested a chargeback for a non authorised transaction (only possible with SDD). This can happen up to 8 weeks after billing. We recommend contacting the customer for further details.
MD01CHBACTNo existing mandate was found.Contact customerThe customer doesn't have a mandate set up with you. We recommend contacting your customer for further details.

Declination due to data errors

These types of reason codes are rather uncommon. BC Connect generates and verifies the SEPA files, which means that these reasons are largely excluded, as we take care of them.

Reason CodeTriggerTokenInfoActionBest Practice
AM05INVDATDuplicate was found.Check dataPlease check if the transaction was initiated twice.
BE05INVDATParty who initiated the message is not recognized by the end customer.Check data and resendReinitiate after checking and adjusting the CreditorID.
FF01INVFRMFile format was incomplete or invalid.Check dataCheck and adjust the XML-file based on scheme rules.
FF05INVFRMLocal instrument code is missing or invalid. The specified Direct Debit type is incorrect.Check dataCheck and adjust the type of the Direct Debit (E.g. B2B, B2C, single or recurring)
MD02INVDATMandate related information required by the scheme is missing.Check dataCheck and update missing data in the file or transaction.
RR03INVDATSpecification of the creditor’s name and/or address needed for regulatory requirements is insufficient or missing.Check data and resendIf data or attributes are missing, please adjust missing data based on the scheme rules and resend the transaction. If the reason is based on regulatory reasons please contact the consumer bank.
AG02INVDATBank operation code specified in the message is not valid for receiver.Check data and resendUpdate and adjust wrong attributes before resending the transaction.
XT33INVFRMThe content of at least one XML element is not in the format required. The invalid XML field is indicated by the error code.Check data and resendUpdate and adjust wrong attributes before resending the transaction.
XT91INVFRMInvalid country code in Creditor Agent.Contact providerUpdate and adjust the creditorID. For further information we recommend contacting your bank or provider.
DT01INVFRMInvalid date (e.g. wrong settlement date)Contact providerContact the customer to resend the payment after adjusting the settlement date. For further information we recommend contacting your bank or provider.

In addition to the reason codes of the depending scheme, BC Connect has defined reason codes to make it as easy as possible for you to understand what might have gone wrong when using our API. You can find them in the table below.

📘

If some reason codes appear similar, be aware that the reason codes often belong to different entities.

EntityReason CodeCauseTriggerTokenInfoBest Practice
BankAccountSPX 100invalidBankDetailsINVDATCreation failed. IBAN not valid.We recommend contacting the customer for a valid IBAN or if necessary new bank account details.
BankAccountSPX 101invalidBankDetailsINVDATCreation failed. BIC not valid.We recommend contacting the customer for a valid BIC or if necessary new bank account details.
BankAccountSPX 159bankAccountFailed
BankAccountSPX 102blacklistedINVDATCreation failed. bank account on blacklist.
MandateSPX 200missingApprovalINVDATCreation failed. The mandate could not be created due to a missing or invalid approval.Create a new mandate and contact customer to complete the approval.
MandateSPX 205invalidTANINVDATRequest a new TAN.
MandateSPX 206wrongTANINVDATRetry with correct TAN.
MandateSPX 259mandateFailed
PaymentSPX 300invalidMandateINVDATCreation failed. The payment could not be created due to a missing or invalid mandate.Contact your customer to create a new mandate.
PaymentSPX 301blacklistedINVDATCreation failed. Information on blacklist.Cancel the payment and add the customer to your blacklist to prevent further errors.
PaymentSPX 302reviewRejectedDISACTThe payment has been actively rejected during a review by the merchant.
PaymentSPX 303invalidBankDetailsINVDATCreation failed. IBAN not matching bank account.Contact your customer to retrieve valid data.
PaymentSPX 304missingApprovalINVDATCreation failed. The payment could not be created due to a missing or invalid approval.Create a new payment and contact customer to complete the approval.
PaymentSPX 305invalidTANINVDATRequest a new TAN.
PaymentSPX 306wrongTANINVDATRetry with correct TAN.
PaymentSPX 307invalidBankDetailsINVDATCreation failed. The currency code does not match the bank account.Contact the customer to retrieve valid data.
PaymentSPX 308reviewExpiredDISACTThe payment expired while waiting for review.
PaymentSPX 310invalidMandateINVDATThe attempt to collect a payment has failed due to an invalid mandate.Contact the customer to create a new mandate.
PaymentSPX 399paymentConfirmed
CustomerSPX 400blacklistedINVDATCreation failed. Customer is backlisted.Cancel affected transactions and add the customer to your blacklist to prevent further errors.
CustomerSPX 401invalidCustomerDetailsINVDATCreation failed. Customer details are not valid.We recommend contacting the customer for valid details.
CustomerSPX 459customerFailed
RiskSPX 701failedRiskCheckAISACCRisk check failed. There was no account available to check.Contact the customer to get new account details.
RiskSPX 702failedRiskCheckAISDATRisk check failed. The given IBAN does not match any IBAN available via AIS.Contact the customer to get new account details.
RiskSPX 703failedRiskCheckAISACTRisk check failed. The process was cancelled by the customer.Contact the customer and restart the AIS approval.
RiskSPX 704failedRiskCheckAISFRMRisk check failed. A failure occurred while connecting to a third-party provider.Contact the customer and restart the AIS approval.
RiskSPX 705failedRiskCheckINVDATRisk check failed. The amount of funds requested is below the minimum transaction amount.Contact your developer to request a valid amount.
RiskSPX 706failedRiskCheckINVDATRisk check failed. The amount of funds requested is above the maximum transaction amount.Contact your developer to request a valid amount.
RiskSPX 707failedRiskCheckINVDATRisk check failed. The count of payments per period exceeds the limit.Contact the customer and retry later.
RiskSPX 710failedRiskCheckAISISFRisk check failed. The amount of funds available to cover the direct debit were insufficient.Contact the customer to arrange a retry.
HostedPageSPX 800invalidBankDetailsINVDATCreation failed. IBAN not supported.Contact the customer to request either a supported IBAN or if necessary new bank account details.
HostedPageSPX 801invalidBankDetailsINVDATCreation failed. Country code of IBAN not supported.Contact the customer for an IBAN with a supported country code or if necessary new bank account details.
GenericSPX 900validationFailedINVDATValidation failed.Contact the customer to get valid data.
GenericSPX 901invalidMerchant
GenericSPX 902invalidConnector
GenericSPX 904entityNotFoundINVDATNo entity was found that matches the specified id.Contact your developer to specify a valid entity id.
GenericSPX 908invalidUserBehaviourINVDATInvalid user behaviour.Contact the user to investigate the invalid behaviour.
GenericSPX 998processingProceeded
GenericSPX 999processingFailedINVDAT
RequestToPaySPX 1003failedRequestToPayAISACTRequestToPay failed. The process was cancelled by the customer.Contact the customer and restart the requestToPay approval.
RequestToPaySPX 1004missingApprovalINVDATCreation failed. The requestToPay could not be created due to a missing or invalid approval.Create a new requestToPay and contact customer to complete the PIS approval.
RequestToPaySPX 1059requestToPayFailed