What ACH Return Codes Are & Why They Exist
ACH is one of those bits of payments infrastructure that quietly underpins a remarkable amount of day-to-day economic activity while remaining mostly invisible to the people relying on it. The direct deposit of a paycheck; the utility bill paid from a checking account; the subscription debit that lands on the same date each month — all of it moves through the Automated Clearing House network. It is, broadly speaking, a system that works.
Until, on occasion, it doesn’t.
An ACH transfer is, in essence, a coordinated handshake between two banks. The originating bank — called the “originating depository financial institution” or “ODFI” — initiates the transfer on the merchant’s behalf. The receiving depository financial institution (“RDFI”) accepts or declines the transfer for the customer’s account. When the RDFI cannot complete the transfer, for whatever reason, it sends a return back through the network, accompanied by an ACH return code that explains why the transfer failed.
The codes themselves aren’t arbitrary. NACHA, which governs the ACH network and writes the rules, designed the taxonomy so that every party in the chain — the merchant, the ODFI, the processor — can identify quickly what went wrong, and what (if anything) can be done about it. Some returns reflect customer-side issues the merchant could never have prevented. Others are entirely the merchant’s own doing. The point of the code, in practice, is to make that distinction visible.
Recommended reading
- Get the Rundown on Mastercard Interchange Rates for 2026
- Issuer Declines: 7 Reasons They Happen & How to Fix Them
- Visa Interchange: 2026 Processing Rates & Fees, Explained
- Suspicious Activity Reports: When Do SARs Get Filed & Why?
- What Is Open Banking? Data to Improve Service & Stop Fraud
- Top 10 Payment Fraud Detection & Prevention
What is an ACH Return Code?
- ACH Return Codes
An ACH return code is a 3-digit alphanumeric indicator attached to a returned ACH transaction. The code is meant to explain why an ACH transfer could not be processed.
[noun]/ā • cē • eɪCH • rə • tərn • kōd/Each return includes a three-character ACH return reason code that can point the recipient to additional details, and help explain why the return happened. There are over 80 unique return codes, and each one represents a different type of return.
ACH return codes are a type of shorthand for specific information concerning the return, much like the card decline codes or dispute reason codes used by credit card networks. All ACH return reason codes consist of the letter “R” followed by two numbers (R01, R12, R22, etc.). There are also specific return time frames, which can differ between codes.
ACH Return Code Limits
The number of ACH return codes you receive is limited. The general threshold is set at 15% of total ACH debits over a rolling 60 days. Exceeding this threshold doesn’t warrant a polite letter. It leads to mandatory monitoring, increased scrutiny from your bank, fines in some cases, and if matters don’t improve, suspension of your ACH origination privileges altogether.
Now, there is also a select subset of ACH return codes which have much stricter limits. Specifically, those related to unauthorized returns and data errors.
The ODFI is the party formally responsible for your compliance with NACHA’s rules, which is worth remembering: the bank carries reputational and regulatory exposure for the merchants it sponsors onto the rails. When a merchant becomes a risk, the bank’s incentive to act is not theoretical. Prevention efforts are best directed at unauthorized returns first, given the tightness of that threshold, and at administrative returns after.
The Most Common ACH Return Codes Merchants See
There are more than 80 ACH return codes in the NACHA rulebook, but most merchants encounter the same handful repeatedly. The ones most worth knowing in detail are as follows:
R01 | Insufficient Funds
The customer’s account hasn’t the money to cover the debit. This is, by some distance, the most common ACH return code, and one of the few that can be reinitiated; this is allowed up to two times after the original return.
For recurring billing, R01 returns often resolve themselves with a brief delay, giving the customer time to deposit funds. Balance-checking services, which confirm available funds before the debit is initiated, are worth considering for merchants seeing R01 volumes in any quantity.
R02 | Account Closed
The account is no longer active. This one cannot be reinitiated to the same account; new payment information from the customer is required.
In recurring billing relationships, R02s often turn up because the customer switched banks without thinking to update their payment method. Periodic re-validation of accounts for long-tenured customers can catch these before they generate returns.
R03 | No Account / Unable to Locate Account
The account number is structurally valid but doesn’t correspond to an open account at the named bank. This cannot be reinitiated without corrected information.
In practice, R03 almost always points to a data entry problem — a transposed digit, an outdated record. Account verification at enrolment catches the bulk of these before the first transaction is ever attempted.
R04 | Invalid Account Number
The account number itself is malformed — wrong number of digits, invalid format. Not reinitiable without corrected information.
Validation at the point of data entry, including check-digit verification, prevents most R04s outright. Seeing them in any volume is generally a sign that the payment form is doing too little of the work it ought to be doing.
R05 | Unauthorized Debit to Consumer Account
The consumer claims the debit wasn’t authorised. This one counts toward the 0.5% unauthorised threshold, so it carries weight even when it happens rarely.
R05s often trace back to unclear billing descriptors, forgotten subscriptions, or, occasionally, genuinely unauthorised activity. A review of authorisation practices is the appropriate response.
R07 | Authorization Revoked by Customer
The customer authorised recurring debits at some point and has now revoked that authorisation. This also counts toward the unauthorised threshold.
The correct response is to stop debiting immediately. Continuing to attempt collection after an R07 doesn’t just create further returns; it creates compliance exposure. If you suspect the revocation was unintentional, contact the customer.
R08 | Payment Stopped
The customer has placed a stop payment specifically on this transaction. Reinitiation requires fresh authorisation from the customer.
An R08 is, more often than not, a customer service signal in disguise. The customer stopped the payment for a reason; finding out what it was before attempting to collect again is generally time well spent.
R10 | Customer Advises Not Authorized
The customer is saying they have no relationship with the originator or didn’t authorise the debit. Counts toward the unauthorised threshold, and warrants a careful look at your authorisation records.
R10s can indicate fraud, but they can equally indicate a billing descriptor that fails to identify your business in any recognisable way. Worth checking which one you’re dealing with before assuming the worst.
The Complete List of ACH Return Codes
The table below lists every ACH return code, its meaning, and the timeframe within which the return must be processed.
| Return Code | Reason for Return | Response Time Frame |
| R01 | Insufficient Funds | 2 banking days |
| R02 | Account Closed | 2 banking days |
| R03 | Unable to Locate Account | 2 banking days |
| R04 | Invalid Account Number | 2 banking days |
| R05 | Unauthorized Debit to Consumer Account via Corporate SEC Code | 60 calendar days |
| R06 | ODFI Requested Return | 60 calendar days |
| R07 | Authorization Revoked by Customer | 60 calendar days |
| R08 | Payment Stopped | 2 banking days |
| R09 | Uncollected Funds | 2 banking days |
| R10 | Customer Claims Originator Is Not Known to/Is Authorized to Debit Receiver’s Account | 60 calendar days |
| R11 | Customer Advises Entry Not in Accordance with the Terms of the Authorization | 60 calendar days |
| R12 | Account Sold to Another DFI | 2 banking days |
| R13 | Invalid ACH Routing No. | Next file delivery time after processing |
| R14 | Representative Payee Deceased | 2 banking days |
| R15 | Beneficiary / Account Holder Deceased | 2 banking days |
| R16 | Account Frozen | 2 banking days |
| R17 | File Record Edit Criteria / Suspicious Entry with Invalid Account No. / Return of Improperly-Initiated Reversal | 2 banking days |
| R18 | Improper Effective Date | Next file delivery time after processing |
| R19 | Amount Field Error | Next file delivery time after processing |
| R20 | Non-Transaction Account | 2 banking days |
| R21 | Invalid Company ID | 2 banking days |
| R22 | Invalid Individual ID | 2 banking days |
| R23 | Receiver Refused Credit | RDFI must transmit return upon receipt of refusal |
| R24 | Duplicate Entry | 2 banking days |
| R25 | Addenda Error | Next file delivery time after processing |
| R26 | Mandatory Field Error | Next file delivery time after processing |
| R27 | Trace Number Error | Next file delivery time after processing |
| R28 | Routing No. Check Digit Error | Next file delivery time after processing |
| R29 | Not Authorized by Corporate Customer | 2 banking days |
| R30 | RDFI not in Check Truncation Program | Next file delivery time after processing |
| R31 | Permissible Return (CCD and CTX only) | N/A |
| R32 | RDFI Non-Settlement | Next file delivery time after processing |
| R33 | Return of XCK | 60 calendar days |
| R34 | Limited Participation DFI | Next file delivery time after processing |
| R35 | Improper Debit | Next file delivery time after processing |
| R36 | Improper Credit | Next file delivery time after processing |
| R37 | Source Document Presented | 60 calendar days |
| R38 | Stop Payment on Source Document | 60 calendar days |
| R39 | Improper Source Document | 2 banking days |
| R40 | Return of ENR | N/A |
| R41 | Invalid Transaction Code | N/A |
| R42 | Routing No. / Check Digit Error | N/A |
| R43 | Invalid DFI Account No. | N/A |
| R44 | Invalid Individual ID No. | N/A |
| R45 | Invalid Individual / Company Name | N/A |
| R46 | Invalid Representative Payee Indicator | N/A |
| R47 | Duplicate Enrollment | N/A |
| R50 | State Law Affecting RCK Acceptance | N/A |
| R51 | Ineligible / Improper Item Related to RCK | N/A |
| R52 | Stop Payment on Item Related to RCK | 60 calendar days |
| R53 | Item and RCK Presented for Payment | 60 calendar days |
| R61 | Misrouted Return | 60 calendar days |
| R62 | Erroneous / Reversing Debit | 60 calendar days |
| R67 | Duplicate Return | N/A |
| R68 | Untimely Return | ODFI must transmit return within 5 business days |
| R69 | Field Error | ODFI must transmit return within 5 business days |
| R70 | Permissible Return Not Accepted / Not Requested by ODFI | ODFI must transmit return within 5 business days |
| R71 | Misrouted Dishonored Return | ODFI must transmit return within 5 business days |
| R72 | Untimely Dishonored Return | ODFI must transmit return within 5 business days |
| R73 | Timely Original Return | ODFI must transmit return within 5 business days |
| R74 | Corrected Return | N/A |
| R75 | Return Not Duplicate | ODFI must transmit return within 5 business days |
| R76 | No Errors Found | Contested return must be transmitted within 2 business days |
| R77 | Non-Acceptance of R62 | Contested return must be transmitted within 2 business days |
| R80 | IAT Coding Error | Contested return must be transmitted within 2 business days |
| R81 | Non-Participant in IAT Program | Contested return must be transmitted within 2 business days |
| R82 | Invalid Foreign RDFI Identification | Contested return must be transmitted within 2 business days |
| R83 | Foreign RDFI Unable to Settle | Contested return must be transmitted within 2 business days |
| R84 | Not Processed by Gateway | N/A |
| R85 | Incorrectly Coded Outbound Int’l Payment | 2 banking days |
ACH transactions can be defined as being either “pushed,” meaning the payer initiates the transfer of funds from their bank account, or “pulled,” meaning the payee has the authorization to collect funds directly from the payer's account.
Payment card chargebacks can destroy your bottom line.
Talk to our experts and see how we can help.
Request a Demo
When You Can Retry a Failed ACH Payment (& When You Cannot)
Not every return can be retried. NACHA’s rules specify which codes permit reinitiation and how many attempts are allowed, and the rules are there for a reason: indiscriminate retries are exactly what the network is trying to discourage.
Returns That Can be Reinitiated
- R01 (Insufficient Funds): Up to two times after the original return. A short wait between attempts gives the customer’s account time to be funded.
- R09 (Uncollected Funds): Also reinitiable up to two times. The account has funds, but they aren’t yet cleared; a brief delay tends to resolve it.
- R08 (Payment Stopped): Only with new authorization from the customer. The previous authorization no longer holds.
Returns That Cannot be Reinitiated
- R02, R03, R04 (Account Issues): These require corrected account data. Retrying without it will produce the same result.
- R05, R07, R10 (Unauthorized): Do not retry. The customer is disputing the authorisation, and reinitiating will compound your unauthorised return rate and your compliance risk in roughly equal measure.
With most other ACH return codes, you need corrective action specific to the issue rather than a simple retry. In the case of code R16 (Account Frozen), for example, this can be retried only if the account in question is no longer frozen.
For R01s specifically, waiting at least three business days between attempts is sensible practice; contacting the customer directly to confirm funding, where feasible, is better still. For authorisation returns, the right move is not a retry but a conversation. For account data errors, get the corrected information first, then try again.
NACHA caps reinitiation at two attempts after the original return. Each one tends to generate further processor fees. Retrying when not permitted, or beyond the allowed limit, pushes your return rate higher and puts you on the wrong side of the rules.
ACH Return Fees & the Real Cost of Failed Payments
The direct fees are the most visible cost of an ACH return, but they are rarely the most consequential one.
The fee on any single return is, in the grand scheme of things, manageable. The threshold position is not. If the return rate drifts above NACHA’s limits, the merchant faces investigation, possible fines, and the genuine prospect of losing ACH origination privileges altogether. The ODFI carries the network’s risk for its sponsored merchants and will act accordingly when one of them becomes a liability. That is the cost worth taking seriously.
ACH return codes are not to be confused with chargeback reason codes, which are set by the card networks, nor are they the same as return reason codes, which can be implemented by a service provider as part of a merchant’s technology stack to streamline operations.
How ACH Returns Differ From Credit Card Chargebacks
Merchants sometimes treat ACH returns and credit card chargebacks as variations on the same theme. They are not; the two mechanisms sit on different networks, operate to different timelines, and offer the merchant very different forms of recourse.
| Factor | ACH Return | Credit Card Chargeback |
| Network | ACH (NACHA) | Card networks (Visa, Mastercard) |
| Typical timeframe | 2 banking days for most codes; up to 60 days for unauthorized | 60–120 days, sometimes longer |
| Merchant recourse | Limited; improper returns can be dishonored | Full representment process |
| Fees | $2–$15 per return | $20–$100+ per chargeback |
| Monitoring programs | NACHA thresholds | VAMP, SMMP, card network programs |
ACH returns are faster and cheaper than chargebacks, which is the good news. The less good news is that there is no formal representment process to speak of. If the return stands, the merchant’s options for recovering the money are essentially outside the rails — collection from the customer through other channels.
Merchants can “dishonour” a return when the return itself was untimely, incorrect, misrouted, or a duplicate. Dishonouring is for returns that were procedurally improper, not for returns the merchant simply disagrees with. This must be done within five banking days of the return settlement date, though.
One further point worth making: ACH returns don’t feed into the card network monitoring programs — VAMP, SMMP, and the like — because ACH is a different network entirely. That isn’t, however, a free pass. NACHA’s own thresholds carry consequences that can be every bit as serious as the card networks’, and the merchant who treats ACH returns as the lesser cousin of chargebacks tends to find that out the hard way.
How to Prevent ACH Returns & Stay Below NACHA Thresholds
A meaningful proportion of ACH returns are preventable with reasonable verification, clear communication, and a degree of proactive account management. The work isn’t glamorous, but it does pay dividends. I recommend that you:
Patterns are worth investigating: returns concentrated in particular customer segments, transaction types, or time periods often point to a root cause that can actually be fixed.
ACH transfers can be a low-hassle way to send or receive money. For merchants, it is a viable alternative payment option that could make customers happy. Even with precautions in place, however, sometimes ACH payments will fail to go through.
As a merchant, you need to have a plan in place to accept payments when ACH transfers are not available. You also need to have a way of recovering funds lost if an ACH transfer goes wrong.
Talk to one of our experts today about developing a broader, more comprehensive solution for payments and risk mitigation.
FAQs
What is an ACH return?
You can think of an ACH return as the electronic version of a bounced check. An ACH return is a message, typically sent by an RDFI, that informs an ODFI that the ACH Network either couldn’t collect funds, or couldn’t deposit funds, into the receiver’s account.
What happens when ACH is returned?
If a transaction fails to process, one of the banks involved in the process may receive an ACH return. This is a way of informing the institution that the amount in question either could not be collected from, or deposited into, the appropriate account. The transfer can then be reattempted, or another payment method may be used.
Why does an ACH payment get returned?
There is a wide range of situations that could lead to a returned ACH payment. Some of the most common are insufficient funds, revoked authorization, or an invalid account number.
What are ACH return charges?
Having an ACH transfer returned typically involves a fee. On average, ACH return fees range from $2-$5 per occurrence.
What does an ACH return code mean?
An ACH return code is a three-character identifier — R01, R04, and so on — that explains why a bank transfer couldn’t be completed. Each code corresponds to a specific issue: insufficient funds, closed account, unauthorized transaction, and the like. There are more than 80 codes in total, though in practice most merchants see the same handful repeatedly.
How much does an ACH return cost?
Most processors charge $2 to $5 per return, though some go as high as $15. Beyond the fee itself, the merchant loses the transaction amount, and may face additional costs if return rates approach NACHA’s thresholds. The fee is the visible cost; the threshold consequences are the ones worth worrying about.
Can a failed ACH payment be retried?
It depends on the code. R01 (insufficient funds) and R09 (uncollected funds) can be reinitiated up to two times after the original return. R08 (payment stopped) can be reinitiated only with new authorisation from the customer. Most other codes require corrective action or new information before another attempt is appropriate.
What happens if a merchant’s ACH return rate is too high?
NACHA enforces return rate thresholds over a rolling 60-day period: 0.5% for unauthorised returns, 3% for administrative returns, and 15% overall. Exceeding any of them can trigger investigation, fines, or, in the worst cases, loss of ACH origination privileges through the sponsoring bank.
Is an ACH return the same as a chargeback?
No. ACH returns happen on the ACH network, are typically faster and cheaper, and have no formal representment process equivalent to the one available on the card rails. If a return stands, the merchant has to collect from the customer through other means. ACH returns don’t feed into card network monitoring programs, but they do count toward NACHA’s own thresholds, which carry consequences of their own.
Can customers be charged for ACH returns?
Yes, return fees can be passed to the customer, provided the practice is disclosed up front in the payment agreement. State-specific regulations apply, and some jurisdictions cap the amount or require additional disclosure, so the local rules are worth checking before this becomes standard practice.