The ABCs of ACH Return Codes

The ABCs of ACH Return Codes

Electronic payments between bank accounts require special supervision. The Automated Clearing House (ACH) is a system for handling electronic bank-to-bank transactions in the US. ACH payments are a popular option for US-based subscription processing and other types of recurring payments.

The system of the Automated Clearing House is administered by the National Automated Clearing House Association (NACHA). The NACHA, as the supreme self-regulating body for monitoring such payments, keeps order and provides security.

If the NACHA doesn’t validate a transaction, an ACH return occurs and the originator receives a notification in the form of a return code.

The purpose of this guide is to explain the meaning of ACH return codes and present the most important codes.

What Are ACH Return Codes?

What are the ACH return codes and why they occur.

When an ACH transaction is returned to an organization, it comes with a certain return code. Return codes are practical labels used to notify originators, receivers, and banks participating in electronic transactions of potential issues with payments.

Each code describes the reason why assets have not been collected from the originator’s account by the Originating Depository Financial Institution (ODFI) or why the Receiving Depository Financial Institution (RDFI) has not managed to transfer those assets to the recipient’s account.

Read more about the definitions and differences between ODFI and RDFI.

ACH Return Codes Explained

Whenever an ACH transaction is declined, the organization in question receives a return code notifying them of the issue in the payment process. Return codes help all parties in the payment process to eliminate some existing and potential problems in order to speed up the ACH payment processing time.

Now, let’s break down the return codes.

R01 – Insufficient Funds

The R01 ACH return code means that there aren’t enough funds on the originator’s account to cover the value of the debit entry. It can be relaunched only twice, in addition to the first attempt (three times altogether).

Return time frame: Two banking days.

R02 – Account Closed

The client or the RDFI has closed the account that used to be active. Contact the account holder for a different bank account.

Return time frame: Two banking days.

R03 – No Account/Unable to Locate Account

The R03 ACH return code denotes an account that doesn’t exist, or it belongs to a different individual from the one from the debit entry.

Contact the client to double-check the bank account number and the client’s identity.

Return time frame: Two banking days.

R04 – Invalid Account Number Structure

The structure of the account number is not correct. There are either wrong digits in the number or the number has failed a check digit validation.

Contact the client to ask for the accurate bank account number.

Return time frame: Two banking days.

R05 – Unauthorized Debit to a Consumer Account

There’s a block on transactions to the client’s account.

The originator’s entry to that account has not been authorized by the Receiver. It’s necessary to contact the client and ask them to remove the ban on transactions or provide a different bank account, without any debit restrictions for your organization.

Return time frame: Two banking days.

R06 – Return per ODFI’s Request

The R06 ACH return code informs that there has been an ODFI’s request to the RDFI, by which the latter is to return an erroneous entry. The ODFI needs to compensate the RDFI for the return of an ACH-entry.

The authorization that was earlier granted to the Originator by the Receiver has been revoked in the meantime. All the present and scheduled payments to that account are to be suspended until the problem is resolved with the client to avoid recurring returned payments.

Return time frame: Sixty calendar days.

R08 – Payment Stopped

R08 Payment stopped ACH return code

There’s a stop on this entry, ordered by the receiver to prevent the payment. The RDFI needs to confirm that the receiver wanted to stop the payment in question. This block may be lifted at the receiver’s request, which is why contacting the client to resolve the issue is recommended.

Return time frame: Two banking days.

R09 – Uncollected Funds

The dollar value of the payment may be covered with the book balance, which is sufficient for the transaction, but the dollar value of the payment in progress reduces the available balance below the dollar value of the debit entry.

Return time frame: Two banking days.

R10 – Customer Advises Not Authorized, Improper, Ineligible, or Part of an Incomplete Transaction

The receiver has informed the RDFI that the entry is not authorized, improper, ineligible, or part of an incomplete transaction. Common examples include missing debit notices, the signature is not genuine, or some items have been altered.

Receivers have the right to contact the RDFI for immediate credit in case of an authorized debit.

It’s necessary to contact the client immediately and ask for a different bank account number or to get authorization to debit the bank account in question.

Return time frame: Sixty calendar days.

R11 – Customer Advises Entry Not in Accordance with the Terms of the Authorization

This ACH return code is used when the RDFI wants to return an entry arranged by the originator and the receiver in case of an error that isn’t in accordance with the rules of the authorization. For instance, the amount is different from the agreed one, the payment date is wrong, or the receiver didn’t receive a notice prior to the entry.

When the originator corrects the error, the entry can be submitted again.

R12 – Account Sold to Another DFI

When an account is sold to another depository financial institution (DFI), this ACH return code is sent to the financial institution trying to debit the account in question.

The ODFI needs to ask the client for their new bank account number and update the data in their automated payment schedule, if any.

Return time frame: Two banking days.

R13 – Invalid ACH Routing Number

This return code is obtained when an invalid ACH routing number is a part of an entry.

Contact the client to verify the routing number or enter the new one if this number has been changed.

R14 – Representative Payee Deceased or Unable to Continue in that Capacity

The representative payee is someone that has the authorization to receive entries in the name and on behalf of people who can’t accept such entries, like minors and legally incapacitated adults. The beneficiary is not deceased, so the new representative payee is to be appointed.

R15 – Beneficiary or Account Holder Deceased

The beneficiary doesn’t have to be the account holder. Hence, there are two possible use cases:

  • The beneficiary, the person who has the right to use the benefits of the account, is deceased.
  • The person who is the owner of the account is deceased (not a representative payee).

R16 – Account Frozen

The assets on the account are not available, due to the restrictions imposed by the legal authorities or the RDFI.

The account may be frozen if the Office of Foreign Assets Control (OFAC) instructs the RDFI to do so.

Until the account in action is made available again, ask the client to provide another bank account that can be debited.

R17 – File Record Edit Criteria

If some fields on the entry cannot be processed by the RDFI, it’s necessary to highlight them on the return so that the payer knows what sections to edit and enable the payment.

R18 – Improper Effective Entry Date

R18 Improper effective entry date ACH return code

The R18 ACH return code is sent when the due date for a credit entry comes two banking days after the banking day of payment processing specified by an ACH-officer. Another reason for sending this code is when the effective date comes after the processing window.

R19 – Amount Field Error

The amount of the entry is above $25,000, or the entry is either zero or is not numeric.

R20 – Non-Transaction Account

An entry has been made to an account that is not meant for B2B transactions, such as a savings account. Transactions to this account are restricted or prohibited so ask the client to provide a different bank account.

R21 – Invalid Company Identification

The identification number via which the company is identified and verified is either incorrect or invalid. It’s necessary to double-check the payment info and correct the errors in the company identification field.

R22 – Invalid Individual ID-Number

For the Customer initiated entry (CIE) and the MET-entry in which the original individual ID is not used, the receiver has informed the RDFI that the identification number used by the originator is wrong.

R23 – Credit Entry Refused by Receiver

The R23 ACH return code is generated when a receiver declines the entry for the following reasons:

  • The account is involved in a legal procedure.
  • The amount requested by the receiver has not been remitted.

R24 – Duplicate Entry

Double payment entry returns R24 ACH code

The R24 ACH return code means that the RDFI recognizes an entry as a duplicate of another previous entry in terms of date, transaction number, the amount of money involved or any other information. In that case, the RDFI needs to take into account that it’s highly likely that the originator has already noticed the error and issued an order for a reversal transaction.

R25 – Addenda Error

The value of the addenda record indicator is incorrect and the code is either missing, invalid, or it is out of sequence.

R26 – Mandatory Field Error

Data from one or more mandatory fields is either missing or inaccurate.

R27 – Trace Number Error

The original entry trace number either doesn’t correspond adequately in the addenda record or it’s missing. The third option is that it doesn’t correspond to the change of the entry notification.

R28 – Routing Number Check Digital Error

This ACH return code notifies that there’s an error in the check digit for the account routing number.

R29 – Corporate Customer Advises not Authorized

The R29 return code is sent when the receiver notifies the RDFI that the originator of the payment in question doesn’t have the authorization to debit the receiver’s account.

It’s necessary to contact the client and cancel all the scheduled automatic payments in order to avoid recurring returns until the client provides proper authorizations.

R30 – RDFI not Participant in Check Truncation Program

This return code indicates that the RDFI does not take part in a check truncation program.

R31 – Permissible Return Entry

If the ODFI wants to accept a CCD (Cash Concentration and Disbursement) or CTX (Corporate Trade Exchange) entry, the RDFI is allowed to return it.

R32 – RDFI Non-Settlement

The RDFI is not capable of settling the entry.

R33 – Return of XCK Entry

The RDFI has decided to return an XCK entry (Destroyed Check Entry).

R34 – Limited Participation DFI

The state or federal supervisor has limited the participation of the RDFI.

R35 – Return of Improper Debit Entry

This return code refers to debit entries that do not have the permission to loan accounts or for CIE-entries.

R36 – Return of Improper Credit Entry

ACH credit entries cannot be used with XCK, TEL, POP, RCK, BOC, and ARC.

R37 – Source Document Presented for Payment

The source document referring to POP, BOX, or ARC has been prepared for the transaction

Additional ACH Return Codes

Less frequent ACH return codes.

In addition to the explained ACH return codes, there are some codes that aren’t used as frequently as the ones above. We hereby present them in the table below.

Return code Reason for return

  • R38 Stop Payment on Source Document
  • R39 Improper Source Document
  • R40 Return on ENR Entry by Federal Government Agency
  • R41 Invalid Transaction Code
  • R42 Routing Number/Check Digit Error
  • R43 Invalid DFI Account Number
  • R44 Invalid Individual ID Number/Identification Number
  • R45 Invalid Individual Name/Company Name
  • R46 Invalid Representative Payee Indicator
  • R47 Duplicate Enrollment
  • R50 State Law Affecting RCK Acceptance
  • R51 Notice not Provided/Signature not Authentic/Ineligible Conversion
  • R52 Stop Payment on Item Related to RCK Entry
  • R53 Item and ACH Entry Presented for Payment
  • R61 Misrouted Return
  • R62 Return of Erroneous or Reversing Debt
  • R67 Duplicate Return
  • R68 Untimely Return
  • R69 Field Error
  • R70 Permissible Return Entry not Accepted
  • R71 Misrouted Dishonored Return
  • R72 Untimely Dishonored Return
  • R73 Timely Original Return
  • R74 Corrected Return
  • R75 Return not Duplicate
  • R76 No Errors Found
  • R77 Non-Acceptance of R62 Dishonored Return
  • R80 IAT-Entry Coding Errors
  • R81 Non-Participant in IAT-Program
  • R82 Invalid Foreign Receiving DFI Identification
  • R83 Foreign Receiving DFI Unable to Settle
  • R84 Entry not Processed by Gateway
  • R85 Incorrectly Outbound International Payment


This article provided an extensive list of all ACH return codes and what each code stands for.

To learn how to integrate ACH payments into your business check out our Guide on how to accept ACH payments.

Use this as a resource next time your payment processing integration or application returns an unknown code. Resolve any potential issues to complete online payments in an efficient and secure manner.