Plaid logo
Docs
ALL DOCS

Errors

  • Overview
  • Item errors
  • Institution errors
  • API errors
  • Assets errors
  • Payment errors
  • Virtual Accounts (UK/EU) only
  • Transactions errors
  • Transfer errors
  • Income errors
  • Sandbox 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:
    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_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.

    • 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
    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_UNSUPPORTED_ENVIRONMENT

    A Bank Transfers endpoint was called on an unsupported environment.
    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
    1http code 400
    2{
    3 "error_type": "BANK_TRANSFER_ERROR",
    4 "error_code": "BANK_TRANSFER_UNSUPPORTED_ENVIRONMENT",
    5 "error_message": "bank transfers is not supported on this environment",
    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