February 17, 2025

ACH return codes: Understanding what they mean

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?

definition
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:

  1. Identify payment issues: These codes provide a standardized reason for failed transactions so your business can address problems quickly
  2. Enhance communication: Return codes create transparency between banks and your business, helping resolve issues efficiently and reducing delays
  3. Improve transaction success rates: By analyzing return codes, your business can detect recurring issues, adjust payment methods, and take proactive steps to reduce failures
  4. 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
Invalid account number
Unauthorized payment

Duplicate payments
Incorrect recipient
Incorrect payment amount
Incorrect payment date

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.

abstract graphic of calendar and a schedule button

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.

Try Ramp for free

This post includes general information about ACH payments. For help with ACH functionality specific to Ramp, visit Ramp Support for more details.

Share with
Ashley NguyenContent Strategist, Ramp
Ashley is a Content Strategist and Marketer at Ramp. Prior to Ramp, she led B2C growth strategies at Search Nurture, Roku, and TikTok. Ashley holds a B.S. in Managerial Economics from the University of California, Davis.
Ramp is dedicated to helping businesses of all sizes make informed decisions. We adhere to strict editorial guidelines to ensure that our content meets and maintains our high standards.

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

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

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

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

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

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

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

the second city