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

    Transfer errors

    Errors specific to the Transfer product

    TRANSFER_LIMIT_EXCEEDED

    The attempted transfer exceeded the account's daily transfer or single transfer limits.
    Common causes
    • The attempted transfer exceeded the account's daily transfer or single transfer limits. The error message will indicate which transfer limit was exceeded.
    • Pre-production transfer limits are being applied in Production because the client has not fully completed the Transfer Implementation Checklist. Customers must provide all the information requested on the checklist and complete all checklist attestations in order to be granted production-level transfer limits.
    Troubleshooting steps
    1http code 400
    2{
    3 "error_type": "TRANSFER_ERROR",
    4 "error_code": "TRANSFER_LIMIT_EXCEEDED",
    5 "error_message": "transfer limit exceeded",
    6 "display_message": null,
    7 "request_id": "HNTDNrA8F1shFEW"
    8}
    Was this helpful?

    TRANSFER_ACCOUNT_BLOCKED

    The transfer could not be completed because a previous transfer involving the same end-user account resulted in an error
    Common causes
    • Plaid has flagged the end-user's account as not valid for use with Transfer.
    Troubleshooting steps
    1http code 400
    2{
    3 "error_type": "TRANSFER_ERROR",
    4 "error_code": "TRANSFER_ACCOUNT_BLOCKED",
    5 "error_message": "transfer was blocked due to a previous ACH return on this account",
    6 "display_message": null,
    7 "request_id": "HNTDNrA8F1shFEW"
    8}
    Was this helpful?

    TRANSFER_NOT_CANCELLABLE

    The transfer could not be canceled
    Common causes
    • An attempt was made to cancel a transfer that has already been sent to the network for execution and cannot be cancelled at this stage.
    Troubleshooting steps
    1http code 400
    2{
    3 "error_type": "TRANSFER_ERROR",
    4 "error_code": "TRANSFER_NOT_CANCELLABLE",
    5 "error_message": "transfer is not cancellable",
    6 "display_message": null,
    7 "request_id": "HNTDNrA8F1shFEW"
    8}
    Was this helpful?

    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 Transfer. 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": "TRANSFER_ERROR",
    4 "error_code": "TRANSFER_UNSUPPORTED_ACCOUNT_TYPE",
    5 "error_message": "transfer account type not supported",
    6 "display_message": null,
    7 "request_id": "HNTDNrA8F1shFEW"
    8}
    Was this helpful?

    TRANSFER_FORBIDDEN_ACH_CLASS

    An attempt was made to 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": "TRANSFER_ERROR",
    4 "error_code": "TRANSFER_FORBIDDEN_ACH_CLASS",
    5 "error_message": "specified ach_class is forbidden",
    6 "display_message": null,
    7 "request_id": "HNTDNrA8F1shFEW"
    8}
    Was this helpful?

    TRANSFER_UI_UNAUTHORIZED

    The client is not enabled for the Transfer UI product
    Common causes
    • Your account is not enabled for use with Transfer UI.
    Troubleshooting steps
    1http code 400
    2{
    3 "error_type": "TRANSFER_ERROR",
    4 "error_code": "TRANSFER_UI_UNAUTHORIZED",
    5 "error_message": "client is not authorized for transfer UI",
    6 "display_message": null,
    7 "request_id": "HNTDNrA8F1shFEW"
    8}
    Was this helpful?

    TRANSFER_ORIGINATOR_NOT_FOUND

    An association between the sender and the originator client doesn't exist
    Common causes
    • There is a typo in the originator_client_id
    • You are a Platform Payments customer (not a partner) and did not call /transfer/originator/create for this end-customer
    • You are a Plaid Partner and have not submitted diligence information via /transfer/questionnaire/create or /transfer/diligence/submit for this end-customer
    Troubleshooting steps
    1http code 400
    2{
    3 "error_type": "TRANSFER_ERROR",
    4 "error_code": "TRANSFER_ORIGINATOR_NOT_FOUND",
    5 "error_message": "the association between the sender and the originator client doesn't exist",
    6 "display_message": null,
    7 "request_id": "HNTDNrA8F1shFEW"
    8}
    Was this helpful?

    INCOMPLETE_CUSTOMER_ONBOARDING

    The end customer has not completed onboarding. Their diligence status must be approved before moving funds
    Common causes
    • You are on a delegated diligence arrangement and haven't called both /transfer/diligence/submit AND /transfer/diligence/document/upload to onboard this end-customer
    • You are on a direct diligence arrangement tried to move funds for an originator that hasn't been approved by Plaid yet
    Troubleshooting steps
    1http code 400
    2{
    3 "error_type": "TRANSFER_ERROR",
    4 "error_code": "INCOMPLETE_CUSTOMER_ONBOARDING",
    5 "error_message": "end customer has not completed onboarding. their diligence status must be `approved` before moving funds",
    6 "display_message": null,
    7 "request_id": "HNTDNrA8F1shFEW"
    8}
    Was this helpful?

    UNAUTHORIZED_ACCESS

    You are not authorized to access this endpoint for your use case
    Common causes
    • You are not a Platform Payments customer and tried to call a Platform Payments endpoint
    • You are a Plaid Partner and tried to create an end-customer using /transfer/originator/create (instead of /partner/customer/create)
    • You are on a direct diligence arrangement and tried to onboard your end-customer using /transfer/diligence/submit and /transfer/diligence/document/upload
    • You are on a delegated diligence arrangement and tried to onboard your end-customer using /transfer/questionnaire/create
    Troubleshooting steps
    1http code 400
    2{
    3 "error_type": "TRANSFER_ERROR",
    4 "error_code": "UNAUTHORIZED_ACCESS",
    5 "error_message": "you are not authorized to access this endpoint for your use case.",
    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 returned ACH transactions will have an ACH return code. By reading the code, you can troubleshoot and debug returned 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. Business accounts often automatically decline debits for security purposes. Your customer needs to inform their bank to allow debits that use your tax identifier.
    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

    RTP error codes

    failed RTP transactions will have a failure description. By reading the description, you can troubleshoot and debug failed transactions.

    Failure CodeDescriptionNotes
    AC03Creditor account is invalid
    AC04Account closed
    AC06Account is blocked
    AC07Creditor account closed
    DS24Waiting time expired due to incomplete orderReceiving bank timed out
    Was this helpful?
    Developer community
    GitHub
    GitHub
    Stack Overflow
    Stack Overflow
    YouTube
    YouTube
    Discord
    Discord