A graphic showing a failed ACH transaction with a red return" stamp and a code"

What Are ACH Return Codes? A Guide to Common Codes

Automated clearing house (ACH) transfers are often a convenient and fast way of sending money. However, when something goes wrong, the ACH payment might be automatically returned. To determine why the payment didn’t process correctly, it is essential to understand the meaning of ACH return codes. What are ACH return codes? This guide will cover all common codes and explain the necessary actions to take.

ACH Return Code R01

The R01 code indicates that there were insufficient funds for your ACH payments. This return code occurs when you attempt to debit a customer’s bank account, but they do not have sufficient funds in their account for the requested payment. If this happens, you have a few options. You can ask the customer to add funds to the account before attempting your transaction a second time. You can also try submitting small payment requests in the hopes that their account still has some funds left.

ACH Return Code R02

If you get the R02 code with your returned ACH payment, it means that someone has closed the account. This can occur when the customer has closed their account or when the RDFI has intervened to close the account. When you receive this code, it can be tricky to process the payment. Typically, you should halt service to the customer until you can resolve the issue. Try contacting the customer and asking them for a different bank account. You may need to switch to an alternative payment method if they do not have a different account.

ACH return code R02 for account closed explained.

ACH Return Code R03

The ACH R03 code means that the account number you entered has a valid structure, but the actual account does not exist. This code usually occurs when you enter a routing number or account number incorrectly. It can also show up if the customer’s name does not match the account number.

The R03 ACH return code typically indicates a user error. You can often resolve the issue by double-checking your information and entering it correctly. There is also a chance that the customer provided you with incorrect information, so please verify if it was an error on their part. Obtaining a voided check from them will help ensure you have the correct information.

ACH Return Code R04

This code is quite similar to an R03 code. Like the R03, this indicates a problem with the account number you entered. However, the R04 code specifies that the numbers you entered were in an invalid structure. This usually means you entered a number with too many or too few digits to be a valid account or routing number.

You can resolve this issue by obtaining the correct account information and resubmitting your ACH payment requests. Depending on the situation, you may simply need to correct a typo, or you might need to contact the customer to obtain the correct number.

ACH Return Code R07

The R07 code is somewhat rare, but it appears frequently enough that you should be familiar with its meaning. An R07 code means that your customer has revoked their authorization for sending you ACH payments. Can ACH payments be returned this way accidentally? No, the customer has to sign an affidavit, so this return is always intentional.

If a customer revokes ACH authorization for your organization, you should immediately halt services. It will be necessary to discuss the issue directly with the customer. You may need to negotiate other payment options, and in some cases, lawsuits may be necessary.

ACH Return Code R09

An R09 return code indicates that there are insufficient funds in the account to cover all its outstanding debt. The bank account might have enough funds for your specific ACH transfer. However, due to a high value of uncollected checks, the total available funds are less than the amount of debits for the account.

Similar to an error code due to insufficient funds, you have the option of waiting a few weeks and trying the payment again. However, it can often be more effective to discuss the issue with the client. Once the customer adds more funds to the account to cover all the debits, your transfer can proceed.

ACH Return Code R16

An R16 error code signals that the information you entered was fine, but the account cannot process transactions anymore. An R16 code only occurs when someone has frozen the bank account. This may occur due to RDFI actions or legal actions.
You cannot get the account unfrozen yourself, so you will need to halt payments for the time being. Depending on the situation, the customer may be able to provide you with an alternative account to use for payments.

ACH return code R16 for account frozen explained.

ACH Return Code R19

When you notice an R19 error code, you usually just need to double-check all the information for your transfer. The R19 indicates a problem with the amount field. An ACH transfer must be for an amount greater than zero and less than $25,001, and it must contain no non-numeric symbols. The R19 code appears when people make typos.

With the R19 code, you simply need to verify that you have submitted a request for a valid amount of funds. If you require a payment of more than $25,000, please contact the customer to discuss alternative payment arrangements.

ACH Return Code R20

The R20 code indicates that you have deposited funds into a bank account that does not support ACH transfers. Typically, this code appears when a customer provides their standard account information but does not realize that the account cannot process ACH transfers.

Fixing this error code will require a conversation with your customer. You can ask them to provide you with a different bank account number or enable ACH transactions on their current account.

ACH Return Code R24

An R24 error code indicates that the transaction appears to be a duplicate entry. This can occur if the date, dollar amount, and other identifying information for your ACH transfer match those of another transaction.

Handling this error can be tricky because the originator might have already reversed one of the duplicate transactions. Generating a reversal transaction for both duplicated items can just cause further hassle. You will need to contact the customer and your ACH processing service to resolve the issue.

Ultimately, there are several reasons why your ACH transfer might go wrong. Have you encountered any of these error codes before? If you don’t want ACH returns to be a big hassle, Checkissuing.com can help. With our reliable payment services, you can expect your ACH transfers to be sent out on time. Get in touch with us today to learn more about our services.

Last updated: September 2025

Skip to content
CheckIssuing
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.