ACH return codes are short two-character codes (R01, R10, R29 and so on) that a customer’s bank sends back when it rejects an ACH debit. Each code tells you exactly why the payment failed, whether you can try again, and whether the return counts against Nacha’s return-rate limits. If you collect payments by ACH or e-check, reading these codes correctly is the fastest way to recover revenue and protect your account.
Nacha, the organization that writes the rules for the ACH network, publishes the official list of ACH return reason codes. You will also hear them called Nacha return codes or simply R-codes. Below you will find what the codes you are most likely to see actually mean, a reference table for the rarer ones, which returns count toward Nacha’s monitoring levels, and what to do the day a return shows up in your report.
Key takeaways
- An ACH return code explains why a customer’s bank sent a debit back. The code decides your next move.
- Returns fall into three buckets that Nacha tracks: unauthorized (R05, R07, R10, R11, R29, R51), administrative (R02, R03, R04), and all returns combined.
- Nacha sets a 0.5% threshold for unauthorized returns. Administrative returns (3.0%) and overall debit returns (15.0%) have return rate levels that trigger a preliminary inquiry if you go over them.
- Some codes (like R01 for insufficient funds) can be retried within Nacha’s reinitiation rules. Others (like R10 or R07) mean you must stop and get a new authorization.
- Account validation, clear authorizations, and recognizable billing descriptors prevent most returns before they happen.
What Are ACH Return Codes?
When you pull money from a customer’s bank account through the ACH network, you are the Originator. Your bank is the ODFI (Originating Depository Financial Institution), and your customer’s bank is the RDFI (Receiving Depository Financial Institution).
If the RDFI can’t or won’t post your debit, it sends the entry back as a “return.” Every return carries a standardized reason code defined in the Nacha Operating Rules. Codes start with “R” followed by two digits, such as R01 or R10.
These codes matter for three reasons:
- Recovery: They tell you whether the payment can be collected by retrying, by fixing data, or only by contacting the customer.
- Compliance: Certain codes count toward Nacha return-rate thresholds that your bank and processor monitor closely.
- Diagnosis: Patterns in your return codes point to specific problems, such as bad account data at signup or confusing billing descriptors.
If you are new to bank payments, our overview of ACH vs. credit card processing covers the basics of how ACH differs from card payments.
How the ACH Return Process Works
Unlike a card decline, an ACH return does not happen at checkout. The debit is sent in a batch, and the rejection comes back afterward. That delay is why merchants sometimes ship goods or grant access before a return arrives.
Standard returns vs. extended returns
Most returns, such as insufficient funds or a closed account, must be sent by the customer’s bank within the standard two-banking-day return timeframe. You usually learn about these within a few days.
Unauthorized returns on consumer accounts work differently. According to Nacha’s guidance on unauthorized return reasons, R10 and R11 returns have a 60-day window for consumer unauthorized debits. That means a customer can dispute a debit weeks after you thought the payment was final.
Who pays for a return?
When a debit is returned, the funds are taken back from your settlement. Your processor may also charge a per-return fee under your agreement. For certain unauthorized returns, Nacha requires the ODFI to pay the customer’s bank an Unauthorized Entry Fee of $4.50 per return for codes R05, R07, R10, R29, and R51. Banks often pass costs like this on to the merchant that caused them.
Get matched with processing partners through one simple application. Interchange-plus pricing from 0.40% + $0.10.
Common ACH Return Codes and What They Mean
Nacha defines dozens of ACH return codes, but a small group accounts for most returns online businesses see. The table below lists the official Nacha titles, what each one usually means in plain English, and whether a retry is typically an option.
| Code | Official Nacha title | What it usually means | Next step |
|---|---|---|---|
| R01 | Insufficient Funds | Not enough money in the account when the debit posted. | May be reinitiated within Nacha limits; contact the customer. |
| R02 | Account Closed | The customer closed the account. | Do not retry. Get new bank details. |
| R03 | No Account / Unable to Locate Account | The account number doesn’t match an open account or the name. | Do not retry. Verify details with the customer. |
| R04 | Invalid Account Number Structure | The account number format is wrong (often a typo). | Correct the data before sending again. |
| R05 | Unauthorized Debit to Consumer Account Using Corporate SEC Code | A consumer account was debited using a business-only entry type. | Stop. Use the correct entry type and a valid authorization. |
| R07 | Authorization Revoked by Customer | The customer withdrew permission for your debits. | Stop all debits. New authorization required. |
| R08 | Payment Stopped | The customer placed a stop payment on this debit. | Contact the customer before any further attempt. |
| R09 | Uncollected Funds | A balance exists, but funds aren’t yet available. | May be reinitiated within Nacha limits. |
| R10 | Customer Advises Originator is Not Known to Receiver and/or Originator is Not Authorized by Receiver to Debit Receiver’s Account | The customer says they don’t know you or never authorized the debit. | Stop. Do not resubmit without a new, valid authorization. |
| R11 | Customer Advises Entry Not in Accordance with the Terms of the Authorization | Authorization existed, but the amount, date, or details were wrong. | Fix the error; a corrected entry may be sent without new authorization. |
| R16 | Account Frozen / Entry Returned Per OFAC Instruction | The account is frozen or blocked. | Do not retry. Collect payment another way. |
| R20 | Non-Transaction Account | The account type doesn’t allow this debit. | Ask the customer for a different account. |
| R24 | Duplicate Entry | The bank believes this debit was already sent. | Check your batch files for double submissions. |
| R29 | Corporate Customer Advises Not Authorized | A business account holder says the debit wasn’t authorized. | Stop. Confirm authorization with the business. |
R10 vs. R11: the difference that changes your options
These two codes look similar but lead to very different actions. An R10 means the customer says no authorization ever existed. An R11 means there was an authorization, but the debit didn’t match its terms, such as the wrong amount or the wrong date.
Under the Nacha rule that split these two codes, an originator that gets an R11 back may fix the error and send a new entry within 60 days of the return’s settlement date, without asking the customer to authorize again. That option does not exist for R10. For a subscription business, this is often the difference between saving a customer and losing one.
R01 return code: insufficient funds
R01 is the code most merchants see first. It means the money was not in the account when your debit posted. It is a funds problem, not an authorization problem, so it does not count toward the 0.5% unauthorized threshold. It does count toward your overall debit return rate.
You can usually try again through reinitiation, but do it on purpose rather than on a blind timer. A quick email asking when funds will be available, followed by a retry on that date, works far better than resubmitting the next morning. Any retry must keep the same company name, company ID and amount and carry RETRY PYMT in the entry description.
R10 return code: customer says the debit was not authorized
R10 is the code that does the most damage. It counts toward the 0.5% unauthorized threshold, and your bank pays a $4.50 Unauthorized Entry Fee on it, which is usually passed down to you. Not every R10 is fraud. Often the customer simply did not recognize the company name on their bank statement, which is why a clear, brand-matching company name is one of the cheapest fixes on the checklist below.
Stop all future debits to that account, pull your authorization record, and contact the customer. If they do want to keep paying, collect a brand-new authorization first. Our guide to ACH authorization requirements covers what that record needs to include for WEB, TEL, PPD and CCD debits.
Other ACH return reason codes you may see
These codes show up less often for online merchants, but it helps to know them when one lands in your report. Titles are Nacha’s official wording.
| Code | Official Nacha title | Plain-English meaning |
|---|---|---|
| R06 | Returned per ODFI’s Request | Your own bank asked the customer’s bank to send the entry back, usually to fix an error. |
| R12 | Account Sold to Another DFI | The account moved to a different bank. Ask the customer for new details. |
| R13 | Invalid ACH Routing Number | The routing number is wrong or the bank cannot take ACH entries. Check it before resending. |
| R14 | Representative Payee Deceased or Unable to Continue in That Capacity | The person who managed the account for someone else can no longer act. Stop and contact the account holder. |
| R15 | Beneficiary or Account Holder (Other Than a Representative Payee) Deceased | The account holder has died. Stop all debits. |
| R17 | File Record Edit Criteria / Entry with Invalid Account Number Initiated Under Questionable Circumstances / Return of Improperly Initiated Reversal | A field could not be processed, or the bank flagged the entry as suspicious. Review the data with your processor. |
| R21 | Invalid Company Identification | The company ID on the entry is not valid. Your processor needs to fix the setup. |
| R22 | Invalid Individual ID Number | The individual ID number on the entry is wrong. Correct it before resending. |
| R23 | Credit Entry Refused by Receiver | Applies to credits, such as a refund or payout, that the customer refused. |
| R31 | Permissible Return Entry (CCD and CTX) only | A late return of a business debit that your bank agreed to accept. |
| R33 | Return of XCK Entry | A return of a check truncation entry. Rare for online merchants. |
One more is on the way. Nacha has approved a new code, R90 (Entry Returned Due to RDFI’s Sanctions Compliance Obligations), that takes effect on March 17, 2028.
Returns vs. reversals vs. notifications of change
People often search for “ACH reversal codes” when they mean return codes, but the two are different. A return comes from the customer’s bank. A reversal is something you send to fix your own mistake, such as a duplicate entry, the wrong amount or the wrong receiver. It must reach the customer’s bank within five banking days of the original settlement date and carry REVERSAL in the entry description.
A Notification of Change (NOC) is different again. It uses C-codes instead of R-codes and tells you that account data on an entry needs correcting, as described in the Federal Reserve’s FedACH NOC instructions. Update your records before the next debit so the problem does not turn into a return.
Nacha Return Rate Thresholds: Which ACH Return Codes Put Your Account at Risk
Nacha does not just look at individual returns. It watches your return rates. Crossing a threshold can trigger an inquiry into your bank’s relationship with you, and your processor will act well before that point.
| Return category | Codes included | Nacha limit | What going over it means |
|---|---|---|---|
| Unauthorized returns | R05, R07, R10, R11, R29, R51 | 0.5% (threshold) | Can lead to a Nacha enforcement proceeding against your bank, which will push the problem back to you. |
| Administrative returns | R02, R03, R04 | 3.0% (return rate level) | Starts a preliminary inquiry. Not an automatic violation, but your bank will want answers. |
| Overall debit returns | All return codes for debit entries (excluding RCK entries) | 15.0% (return rate level) | Starts a preliminary inquiry into why so many debits fail. |
How the unauthorized return rate is calculated (worked example)
Nacha calculates the unauthorized return rate as the number of debits returned as unauthorized divided by the number of debits originated for the preceding 60 days or two calendar months.
Say your membership business sent 4,000 ACH debits over the last two months. At a 0.5% threshold, just 20 unauthorized returns (4,000 × 0.005) would put you at the limit. If 12 customers returned debits as R10 and 9 as R07, that’s 21 unauthorized returns, or 0.525%. You would be over the line, even though 99.5% of your debits went through.
That is why the unauthorized bucket deserves the most attention. It has the lowest threshold, the extended 60-day return window for consumer accounts, and the added per-return fee.
What to Do After an ACH Return: Step by Step
Use this process every time a return comes in. It keeps you compliant and gives you the best chance of collecting.
- Read the code, not just the status. “Returned” is not enough. Log the exact R-code against the customer record.
- Pause fulfillment or access if needed. For digital products, subscriptions, and services, hold further delivery until the payment is resolved.
- Sort the return into a bucket. Is it a funds issue (R01, R09), a data issue (R02, R03, R04, R20), or an authorization issue (R05, R07, R10, R11, R29)?
- For funds issues: Retrying may be allowed under Nacha’s reinitiation rules. Reinitiated entries must carry the same company name, company ID, and amount, and include “RETRY PYMT” in the company entry description. Ask your processor about the exact retry limits and timing before you automate retries.
- For data issues: Never resend the same details. Contact the customer, collect corrected information, and validate the new account before debiting.
- For authorization issues: Stop all scheduled debits to that account right away. For R10, R07, and R29, you need a fresh, valid authorization before any new debit. For R11, fix the specific error first.
- Update your records and recurring schedules. Make sure your billing system won’t send the next scheduled debit automatically.
- Review trends monthly. Track your unauthorized, administrative, and overall rates against Nacha thresholds so you spot problems early.
ACH returns are the bank-payment cousin of card chargebacks. If you accept both, a single dispute workflow helps. See our chargeback management service for how we approach disputes on the card side.
Checklist to Reduce ACH Returns
Most ACH return codes are preventable. Work through this checklist with your team and your developer.
- ☐ Validate accounts for online debits. Nacha’s WEB debit account validation rule requires originators to use a commercially reasonable method to confirm an account is valid before the first WEB debit to a new or changed account number.
- ☐ Capture clear authorizations. State the amount, timing, and how to revoke. Keep a copy you can retrieve quickly.
- ☐ Use a recognizable company name. If the name on the bank statement doesn’t match your brand, customers may report the debit as unknown (R10).
- ☐ Send reminders before recurring debits. A short email before each billing date cuts surprise returns and stop payments.
- ☐ Make cancellation easy. Customers who can’t cancel with you often go to their bank instead, which produces R07 or R10 returns.
- ☐ Use the right entry type. Don’t debit consumer accounts with corporate entry types; that is what triggers R05.
- ☐ Double-check amounts and dates. Debiting on the wrong day or for the wrong amount leads to R11 returns.
- ☐ Deduplicate batch files. Build checks that stop the same debit from being submitted twice (R24).
- ☐ Act on bank notices. When your processor tells you account details have changed, update your records before the next debit.
- ☐ Monitor rates monthly. Compare your numbers against the 0.5%, 3.0%, and 15.0% thresholds.
Recurring billers face the most return risk because every cycle is a new debit. If that describes your business, our page on subscription payment processing explains how we set up recurring ACH and card billing.
Common Mistakes Merchants Make With ACH Returns
- Treating every return the same. Auto-retrying an R02 or R10 wastes fees and can push your rates higher.
- Retrying too often. Reinitiation is limited by the Nacha Operating Rules. Unlimited retry scripts can violate the rules.
- Forgetting the 60-day window. A consumer can return an unauthorized debit weeks later. Don’t treat ACH funds as final the day they settle.
- Ignoring the overall rate. Even if your unauthorized rate is low, lots of R01 returns can add up toward the 15.0% overall threshold.
- Keeping weak authorization records. If you can’t produce proof of authorization when your bank asks, you are in a poor position to dispute a return.
Choosing an ACH setup that helps you manage returns
Good reporting makes all of this easier. Look for a setup that shows the exact return code on every transaction, lets you pause recurring schedules quickly, and supports account validation at signup. Payment Circle’s ACH payment processing and e-check processing run through the NMI and Authorize.net gateways, with clear contract terms and interchange-plus style pricing based on your risk level and volume.
Related Guides and Next Steps
- Comparing payment methods? Read ACH vs. credit card processing to see which fits your billing model, or e-check vs. ACH if the terms confuse you.
- Fixing R10 and R07 returns? Tighten your forms with our guide to ACH authorization requirements.
- Wondering when a debit is really final? See how long ACH payments take, including Same Day ACH windows.
- Billing customers on a schedule? See how we handle subscription payment processing and SaaS payment processing.
- Taking payments by phone or invoice? A virtual terminal lets you key in ACH and card payments with proper authorization records.
- Dealing with card disputes too? Our guide on how to reduce chargebacks covers the card side.
- Ready to set up ACH? Check the merchant account approval checklist and our pricing.
ACH Return Codes FAQ
What is the most common ACH return code?
For many businesses, R01 (Insufficient Funds) is the return they see most often, but your mix depends on your customers and billing model. Pull a report of your returns by code for the last few months to see your own pattern. That report is the starting point for reducing returns.
Can I resubmit an ACH payment after a return?
It depends on the code. Funds-related returns such as R01 and R09 may be reinitiated within the limits of the Nacha Operating Rules, and an R11 error can be corrected and resent. Returns like R02, R03, R07, and R10 should not be resubmitted without new account details or a new authorization.
How long does a customer have to return an ACH debit?
Most returns come back within the standard two-banking-day timeframe. For unauthorized debits to consumer accounts, such as R10 and R11, Nacha allows a 60-day return window. Plan your fulfillment and refund policies with that longer window in mind.
What happens if my unauthorized return rate goes over 0.5%?
Nacha’s enforcement process applies to the originating bank, which must show a plan to bring the rate back under the threshold. In practice, your bank and processor will contact you, may require changes, and could restrict your ACH processing. It’s best to act long before you get close to the limit.
Is an ACH return the same as a chargeback?
They are similar but not the same. A chargeback is a card-network dispute with its own rules and response process. An ACH return is governed by the Nacha Operating Rules and uses R-codes, and some unauthorized returns can arrive weeks after the payment.
Do e-check payments use the same ACH return codes?
Yes. Online e-check payments are processed as ACH debits, so they come back with the same Nacha ACH return codes. The same thresholds and best practices apply.
Sources and Further Reading
- Nacha: ACH Network Risk and Enforcement Topics
- Nacha: Differentiating Unauthorized Return Reasons
- Nacha: Unauthorized Entry Fee
- Nacha: Supplementing Fraud Detection Standards for WEB Debits
- Nacha: ISO 20022 Guide to Mapping U.S. ACH Return Reason Codes
- Nacha: Reversals and Enforcement
- Nacha: New Return Reason Code for Sanctions Compliance Obligations (R90)
- Federal Reserve Financial Services: FedACH Notification of Change (NOC) Instructions
Set up ACH processing built for fewer returns
Payment Circle helps new U.S. online businesses, agencies, and software houses set up ACH, e-check, and card processing with clear terms and transparent pricing. Apply for a merchant account, or call us at (571) 274-7950 (9:00 AM–6:00 PM Eastern). Questions first? Contact our team.
Tell us about your business and we’ll match you with processing partners suited to your industry and volume.
