April 2, 2026

ACH return codes explained: R01 to R85

Explore this topicOpen ChatGPT

ACH return codes are standardized error messages that explain exactly why an ACH payment failed, whether due to insufficient funds, a closed account, or invalid account details. Understanding these codes helps your accounts payable team identify patterns, resolve failures faster, and improve transaction success rates.

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 2-digit number. For example, R01 is the ACH return code for insufficient funds, and R04 is the code for an invalid account number.

These codes apply to both ACH withdrawal and ACH credit transactions. 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.

There are two key timeframes to know:

  • 2 banking days: The RDFI must process standard returns such as R01, R02, R03, and R04 within 2 banking days of the settlement date.
  • 60 calendar days: Returns for unauthorized or revoked authorization transactions, such as R05, R07, and R10, can occur up to 60 calendar days after the original transaction.

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.

Why ACH payments get returned

ACH payments can be returned for several reasons, which generally fall into five main categories. Understanding these categories makes it easier to diagnose issues before you even look up the specific return code.

Insufficient funds and financial issues

These returns happen due to ACH NSF (non-sufficient funds) situations, uncollected funds, or other account balance problems. They're often temporary, and you may be able to retry the payment after a few days. Codes like R01 and R09 fall into this category.

Account problems and closures

These returns occur because of closed accounts, invalid account numbers, incorrect DFI account number errors, or accounts that have been sold to another financial institution. Codes like R02, R03, R04, and R12 are common examples.

Authorization and fraud concerns

This category includes unauthorized debits, revoked authorizations, and customer disputes. There's an important distinction between consumer authorization issues (like R10) and corporate authorization issues (like R29), which have different rules and timeframes.

Administrative and formatting errors

These returns are caused by technical mistakes such as invalid routing numbers, duplicate entries, mandatory field errors in the payment file, or issues with file record edit criteria. Codes like R13, R17, R24, and R26 fall here.

Timing and processing constraints

These returns relate to processing rules, such as improper effective entry dates, untimely returns by the RDFI, or attempts to transact with a non-transaction account. Codes like R18 and R20 are typical examples.

Complete ACH return codes list from R01 to R85

There are 85 ACH return codes. This comprehensive reference is broken into logical groupings so you can quickly find the code you're looking for.

R01 to R10 Nacha return codes

These are the most frequently encountered ACH return codes. The first four—R01, R02, R03, and R04—may be worth memorizing.

CodeDescriptionCommon cause
R01Insufficient FundsThe account lacks the funds to cover the debit
R02Account ClosedThe bank account is no longer active
R03No Account/Unable to LocateThe account number does not match the name or is incorrect
R04Invalid Account NumberThe account number format is incorrect
R05Unauthorized DebitA debit was made to a consumer account not authorized for ACH
R06Returned per ODFI RequestThe originating bank requested the return of the entry
R07Authorization RevokedThe customer has revoked authorization for this payment
R08Payment StoppedThe customer has placed a stop payment on this transaction
R09Uncollected FundsFunds are not yet available in the account to cover the debit
R10Customer Advises Not AuthorizedThe customer claims they did not authorize the transaction

R11 to R20 return reason codes

CodeDescriptionCommon cause
R11Check Truncation Entry ReturnUsed to return a check truncation entry
R12Account SoldThe account has been sold to another financial institution
R13Invalid ACH Routing NumberThe routing number is incorrect or does not exist
R14Representative Payee DeceasedThe representative payee is deceased or unable to act
R15Beneficiary DeceasedThe beneficiary of a government payment is deceased
R16Account FrozenThe account is frozen due to legal action or bank policy
R17File Record Edit CriteriaA field in the entry is invalid or not allowed
R18Improper Effective Entry DateThe effective date for the transaction is invalid
R19Amount Field ErrorThe amount field is non-numeric, zero, or exceeds the limit
R20Non-Transaction AccountThe account is not set up for ACH transactions (e.g., some savings accounts)

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

R21 to R30 ACH reject codes

CodeDescriptionCommon cause
R21Invalid Company IdentificationThe company ID in the entry is incorrect
R22Invalid Individual ID NumberThe individual ID number is incorrect
R23Credit Entry Refused by ReceiverThe receiver has refused to accept a credit entry
R24Duplicate EntryThe transaction appears to be a duplicate of a previous one
R25Addenda ErrorThe addenda record contains incorrect information
R26Mandatory Field ErrorA required field in the entry is missing or incorrect
R27Trace Number ErrorThe trace number is invalid or doesn't match the file
R28Routing Number Check Digit ErrorThe check digit for the routing number is invalid
R29Corporate Customer Advises Not AuthorizedA corporate customer claims the debit was not authorized
R30RDFI Not Participant in Check TruncationThe receiving bank does not participate in the check truncation program

R31 to R40 return codes

CodeDescriptionCommon cause
R31Permissible Return EntryThe RDFI is returning a permissible entry (CCD and CTX only)
R32RDFI Non-SettlementThe RDFI is unable to settle the entry
R33Return of XCK EntryUsed to return an XCK (destroyed check) entry
R34Limited Participation DFIThe RDFI's participation in the ACH network is limited
R35Return of Improper Debit EntryA debit was sent to an account that only accepts credits
R36Return of Improper Credit EntryA credit was sent to an account that only accepts debits
R37Source Document Presented for PaymentThe original check was presented for payment
R38Stop Payment on Source DocumentA stop payment was placed on the original check
R39Improper Source DocumentThe source document for an ACH entry is invalid
R40Return of ENR Entry by Federal Government AgencyA federal agency is returning an Automated Enrollment (ENR) entry

R41 to R50 return codes

CodeDescriptionCommon cause
R41Invalid Transaction CodeThe transaction code in the entry is invalid for the account type
R42Routing Number/Check Digit ErrorThe routing number and check digit are from a non-participant
R43Invalid DFI Account NumberThe account number structure is invalid at the RDFI
R44Invalid Individual ID NumberThe individual ID number is incorrect or missing
R45Invalid Individual Name/Company NameThe name provided does not match the account holder's name
R46Invalid Representative Payee IndicatorThe representative payee indicator code is invalid
R47Duplicate EnrollmentThe ENR entry is a duplicate of a previous enrollment
R50State Law Affecting RCK AcceptanceState law prohibits the acceptance of a Re-presented Check (RCK) entry

R51 to R69 return codes

CodeDescriptionCommon cause
R51Item is Ineligible, Notice Not ProvidedAn RCK entry is ineligible (e.g., notice was not provided)
R52Stop Payment on ItemA stop payment was placed on the original check (RCK)
R53Item and ACH Entry Presented for PaymentBoth the original check and the RCK entry were presented
R54Receivable Document Presented for PaymentThe original receivable document has been presented for payment
R55Source Document Presented for Payment (BOC)The source document for a BOC entry has been presented for payment
R56Source Document Presented for Payment (ARC)The source document for an ARC entry has been presented for payment
R57RDFI Not Qualified to ParticipateThe RDFI is not qualified to participate in the BOC program
R58Payee DeceasedThe payee is deceased
R59Payee Account ClosedThe payee's account has been closed
R60Entry Settled Prior to ReturnThe entry has been settled and cannot be returned
R61Misrouted ReturnThe return was sent to the wrong ODFI
R62Incorrect Trace NumberThe trace number in a return is incorrect
R63Incorrect Dollar AmountThe dollar amount in a return is incorrect
R64Incorrect Individual IdentificationThe individual ID in a return is incorrect
R65Incorrect Transaction CodeThe transaction code in the return entry does not match the original
R66Incorrect Company IdentificationThe company identification in the return does not match the original
R67Duplicate ReturnThe return is a duplicate of a previously sent return
R68Untimely ReturnThe return was not sent within the required timeframe
R69Field Error(s)Multiple fields in the return entry are incorrect

R70 to R85 return codes

CodeDescriptionCommon cause
R70Permissible Return Entry Not AcceptedThe ODFI has not agreed to accept a permissible return entry
R71Misrouted Dishonored ReturnA dishonored return was sent to the wrong ODFI
R72Untimely Dishonored ReturnA dishonored return was not sent within the required timeframe
R73Timely Original ReturnThe RDFI claims the original return was timely
R74Corrected ReturnA previous return is being corrected
R75Original Return Not a DuplicateThe ODFI claims the original return was not a duplicate
R76No Errors FoundThe RDFI found no errors in the original return
R77Non-Acceptance of R62 Dishonored ReturnThe ODFI is not accepting a dishonored return for an R62
R78Non-Acceptance of R68 Dishonored ReturnThe ODFI does not accept the dishonored return for an R68
R79Incorrect Data in Return EntryThe RDFI provided incorrect data in the return entry
R80IAT Entry Coding ErrorAn International ACH Transaction (IAT) has a coding error
R81Non-Participant in IATThe gateway does not participate in the IAT network
R82Invalid Foreign Receiving DFI IdentificationThe foreign bank identification is invalid
R83Foreign Receiving DFI Unable to SettleThe foreign bank cannot settle the transaction
R84Entry Not Processed by GatewayThe IAT entry was not processed by the gateway operator
R85Incorrectly Coded Outbound International PaymentAn outbound international payment was coded as a domestic transaction

Most common ACH return codes explained

Finance teams most frequently encounter a specific set of codes. Understanding what triggered them and the immediate next steps is crucial for resolving payment issues quickly.

R01 ACH return code for insufficient funds

The account lacks adequate funds to cover the debit. This is the ACH equivalent of a declined credit card and is often a temporary issue. You may be able to retry the payment after a few days once the account holder has replenished their balance.

R02 return code for account closed

The account no longer exists. You need to contact the customer or vendor immediately to get updated banking information. Don't retry the payment to this account—it will fail again.

R03 return code for no account or unable to locate account

The account number provided doesn't match the records at the receiving bank. Verify the account and routing numbers with the account holder before attempting the payment again.

R04 ACH return code for invalid account number

The account number's structure is incorrect. It may have the wrong number of digits or an invalid format. Collect the corrected account details from the customer before resubmitting the payment.

R07 return code for authorization revoked

The customer has officially canceled their authorization for this specific recurring debit. You must stop all future debits and contact the customer to discuss the cancellation. Retrying this payment without new authorization violates Nacha rules.

R08 return code for payment stopped

The account holder has instructed their bank to place a stop payment on this specific transaction. Reach out to the customer to understand why and resolve the underlying issue before attempting another payment.

R10 ACH return code for customer advises unauthorized

The customer is claiming they never authorized the debit in the first place. This can indicate fraud or a miscommunication. Investigate immediately and have your authorization records ready for documentation.

R11 return code for check truncation entry return

The original check, which was converted into an electronic ACH entry, was returned by the bank. As a result, the converted ACH entry is also being returned. Review the original check details and contact the payer to resolve the issue.

R16 return code for account frozen

The account has been frozen by the bank or a legal order, preventing any transactions. Contact the account holder to understand the situation and obtain an alternative payment method or account details.

R20 ACH return code for non-transaction account

The account type doesn't permit this kind of ACH transaction. This is common with certain savings accounts that have transfer limits. Request a different account number from the customer, such as a checking account.

R23 ACH return code for credit entry refused

The receiver has actively refused to accept the credit payment. This is common with corporate accounts that have strict payment controls or blocks in place. Verify the payment instructions with the recipient before resubmitting.

R29 return code for corporate customer advises not authorized

This is similar to an R10 return but applies specifically to corporate accounts. The company is claiming the debit was not authorized. Review your service agreements and contact their accounts payable team to resolve the dispute.

What happens when an ACH payment is returned?

When a payment is returned, the RDFI sends an ACH return file back to the ODFI, which then notifies the originator (you). This notification explains why the payment failed via the return code.

This process is distinct from an ACH reversal, which is initiated by the originator to correct an error. Depending on your payment processor, you may also be charged a fee for each returned transaction.

If you regularly experience failed ACH payments, the return codes tell you exactly why. Resolving failed ACH payments costs time, puts you at risk of paying invoices late, and costs money. When troubleshooting payment issues, your bank can use the ACH trace number to locate and investigate the transaction within the ACH network.

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.

CriteriaACH returnACH reversal
DefinitionA failed payment when an ACH transaction can't be processed successfullyA request to reverse a completed ACH payment due to an error
InitiatorThe receiving bank (RDFI) when an issue is detectedThe sending bank (ODFI) upon identifying a mistake
Common reasonsInsufficient funds, invalid account numberDuplicate payments, incorrect recipient, incorrect payment amount
Processing time2–60 days, depending on return codeMust be requested within 24 hours of identifying the error

How to handle ACH returns

Responding to returns requires quick, practical action. Most require resolution within 2 banking days, so speed matters.

Verify bank account information

Cross-check the routing number, account number, and account type against the information provided by the customer or vendor. Look for common errors such as typos or transposed digits.

Contact the customer or vendor

Reach out promptly to explain that the payment was returned. Be specific about the return code and what you need to resolve it, such as a new account number or confirmation of authorization.

Retry the payment when appropriate

Only certain return codes are appropriate for a retry. Codes like R01 (insufficient funds) or R09 (uncollected funds) may resolve themselves in a few days. Never retry payments to closed accounts (R02), for unauthorized transactions (R07, R10), or with invalid account numbers (R04).

Document and track return patterns

Keep detailed records of all returns, including the code, customer, and date. High return rates can negatively affect your ability to process ACH payments and may indicate deeper issues with your data collection or authorization processes.

How to prevent ACH returns

Taking proactive steps can significantly reduce return rates and protect your ACH processing privileges.

Validate account details before sending payments

Use account verification services to confirm that routing and account numbers are valid and that the account is active before you initiate any transactions. This catches errors like R03 and R04 before they happen.

Use prenote transactions for new accounts

Send a zero-dollar test transaction (a "prenote") to verify new account information before processing actual payments. This confirms the account details are correct without moving any money, a simple step that can prevent a surprising number of returns.

Set up payment alerts and monitoring

Configure notifications for returns so your team can respond quickly. Monitor your return rates by code type to identify trends, such as a high number of R04s indicating a problem with your data entry process.

Automate payment approval workflows

Implement internal approval processes that catch errors before payments are sent. Automation reduces the manual entry mistakes that often lead to administrative returns like R13, R17, and R26.

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 automate 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 simplify 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.

Try Ramp for free
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.

FAQs

An ACH return is initiated by the receiving bank (RDFI) when a payment can't be processed for a specific reason, such as insufficient funds or a closed account. An ACH reversal is initiated by the payment originator (ODFI) to correct an erroneous transaction they sent, such as a duplicate payment or incorrect amount.

Most standard ACH returns must be processed by the receiving bank within 2 banking days of the settlement date. However, returns for unauthorized transactions (like R07 or R10) can occur up to 60 calendar days after the original transaction.

Yes. If you believe a return code was issued in error, you can dispute it by contacting the receiving bank through your originating bank. You'll need to provide documentation to support your case, such as proof of authorization.

A returned mobile ACH payment means a payment initiated through a mobile banking app or service was rejected by the receiving bank for one of the standard return reasons, such as insufficient funds (R01) or invalid account information (R04). The same return codes and resolution steps apply regardless of how the payment was initiated.

ACH stands for Automated Clearing House, a US electronic payment network managed by Nacha. It processes large batches of transactions between financial institutions, handling both direct deposits (credits) and direct payments (debits).

You can learn more about Ramp Bill Pay and how it helps automate accounts payable at our official page: https://ramp.com/accounts-payable

In the public sector, every hour and every dollar belongs to the taxpayer. We can't afford to waste either. Ramp ensures we don't.

Carly Ching

Finance Specialist, City of Ketchum

City of Ketchum saves 100+ hours to make every taxpayer dollar count

Compared to our previous vendor, Ramp gave us true transaction-level granularity, making it possible for me to audit thousands of transactions in record time.

Lisa Norris

Director of Compliance & Privacy Officer, ABB Optical

From 2 months to 2 days: ABB Optical's Sunshine Act compliance breakthrough

We chose Ramp because it replaced several disparate tools with one platform our teams actually use—if it’s not in Ramp, it’s not getting paid.

Michael Bohn

Head of Business Operations, Foursquare

Painless procurement in half the time: Foursquare's single system for spend

Ramp gives us one structured intake, one set of guardrails, and clean data end‑to‑end— that’s how we save 20 hours/month and buy back days at close.

David Eckstein

CFO, Vanta

How Vanta runs finance on Ramp with programmatic spend for 3 days faster close

Ramp is the only vendor that can service all of our employees across the globe in one unified system. They handle multiple currencies seamlessly, integrate with all of our accounting systems, and thanks to their customizable card and policy controls, we're compliant worldwide.

Brandon Zell

Chief Accounting Officer, Notion

How Notion unified global spend management across 10+ countries

When our teams need something, they usually need it right away. The more time we can save doing all those tedious tasks, the more time we can dedicate to supporting our student-athletes.

Sarah Harris

Secretary, The University of Tennessee Athletics Foundation, Inc.

How Tennessee built a championship-caliber back office with Ramp

Ramp had everything we were looking for, and even things we weren't looking for. The policy aspects, that's something I never even dreamed of that a purchasing card program could handle.

Doug Volesky

Director of Finance, City of Mount Vernon

City of Mount Vernon addresses budget constraints by blocking non-compliant spend, earning cash back with Ramp

Switching from Brex to Ramp wasn't just a platform swap—it was a strategic upgrade that aligned with our mission to be agile, efficient, and financially savvy.

Lily Liu

CEO, Piñata

How Piñata halved its finance team’s workload after moving from Brex to Ramp