Learn · Bank payments (ACH)

ACH return codes: what they mean and which ones count against you

The two-character reason a bank gives when it sends a debit back, and the limits Nacha sets.

0.5%Nacha's limit on unauthorized returns
3.0%Nacha's level for administrative returns
15.0%Nacha's level for all debit returns
60 daysthe window Nacha measures rates over
In brief

An ACH return code is the reason a receiving bank gives when it sends an ACH debit back. Codes start with R and a number. R01 means insufficient funds and R02 means the account is closed. Nacha groups some codes for monitoring. Administrative returns (R02, R03, R04) have a 3.0% return rate level. Unauthorized returns (R05, R07, R10, R29, R51) have a 0.5% threshold. All debit returns together have a 15.0% level. Rates are measured over the preceding 60 days or two calendar months.

What is an ACH return code?

When a bank can't or won't post an ACH debit, it returns the payment with a reason code. The code tells the business that sent the debit what went wrong. Under Nacha's rules, it also decides how the return is counted when the business's return rates are measured. Processors pass the code on. Stripe, for example, shows the raw ACH return code on a blocked bank account and maps each code to its own failure reason.

What do the common codes mean?

These meanings come from Nacha's rules pages and Stripe's network code reference.

Code Meaning Nacha group
R01 Insufficient funds Counted in overall returns only
R02 Bank account closed Administrative
R03, R04 Account details incorrect Administrative
R05 Unauthorized debit. Stripe maps it to "no authorized mandate" Unauthorized
R07 Authorization revoked Unauthorized
R10 Customer says the originator isn't known or isn't authorized to debit the account Unauthorized
R11 Customer says the debit doesn't follow the terms of the authorization Unauthorized under the rules
R29 Unauthorized, on a corporate (CCD or CTX) debit to a non-consumer account Unauthorized
R51 An improperly originated RCK entry Unauthorized

R11 is for errors in an otherwise authorized payment, such as the wrong date or amount. Nacha lets the originator fix the error and send a new debit without a new authorization, within 60 days of the return's settlement date. After an R10, the originator has no valid authorization.

Which return rates does Nacha watch?

Nacha measures each originator's returns over the preceding 60 days or two calendar months:

  • Unauthorized returns (R05, R07, R10, R29, R51): a threshold of 0.5%. Nacha cut it from 1.0%.
  • Administrative returns (R02, R03, R04): a return rate level of 3.0%.
  • All debit returns, for any reason, excluding RCK entries: a level of 15.0%.

Going over a level can lead Nacha to look more closely at how the business originates debits. Nacha's own rules page says R11 returns also fall within the unauthorized entry return rate.

What should a business do after a return?

It depends on the group:

  • Insufficient funds (R01): ask the customer before trying again. Stripe doesn't block an account for past insufficient-funds returns.
  • Administrative (R02, R03, R04): get new account details. Stripe blocks the account until the issue is resolved, because Nacha requires originators to review the account before reinitiating.
  • Unauthorized (R05, R07, R10, R29): stop debiting and contact the customer. On Stripe you need a new mandate before the next debit.

For how returns play out on a payment plan, see ACH returns on payment plans. Each linked code has its own page with its deadline, its return-rate group and what to do on a plan.

Sources

Every figure on this page was checked against these sources on Oct 6, 2026. General information, not legal or tax advice.

Built for businesses collecting $100K a month or more.

Payment plans built from the deal in HubSpot or Pipedrive, with each location paid into its own account and books.

Book 15 minutes