ACH return codes: Understanding what they mean

- What are ACH return codes?
- How ACH return codes are created and communicated
- Why understanding ACH return codes is important for your businesses
- List of the most common ACH return codes
- ACH returns vs. ACH reversals
- Managing ACH return codes effectively
- List of less common and international ACH return codes
- Automate your AP with Ramp

Your business probably appreciates the speed, affordability, and security of ACH payments. Unfortunately, ACH transactions do sometimes fail. When that happens, you get an ACH return code.
ACH return codes explain why an ACH payment failed—whether due to insufficient funds, invalid account numbers, or other issues.
Understanding these codes can help your accounts payable (AP) team identify patterns, resolve payment failures, and improve transaction success rates, saving your company time and money and helping ensure timely payments.
Let’s look at what ACH return codes are and why they matter and explore some of the most common codes to be aware of.
What are ACH return codes?
ACH Return Codes
ACH return codes are three-character error messages generated when an ACH transaction fails.
Each code begins with the letter "R" followed by a two-digit number. For example, R01 is the ACH return code for insufficient funds, and R04 is the code for an invalid account number. These standardized codes provide a clear explanation for the failure, making it easier for your business to diagnose and resolve payment issues.
How ACH return codes are created and communicated
When an ACH payment fails, the Receiving Depository Financial Institution (RDFI) assigns a return code explaining the reason. This code is sent to the Originating Depository Financial Institution (ODFI), which then relays the information to the business that initiated the transaction.
The National Automated Clearing House Association (Nacha) oversees this process, ensuring consistency in return codes across the ACH network.
Why understanding ACH return codes is important for your businesses
Understanding ACH return codes will help you quickly determine why any issues with your ACH payments have occurred and figure out whether a larger problem also needs addressing. By understanding these codes, you’ll be able to:
- Identify payment issues: These codes provide a standardized reason for failed transactions so your business can address problems quickly
- Enhance communication: Return codes create transparency between banks and your business, helping resolve issues efficiently and reducing delays
- Improve transaction success rates: By analyzing return codes, your business can detect recurring issues, adjust payment methods, and take proactive steps to reduce failures
- Ensure Nacha compliance: Monitoring return codes helps your business stay within Nacha’s 15% return rate threshold, avoiding penalties and maintaining uninterrupted ACH services
Understanding ACH return codes is key to optimizing payment workflows, reducing failed transactions, and ensuring compliance with ACH network rules.
List of the most common ACH return codes
There are 85 different ACH return codes. For now, this breakdown of 20 of the most common codes can give you a good idea of how they work and the types of situations they can alert you to. You can find the less common and international codes toward the end of this article.
While these aren’t all numbered in order from most to least common, the first four return codes—R01, R02, R03, and R04—tend to be the most commonly encountered and may be worth memorizing.
Code | Description | Reason |
---|---|---|
R01 | Insufficient funds | Account doesn’t have enough funds |
R02 | Account closed | Account closed by bank or account holder |
R03 | No account/unable to locate | Valid account number format with no account match |
R04 | Invalid account number | Incorrect or invalid account number |
R05 | Unauthorized debit | Account holder did not authorize transaction |
R06 | Returned per ODFI’s request | Originating bank requested return of funds |
R07 | Authorization revoked | Account holder no longer approving transaction |
R08 | Payment stopped | Account holder placed stop payment on transaction |
R09 | Uncollected funds | Funds are unavailable to cover transaction |
R10 | Customer advises not authorized | Account holder claims transaction is unauthorized |
R11 | Check truncation entry return | Check processed incorrectly |
R12 | Branch sold to another DFI | Another institution bought account holder's branch |
R13 | Invalid ACH routing number | Incorrect routing number |
R14 | Representative payee deceased | Person managing funds has passed away |
R15 | Beneficiary or account holder deceased | Beneficiary or account holder death paused transactions; awaiting proper documents |
R16 | Account frozen | Frozen account preventing transactions |
R17 | File record edit criteria | File data integrity issues |
R18 | Improper effective entry date | Invalid entry date, likely due to weekend or holiday |
R19 | Amount field error | Amount errors like exceeded limit or incorrect format |
R20 | Non-transaction account | Account not set up for transactions |
As you can see, ACH return codes can alert you to a wide variety of reasons for an ACH payment failure such as insufficient funds, a closed account, or an invalid account number. That information will help you determine how to proceed in fixing the issue.
If you’re experiencing failed ACH returns regularly, you’ll want to use these codes to figure out why. Having to resolve failed ACH payments costs time and puts you at risk of paying invoices late, and it costs money too.
ACH returns vs. ACH reversals
ACH returns and ACH reversals are similar-sounding terms with very different meanings. Understanding the difference will help you manage transactions more effectively and avoid confusion.
For example, if you make an ACH payment by mistake and want to reverse it, reading about ACH returns won’t be helpful. Likewise, if you experience an ACH payment failure, researching ACH reversals will only cause confusion.
To clarify, let’s break down the differences between ACH returns and ACH reversals:
Criteria | ACH return | ACH reversal |
---|---|---|
Definition | A failed payment when an ACH transaction can’t be processed successfully | A request to reverse a completed ACH payment due to an error |
Initiator | The receiving bank (RDFI) when an issue is detected | The sending bank (ODFI) upon identifying a mistake |
Common reasons | Insufficient funds | Duplicate payments |
Processing time | 2–60 days, depending on return code | Must be requested within 24 hours of identifying the error |
Managing ACH return codes effectively
Reducing ACH returns requires taking proactive steps to prevent failed transactions and ensure smooth payment processing. Here are some best practices to follow:
- Understand return codes: Learn the meaning of each ACH return code to quickly identify and resolve issues
- Verify account details: Double-check vendor account and routing numbers before processing payments
- Notify vendors promptly: Inform customers when a transaction is returned and provide guidance on how to resolve it
- Use account verification tools: Implement solutions that confirm account ownership and check for sufficient funds before initiating payments
- Monitor return patterns: Analyze return data regularly to spot recurring issues and adjust processes accordingly
- Stay Nacha-compliant: Keep return rates within Nacha thresholds to avoid penalties and ensure uninterrupted ACH access
Understanding how to proceed when you get an ACH return code will help you get your payments back on track quickly, minimize recurrences, and maintain strong vendor relationships.
All payments in one place? Check.
Handle all domestic and global vendor payments on a single platform—by check, card, ACH, or international wire.

List of less common and international ACH return codes
Getting an ACH return code can be stressful when you don’t know what they mean or what to do about it. Understanding these codes and being able to quickly look up their meaning will make it much easier to determine your next steps and resolve any issues you encounter.
We’ve already gone over the most common ACH return codes. Here is the list of less common and international ACH return codes you might encounter, from R21 to R85, along with their descriptions:
Code | Description |
---|---|
R21 | Invalid company identification |
R22 | Invalid individual ID number |
R23 | Credit entry refused by receiver |
R24 | Duplicate entry |
R25 | Addenda error |
R26 | Mandatory field error |
R27 | Trace number error |
R28 | Routing number check digit error |
R29 | Corporate customer advises not authorized |
R30 | RDFI not participant in check truncation program |
R31 | Permissible return entry (CCD and CTX only) |
R32 | RDFI non-settlement |
R33 | Return of XCK entry |
R34 | Limited participation DFI |
R35 | Return of improper debit entry |
R36 | Return of improper credit entry |
R37 | Source document presented for payment |
R38 | Stop payment on source document |
R39 | Improper source document |
R40 | Return of ENR entry |
R41 | Invalid transaction code |
R42 | Routing number / account number mismatch |
R43 | Invalid DFI account number |
R44 | Invalid individual identifier |
R45 | Invalid individual name |
R46 | Invalid representative payee indicator |
R47 | Duplicate enrollment |
R50 | State law affecting RCK acceptance |
R51 | Item is ineligible, notice not provided |
R52 | Stop payment on item |
R53 | Item and ACH entry presented for payment |
R61 | Misrouted return |
R62 | Incorrect trace number |
R63 | Incorrect dollar amount |
R64 | Incorrect individual identification |
R65 | Incorrect transaction code |
R66 | Incorrect company identification |
R67 | Duplicate return |
R68 | Untimely return |
R69 | Multiple errors |
R70 | Permissible return entry not accepted / notice not provided |
R71 | Misrouted dishonored return |
R72 | Untimely dishonored return |
R73 | Timely original return |
R74 | Corrected return |
R75 | Return not a duplicate |
R76 | No errors found |
R77 | Non-acceptance of R62 dishonored return |
R78 | Non-acceptance of R68 dishonored return |
R79 | Incorrect data in return entry |
R80 | IAT entry |
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 coded outbound international payment |
Automate your AP with Ramp
ACH payments can fail for reasons beyond your control, so it’s important to be familiar with ACH return codes and how they work so you can resolve those issues quickly. Of course, you’ll also want to minimize ACH payment failures that are within your control as much as possible.
With manual AP processes, data entry mistakes can lead to returned ACH payments or the need for an ACH reversal.
You can avoid these errors and more by automating your AP process. Ramp AP software lets you scan or upload documents like invoices, purchase orders, vendor onboarding docs, and receipts instead of entering all that info manually. And with the ability to streamline the payment process with features like automated workflows, two-way and three-way matching, and error alerts, you'll have complete visibility into your cash flow, too.
What else could Ramp Bill Pay do to streamline your AP process? Find out with a demo.
This post includes general information about ACH payments. For help with ACH functionality specific to Ramp, visit Ramp Support for more details.

Don't miss these
“Our previous bill pay process probably took a good 10 hours per AP batch. Now it just takes a couple of minutes between getting an invoice entered, approved, and processed.”
Jason Hershey
VP of Finance and Accounting, Hospital Association of Oregon

“When looking for a procure-to-pay solution we wanted to make everyone’s life easier. We wanted a one-click type of solution, and that’s what we’ve achieved with Ramp.”
Mandy Mobley
Finance Invoice & Expense Coordinator, Crossings Community Church

“We no longer have to comb through expense records for the whole month — having everything in one spot has been really convenient. Ramp's made things more streamlined and easy for us to stay on top of. It's been a night and day difference.”
Fahem Islam
Accounting Associate, Snapdocs

“It's great to be able to park our operating cash in the Ramp Business Account where it earns an actual return and then also pay the bills from that account to maximize float.”
Mike Rizzo
Accounting Manager, MakeStickers

“The practice managers love Ramp, it allows them to keep some agency for paying practice expenses. They like that they can instantaneously attach receipts at the time of transaction, and that they can text back-and-forth with the automated system. We've gotten a lot of good feedback from users.”
Greg Finn
Director of FP&A, Align ENTA

“The reason I've been such a super fan of Ramp is the product velocity. Not only is it incredibly beneficial to the user, it’s also something that gives me confidence in your ability to continue to pull away from other products.”
Tyler Bliha
CEO, Abode

“Switching to Ramp for Bill Pay saved us not only time but also a significant amount of money. Our previous AP automation tool cost us around $40,000 per year, and it wasn’t even working properly. Ramp is far more functional, and we’re getting the benefits at a fraction of the cost.”
Frank Byers
Controller, The Second City
