June 20, 2025

ACH return codes: What they mean and how to resolve them

Your business probably appreciates the speed, affordability, and security of ACH payments. Unfortunately, ACH transactions 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. This can save your company time and money and help 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, also called ACH return reason 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.

ACH return codes can be used by banks, financial institutions, businesses, and finance professionals. Understanding what they're for can help you remain compliant with the rules around ACH payments, and keep payment processing efficient.

How do ACH return codes work?

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 RDFI is the bank or financial institution receiving the ACH payment. It can assign an ACH return reason code if the payment doesn't meet certain criteria or there's some other issue that prevents it from accepting the payment.

The ODFI is the bank or financial institution sending the ACH payment. If it feels a payment return was improper, it can assign dishonored return codes to challenge it.

When a payment receives an ACH return code, take action to resolve the issue as quickly as possible. Delays can negatively affect your cash flow, which is why having ACH return code information at your fingertips is essential.

How are ACH return codes assigned?

Banks assign ACH return reason codes based on certain criteria—for example, if a sending account has insufficient funds to complete the transaction, or the receiving account has been closed. Incorrect payment information, from the account number to the dollar amount, may also trigger ACH return codes.

The regulatory body Nacha oversees this process, ensuring consistency in return codes across the ACH network. They also standardize codes, which makes it easier to both issue and respond to them. Some codes are more common for consumer transactions, while others pertain to business transactions.

Why understanding ACH return codes is important for your business

Learning at least some of the most common ACH return codes will help you quickly determine why any issues with your ACH payments have occurred and figure out whether a larger problem 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

Knowing how ACH return codes work and how to respond to them 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 ACH return codes. This breakdown of 20 of the most common ones gives you a good idea of how they work and the types of situations they can alert you to.

While these ACH return reason codes aren’t numbered in order from most to least used, 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 such a exceeded limit or incorrect format

R20

Non-transaction account

Account not set up for transactions

Getting an ACH return code can be stressful when you don’t know what it means 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.

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

You may occasionally run into some return codes outside the 20 we covered above. Here's a list of less common and international ACH return codes you might encounter, from R21 to R85, along with their descriptions and reasons:

Code

Description

Reason

R21

Invalid company identification

Entry may fail check digit validation or may not correspond to an individual or entity in the customer database

R22

Invalid individual ID number

Individual ID number specified in the entry detail record does not agree with the corresponding ID number in the customer database

R23

Credit entry refused by receiver

Receiver has notified the RDFI that it will not accept credit entries

R24

Duplicate entry

Trace number, date, dollar amount and/or other data matches another transaction

R25

Addenda error

Addenda records are only used with IAT entries and CTX entries

R26

Mandatory field error

Errors in the required fields or the formatting of the Nacha record

R27

Trace number does not follow the required format or contains invalid information

R28

Routing number check digit error

Routing transit number check digit is not equal to the computed check digit

R29

Corporate customer advises not authorized

Corporate receiver has advised the RDFI that the originator is not authorized to debit the account

R30

RDFI not participant in check truncation program

RDFI is not able to settle the entry because it is not a participant in the check truncation program

R31

Permissible return entry (CCD and CTX only)

RDFI has been notified by the receiver that the receiver authorizes the RDFI to return the entry

R32

RDFI non-settlement

RDFI is not able to settle the entry

R33

Return of XCK entry

RDFI 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 of the XCK entry

R34

Limited participation DFI

RDFI participation has been limited by a federal or state supervisor

R35

Return of improper debit entry

RDFI determines at its sole discretion that a debit entry was improperly initiated under the circumstances

R36

Return of improper credit entry

RDFI determines at its sole discretion that a credit entry was improperly initiated under the circumstances

R37

Source document presented for payment

Source document to which an ARC, BOC, or POP entry relates has been presented for payment

R38

Stop payment on source document

Stop payment order has been placed on the source document to which the ARC or BOC entry relates

R39

Improper source document

Source document to which an ARC, BOC, or POP entry relates has been presented for payment or is ineligible

R40

Return of ENR entry by federal government agency

Only the federal government or other authorized party may return ENR entries; this return reason code may only be used to return ENR entries

R41

Invalid transaction code

Transaction code is not valid for the type of account referenced in the entry

R42

Routing number / check digit error

Routing number and check digit in the entry do not match the corresponding fields in the addenda record

R43

Invalid DFI account number

Receiver's account number does not conform to the standards for that account type or the RDFI

R44

Invalid individual ID number / receiver ID number

Individual ID number/receiver ID number has an incorrect number of digits or contains non-numeric characters

R45

Invalid individual name / receiving company name

Name field is either blank or contains characters that make the name unintelligible

R46

Invalid representative payee indicator

Representative payee indicator is not valid

R47

Duplicate return

Entry is a duplicate of an entry previously returned by the RDFI

R48

Branch sold to another DFI

RDFI has sold branch that maintains receiver's account to another financial institution

R49

Reserved for Nacha use

This return reason code is reserved for future use by Nach

R50

State law affecting RCK acceptance

RDFI is located in a state that has not adopted Revised Article 4 of the Uniform Commercial Code and has elected not to accept RCK entries

R51

Item is ineligible or improper

Item to which the RCK entry relates is ineligible for collection or the RCK entry is otherwise improper

R52

Stop payment on item related to RCK entry

Stop payment order has been placed on the item to which the RCK entry relates

R53

Item and RCK entry presented for payment

Both RCK entry and original item have been presented for payment

R54

Receivable document presented for payment

Original receivable document to which the RCK entry relates has been presented for payment

R55

Source document presented for payment

Source document to which the BOC entry relates has been presented for payment

R56

Source document presented for payment

Source document to which the ARC entry relates has been presented for payment

R57

RDFI not qualified to participate

RDFI is not qualified to participate in the BOC program

R58

Payee deceased

Payee is deceased

R59

Payee account closed

Payee's account has been closed

R60

Entry settled prior to return

Entry has been settled and cannot be returned

R61

Misrouted return

Return entry has been misrouted to an incorrect ODFI

R62

Incorrect trace number

Trace number in the return entry does not match trace number in the original entry

R63

Incorrect dollar amount

Dollar amount in the return entry does not match dollar amount in the original entry

R64

Incorrect individual identification number

Individual ID number in the return entry does not match individual ID number in the original entry

R65

Incorrect transaction code

Transaction code in the return entry does not match transaction code in the original entry

R66

Incorrect company identification

Company identification in return entry does not match company identification in original entry

R67

Duplicate return

Return entry is a duplicate of a return entry previously sent by the RDFI

R68

Untimely return

Return entry was not sent within the timeframe established by Nacha Operating Rules

R69

Field error(s)

One or more field requirements are not met

R70

Permissible return entry not accepted / notice not provided

ODFI has not agreed to accept a permissible return entry, or ODFI did not request the return entry

R71

Misrouted dishonored return

Dishonored return entry has been misrouted to an incorrect RDFI

R72

Untimely dishonored return

Dishonored return entry was not sent within the timeframe established by Nacha Operating Rules

R73

Timely original return

RDFI is certifying that original return entry was sent within the established timeframe

R74

Corrected return

RDFI is correcting a previous return entry that contained incorrect information

R75

Return not a duplicate

RDFI is asserting that a return entry is not a duplicate of a previously transmitted return

R76

No errors found

RDFI has reviewed the return entry and found no errors in the return reason code or other return entry information

R77

Non-acceptance of R62 dishonored return

ODFI does not accept the dishonored return entry identified by return reason code R62

R78

Non-acceptance of R68 dishonored return

ODFI does not accept the dishonored return entry identified by return reason code R68

R79

Incorrect data in return entry

RDFI provided incorrect data in the return entry

R80

Cross-border payment coding error

Foreign exchange indicator, settlement method, or other cross-border payment information contains an error

R81

Non-participant in cross-border program

RDFI is not able to settle the entry because it is not a participant in the cross-border program

R82

Invalid foreign receiving DFI identification

Foreign receiving DFI identification is not valid

R83

Foreign receiving DFI unable to settle

Foreign receiving DFI is unable to settle the entry

R84

Entry not processed by gateway

Entry could not be processed by the gateway

R85

Incorrectly coded outbound international payment

Entry is incorrectly identified as an international ACH transaction

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 correcting the issue.

If you regularly experience failed ACH returns, you can use these codes to figure out why. Resolving failed ACH payments costs time, puts you at risk of paying invoices late, and costs money.

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

Duplicate payments

Incorrect recipient

Incorrect payment amount

Processing time

2–60 days, depending on return code

Must be requested within 24 hours of identifying the error

How to manage and resolve ACH returns

Reducing ACH returns requires taking proactive steps to prevent failed transactions and ensure smooth payment processing. Here are some best practices to follow when you receive a return code:

  • Understand return codes: Learn the meaning of each ACH return code to quickly identify and resolve issues. For example, for code R01 (insufficient funds), contact the payer and request that they remit payment from an alternative source.
  • 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 complete the ACH verification process, 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

Acting quickly when you get an ACH return code will help you get your payments back on track, minimize recurrences, and maintain strong vendor relationships.

Automate your AP with Ramp

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 Bill Pay lets you scan or upload documents such as invoices, purchase orders, vendor onboarding docs, and receipts instead of entering all that information manually.

And with the ability to streamline the payment process with features such as 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 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.

We’ve simplified our workflows while improving accuracy, and we are faster in closing with the help of automation. We could not have achieved this without the solutions Ramp brought to the table.

Kaustubh Khandelwal

VP of Finance, Poshmark

Poshmark

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