ACH Return Codes Explained: A Guide for Merchants

Business owner reviewing a financial report and payment records at a desk to track ACH return codes

Table of Contents

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.

Need a merchant account that fits your business?

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.

CodeOfficial Nacha titleWhat it usually meansNext step
R01Insufficient FundsNot enough money in the account when the debit posted.May be reinitiated within Nacha limits; contact the customer.
R02Account ClosedThe customer closed the account.Do not retry. Get new bank details.
R03No Account / Unable to Locate AccountThe account number doesn’t match an open account or the name.Do not retry. Verify details with the customer.
R04Invalid Account Number StructureThe account number format is wrong (often a typo).Correct the data before sending again.
R05Unauthorized Debit to Consumer Account Using Corporate SEC CodeA consumer account was debited using a business-only entry type.Stop. Use the correct entry type and a valid authorization.
R07Authorization Revoked by CustomerThe customer withdrew permission for your debits.Stop all debits. New authorization required.
R08Payment StoppedThe customer placed a stop payment on this debit.Contact the customer before any further attempt.
R09Uncollected FundsA balance exists, but funds aren’t yet available.May be reinitiated within Nacha limits.
R10Customer Advises Originator is Not Known to Receiver and/or Originator is Not Authorized by Receiver to Debit Receiver’s AccountThe customer says they don’t know you or never authorized the debit.Stop. Do not resubmit without a new, valid authorization.
R11Customer Advises Entry Not in Accordance with the Terms of the AuthorizationAuthorization existed, but the amount, date, or details were wrong.Fix the error; a corrected entry may be sent without new authorization.
R16Account Frozen / Entry Returned Per OFAC InstructionThe account is frozen or blocked.Do not retry. Collect payment another way.
R20Non-Transaction AccountThe account type doesn’t allow this debit.Ask the customer for a different account.
R24Duplicate EntryThe bank believes this debit was already sent.Check your batch files for double submissions.
R29Corporate Customer Advises Not AuthorizedA business account holder says the debit wasn’t authorized.Stop. Confirm authorization with the business.
Official code titles from the Nacha ISO 20022 Guide to Mapping U.S. ACH Return Reason Codes.

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.

CodeOfficial Nacha titlePlain-English meaning
R06Returned per ODFI’s RequestYour own bank asked the customer’s bank to send the entry back, usually to fix an error.
R12Account Sold to Another DFIThe account moved to a different bank. Ask the customer for new details.
R13Invalid ACH Routing NumberThe routing number is wrong or the bank cannot take ACH entries. Check it before resending.
R14Representative Payee Deceased or Unable to Continue in That CapacityThe person who managed the account for someone else can no longer act. Stop and contact the account holder.
R15Beneficiary or Account Holder (Other Than a Representative Payee) DeceasedThe account holder has died. Stop all debits.
R17File Record Edit Criteria / Entry with Invalid Account Number Initiated Under Questionable Circumstances / Return of Improperly Initiated ReversalA field could not be processed, or the bank flagged the entry as suspicious. Review the data with your processor.
R21Invalid Company IdentificationThe company ID on the entry is not valid. Your processor needs to fix the setup.
R22Invalid Individual ID NumberThe individual ID number on the entry is wrong. Correct it before resending.
R23Credit Entry Refused by ReceiverApplies to credits, such as a refund or payout, that the customer refused.
R31Permissible Return Entry (CCD and CTX) onlyA late return of a business debit that your bank agreed to accept.
R33Return of XCK EntryA return of a check truncation entry. Rare for online merchants.
Titles from the Nacha ISO 20022 return code mapping guide.

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 categoryCodes includedNacha limitWhat going over it means
Unauthorized returnsR05, R07, R10, R11, R29, R510.5% (threshold)Can lead to a Nacha enforcement proceeding against your bank, which will push the problem back to you.
Administrative returnsR02, R03, R043.0% (return rate level)Starts a preliminary inquiry. Not an automatic violation, but your bank will want answers.
Overall debit returnsAll return codes for debit entries (excluding RCK entries)15.0% (return rate level)Starts a preliminary inquiry into why so many debits fail.
Source: Nacha ACH Network Risk and Enforcement Topics.

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.

  1. Read the code, not just the status. “Returned” is not enough. Log the exact R-code against the customer record.
  2. Pause fulfillment or access if needed. For digital products, subscriptions, and services, hold further delivery until the payment is resolved.
  3. 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)?
  4. 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.
  5. For data issues: Never resend the same details. Contact the customer, collect corrected information, and validate the new account before debiting.
  6. 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.
  7. Update your records and recurring schedules. Make sure your billing system won’t send the next scheduled debit automatically.
  8. 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.

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

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.

Keep reading
Nacha Rule Changes 2026: What Merchants Need to KnowRead guide →ACH Processing Time: How Long ACH Payments TakeRead guide →ACH Authorization Requirements: A Merchant GuideRead guide →
Ready to accept payments with confidence?

Tell us about your business and we’ll match you with processing partners suited to your industry and volume.

Leave a Comment

Your email address will not be published. Required fields are marked *