Plaid logo
Docs
ALL DOCS

Errors

  • Overview
  • Item errors
  • Institution errors
  • Transactions errors
  • Transfer errors
  • Income errors
  • Sandbox errors
  • API errors
  • Assets errors
  • Payment errors (UK/EU)
  • Virtual Accounts errors (UK/EU)
  • Check Report errors
  • Invalid Request errors
  • Invalid Input errors
  • Invalid Result errors
  • Rate Limit Exceeded errors
  • Recaptcha errors
  • OAuth errors
  • Microdeposits errors
  • Partner errors
Plaid logo
Docs
Close search modal
Ask Bill!
Ask Bill!
Hi! I'm Bill! You can ask me all about the Plaid API. Try asking questions like:
  • How do I set up Link on the web?
  • How do I set up a webhook for IDV?
  • What's the difference between an Item and an access token?
Note: Bill isn't perfect. He's just a robot platypus that reads our docs for fun. You should treat his answers with the same healthy skepticism you might treat any other answer on the internet. This chat may be logged for quality and training purposes. Please don't send Bill any PII -- he's scared of intimacy. All chats with Bill are subject to Plaid's Privacy Policy.
Plaid.com
Log in
Get API Keys
Open nav

Bank Transfers errors

Errors specific to the Bank Transfers product

Bank Transfers (except for webhook micro-deposit notifications) is a legacy product that has been succeeded by the Transfer product. This documentation is retained for customers already using the Bank Transfers product; all other customers should use Transfer instead.

BANK_TRANSFER_LIMIT_EXCEEDED

The attempted bank transfer exceeded the account's daily bank transfer or single bank transfer limits.
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.
Troubleshooting steps
1http code 400
2{
3 "error_type": "BANK_TRANSFER_ERROR",
4 "error_code": "BANK_TRANSFER_LIMIT_EXCEEDED",
5 "error_message": "bank transfer daily transfer limit exceeded",
6 "display_message": null,
7 "request_id": "HNTDNrA8F1shFEW"
8}
Was this helpful?

BANK_TRANSFER_MISSING_ORIGINATION_ACCOUNT

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

BANK_TRANSFER_INVALID_ORIGINATION_ACCOUNT

The origination account specified for the bank transfer was invalid.
Common causes
  • The origination_account_id specified when calling /bank_transfer/create was invalid.
Troubleshooting steps
1http code 400
2{
3 "error_type": "BANK_TRANSFER_ERROR",
4 "error_code": "BANK_TRANSFER_INVALID_ORIGINATION_ACCOUNT",
5 "error_message": "origination_account_id is invalid",
6 "display_message": null,
7 "request_id": "HNTDNrA8F1shFEW"
8}
Was this helpful?

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.
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
1http code 400
2{
3 "error_type": "BANK_TRANSFER_ERROR",
4 "error_code": "BANK_TRANSFER_ACCOUNT_BLOCKED",
5 "error_message": "bank transfer was blocked due to a previous ACH return on this account",
6 "display_message": null,
7 "request_id": "HNTDNrA8F1shFEW"
8}
Was this helpful?

BANK_TRANSFER_INSUFFICIENT_FUNDS

There was not enough money in the origination account (FBO accounts only) to execute the transfer.
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
1http code 400
2{
3 "error_type": "BANK_TRANSFER_ERROR",
4 "error_code": "BANK_TRANSFER_INSUFFICIENT_FUNDS",
5 "error_message": "bank transfer balance is insufficient to make this request",
6 "display_message": null,
7 "request_id": "HNTDNrA8F1shFEW"
8}
Was this helpful?

BANK_TRANSFER_NOT_CANCELLABLE

The bank transfer could not be canceled.
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
1http code 400
2{
3 "error_type": "BANK_TRANSFER_ERROR",
4 "error_code": "BANK_TRANSFER_NOT_CANCELLABLE",
5 "error_message": "bank transfer is not cancellable",
6 "display_message": null,
7 "request_id": "HNTDNrA8F1shFEW"
8}
Was this helpful?

BANK_TRANSFER_UNSUPPORTED_ACCOUNT_TYPE

An attempt was made to transfer funds to or from an unsupported account type.
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
1http code 400
2{
3 "error_type": "BANK_TRANSFER_ERROR",
4 "error_code": "BANK_TRANSFER_UNSUPPORTED_ACCOUNT_TYPE",
5 "error_message": "bank transfer account type not supported",
6 "display_message": null,
7 "request_id": "HNTDNrA8F1shFEW"
8}
Was this helpful?

BANK_TRANSFER_FORBIDDEN_ACH_CLASS

An attempt was made create a transfer with a forbidden ACH class (SEC code).
Common causes
  • Your Plaid account has not been enabled for the ACH class specified in the request.

  • The ACH class specified in the transfer request was incorrect.

Troubleshooting steps
1http code 400
2{
3 "error_type": "BANK_TRANSFER_ERROR",
4 "error_code": "BANK_TRANSFER_FORBIDDEN_ACH_CLASS",
5 "error_message": "specified ach_class is forbidden",
6 "display_message": null,
7 "request_id": "HNTDNrA8F1shFEW"
8}
Was this helpful?

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
Developer community
GitHub
GitHub
Stack Overflow
Stack Overflow
YouTube
YouTube
Discord
Discord