Bank Transfers errors

Errors specific to the Bank Transfers product

BANK_TRANSFER_LIMIT_EXCEEDED

The attempted bank transfer exceeded the account's daily bank transfer or single bank transfer limits.
Server-Side
Common causes
  • The attempted bank transfer exceeded the account's daily bank transfer or single bank transfer limits. The error message will indicate which transfer limit was exceeded.

  • A call to a Bank Transfers endpoint was made in Development that did not comply with the following limitations for the use of Bank Transfers in Development:

    • Each transaction must be no more than $0.05.
    • The sum total of all transactions must be less than $5.00.
    • Users may initiate up to 50 ACH credits and 10 Same-Day ACH credits.
    • All transactions must be of type credit; debits are not allowed.
Troubleshooting steps
1
2
3
4
5
6
7
8
http code 400
{
"error_type": "BANK_TRANSFER_ERROR",
"error_code": "BANK_TRANSFER_LIMIT_EXCEEDED",
"error_message": "bank transfer daily transfer limit exceeded",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}

BANK_TRANSFER_MISSING_ORIGINATION_ACCOUNT

There are multiple origination accounts available for the transfer, but which account to use was not specified.
Server-Side
Common causes
  • There is more than one origination account associated with the client id, but no account was specified in the request.
Troubleshooting steps
1
2
3
4
5
6
7
8
http code 400
{
"error_type": "BANK_TRANSFER_ERROR",
"error_code": "BANK_TRANSFER_MISSING_ORIGINATION_ACCOUNT",
"error_message": "origination_account_id is required if multiple origination accounts are available",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}

BANK_TRANSFER_INVALID_ORIGINATION_ACCOUNT

The origination account specified for the bank transfer was invalid.
Server-Side
Common causes
Troubleshooting steps
1
2
3
4
5
6
7
8
http code 400
{
"error_type": "BANK_TRANSFER_ERROR",
"error_code": "BANK_TRANSFER_INVALID_ORIGINATION_ACCOUNT",
"error_message": "origination_account_id is invalid",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}

BANK_TRANSFER_ACCOUNT_BLOCKED

The bank transfer could not be completed because a previous transfer involving the same end-user account resulted in an error.
Server-Side
Common causes
  • The end user has previously marked a bank transfer transaction originated by you as an unauthorized transfer (applies to Plaid developers using FBO accounts only).
  • Plaid has flagged the end-user's account as not valid for use with Bank Transfers.
Troubleshooting steps
1
2
3
4
5
6
7
8
http code 400
{
"error_type": "BANK_TRANSFER_ERROR",
"error_code": "BANK_TRANSFER_ACCOUNT_BLOCKED",
"error_message": "bank transfer was blocked due to a previous ACH return on this account",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}

BANK_TRANSFER_INSUFFICIENT_FUNDS

There was not enough money in the origination account (FBO accounts only) to execute the transfer.
Server-Side
Common causes
  • An attempt was made to transfer money out of the origination account that would leave the balance of the origination account below the required minimum reserve balance.
Troubleshooting steps
1
2
3
4
5
6
7
8
http code 400
{
"error_type": "BANK_TRANSFER_ERROR",
"error_code": "BANK_TRANSFER_INSUFFICIENT_FUNDS",
"error_message": "bank transfer balance is insufficient to make this request",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}

BANK_TRANSFER_NOT_CANCELLABLE

The bank transfer could not be canceled.
Server-Side
Common causes
  • An attempt was made to cancel a bank transfer that has already been sent to the network for execution. Bank transfers cannot be canceled at this stage.
Troubleshooting steps
1
2
3
4
5
6
7
8
http code 400
{
"error_type": "BANK_TRANSFER_ERROR",
"error_code": "BANK_TRANSFER_NOT_CANCELLABLE",
"error_message": "bank transfer is not cancellable",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}

BANK_TRANSFER_UNSUPPORTED_ACCOUNT_TYPE

An attempt was made to transfer funds to or from an unsupported account type.
Server-Side
Common causes
  • An attempt was made to transfer funds to or from an unsupported account type. Only checking and savings accounts can be used with bank transfers. In addition, if the transfer is a debit transfer, the account must be a debitable account.
Troubleshooting steps
1
2
3
4
5
6
7
8
http code 400
{
"error_type": "BANK_TRANSFER_ERROR",
"error_code": "BANK_TRANSFER_UNSUPPORTED_ACCOUNT_TYPE",
"error_message": "bank transfer account type not supported",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}

BANK_TRANSFER_UNSUPPORTED_ENVIRONMENT

A Bank Transfers endpoint was called on an unsupported environment.
Server-Side
Common causes
  • Your Plaid developer account has not been enabled to test Bank Transfers in Development.

  • Your access to Bank Transfers in Development has expired. Access to Bank Transfers in Development lasts for 4 weeks.

Troubleshooting steps
1
2
3
4
5
6
7
8
http code 400
{
"error_type": "BANK_TRANSFER_ERROR",
"error_code": "BANK_TRANSFER_UNSUPPORTED_ENVIRONMENT",
"error_message": "bank transfers is not supported on this environment",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}

ACH return codes

Prefer to learn by watching? A video guide is available for this topic.

All reversed ACH transactions will have an ACH return code. By reading the code, you can troubleshoot and debug reversed transactions.

Return CodeDescriptionNotes
R01Insufficient fundsAvailable balance is not sufficient to cover the dollar amount of the debit entry
R02Account closedA previously open account is now closed
R03No account or unable to locate accountThe account number does not correspond to the individual identified in the entry or a valid account
R04Invalid account numberThe account number fails the check digit validation or may contain an incorrect number of digits
R05Unauthorized debit to consumer accountA business debit entry was transmitted to a member’s consumer account, and the member had not authorized the entry
R06Returned per ODFI's requestThe ODFI has requested that the RDFI return the entry
R07Authorization revoked by customerMember who previously authorized an entry has revoked authorization with the originator
R08Payment stopped or stop payment on itemMember had previously requested a stop payment of a single or recurring entry
R09Uncollected fundsAvailable balance is sufficient, but the collected balance is not sufficient to cover the entry
R10Customer advises not authorizedMember advises not authorized, notice not provided, improper source document, or amount of entry not accurately obtained from source document
R11Check truncation entry returnTo be used when returning a check truncation entry
R12Branch sold to another DFIRDFI unable to post entry destined for a bank account maintained at a branch sold to another financial institution
R13Invalid ACH routing numberFinancial institution does not receive commercial ACH entries
R14Representative payee deceased or unable to continue in that capacityRepresentative payee is deceased or unable to continue in that capacity, beneficiary is not deceased
R15Beneficiary of account holder deceasedBeneficiary or Account Holder Deceased
R16Account frozenAccess to account is restricted due to a specific action taken by the RDFI or by legal action
R17File record edit criteriaFields rejected by RDFI processing (identified in return addenda)
R18Improper effective entryEntries have been presented prior to the first available processing window for the effective date
R19Amount field errorImproper formatting of the amount field
R20Non-transaction accountPolicies or regulations (such as Regulation D) prohibit or limit activity to the account indicated
R21Invalid company identificationThe company ID information not valid (normally CIE entries)
R22Invalid individual ID numberIndividual id used by receiver is incorrect (CIE entries)
R23Credit entry refused by receiverReceiver returned entry because minimum or exact amount not remitted, bank account is subject to litigation, or payment represents an overpayment, originator is not known to receiver or receiver has not authorized this credit entry to this bank account
R24Duplicate entryRDFI has received a duplicate entry
R25Addenda errorImproper formatting of the addenda record information
R26Mandatory field errorImproper information in one of the mandatory fields
R27Trace number errorOriginal entry trace number is not valid for return entry; or addenda trace numbers do not correspond with entry detail record
R28Routing number or check digitCheck digit for transit routing number is incorrect
R29Corporate customer advises not authorizedRDFI has been notified by business account holder that a specific transaction is unauthorized
R30RDFI not participant in check truncation programFinancial institution not participating in automated check safekeeping application
R31Permissible return entryRDFI has been notified by business account holder that a specific transaction is unauthorized
R32RDFI non settlementRDFI is not able to settle the entry
R33Return of XCK entryRDFI determines at its sole discretion to return an XCK entry; an XCK return entry may be initiated by midnight of the sixtieth day following the settlement date if the XCK entry
R34Limited participation DFIRDFI participation has been limited by a federal or state supervisor
R35Return of improper debit entryACH debit not permitted for use with the CIE standard entry class code (except for reversals)
R36Return of improper credit entry
R37Source Document Presented for PaymentCheck used for an ARC, BOC or POP entry has also been presented for payment
R38Stop payment on source documentStop payment has been placed on a check used for an ARC entry
R40Return of ENR entry by federal government agency (ENR only)
R41Invalid transaction code (ENR only)
R42Routing number or check digit error (ENR only)
R43Invalid DFI account number (ENR only)
R44Invalid individual ID number (ENR only)
R45Invalid individual name/company name (ENR only)
R46Invalid representative payee indicator (ENR only)
R47Duplicate enrollment
R50State law affecting RCK acceptance
R51Item is ineligible, notice not provided, signature not genuine
R52Stop payment on item
R61Misrouted returnReturn entry was sent by RDFI to an incorrect ODFI routing/transit number
R62Incorrect trace number
R63Incorrect dollar amount
R64Incorrect individual identification
R65Incorrect transaction code
R66Incorrect company identification
R67Duplicate returnODFI has received more than one return entry for the same original entry
R68Untimely returnReturn entry did not meet the return deadline
R69Multiple errors
R70Permissible return entry not accepted
R71Misrouted dishonored return
R72Untimely dishonored return
R73Timely original return
R74Corrected return
R80Cross-border payment coding error
R81Nonparticipant in cross-border program
R82Invalid foreign receiving DFI identification