An ACH return code is the bank’s short explanation of why a payment you pulled from a customer’s account came back. Read correctly, it tells you three things at once: whether the money is gone for good or can be tried again, whether the problem is the customer’s account details or the customer’s permission, and whether your own process needs to change. The codes that matter most are R01 for insufficient funds, R02 and R03 for closed or unfindable accounts, and R05, R07, R10 and R29 for unauthorized payments, because those last ones are the ones the ACH rules watch most closely. This guide translates the common codes into plain decisions.

The short version

  • Money problems (R01, R09) usually mean the account exists but did not have the funds. These can often be retried, within limits.
  • Account problems (R02, R03, R04, R16, R20) mean the payment cannot go to that account. Do not retry. Get new bank details.
  • Permission problems (R05, R07, R08, R10, R29) mean the customer or their bank says you did not have, or no longer have, permission. Do not retry without a new authorization, and treat a pattern as a warning sign.
  • Your return rate is measured. The ACH rules set review thresholds for unauthorized, administrative and overall returns, and a business that crosses them can be asked to explain and fix its process.

Who wrote this

Nationwide Payment Systems has helped businesses accept card and bank payments since 2001, and our NPSONE platform processes ACH payments for invoices and recurring billing. This guide describes the ACH rules in general terms for business owners. It is not legal advice, and the rules are updated from time to time, so your processor and your bank have the final word on how a specific code should be handled for your account.

What an ACH return is

When you collect a payment by ACH, you are asking the customer’s bank to send money from their account to yours based on the customer’s permission. Unlike a card payment, there is no instant approval. The payment goes out, and if something is wrong, the customer’s bank sends it back as a return, with a three-character code that starts with the letter R and explains why.

Timing matters. Most returns come back within two banking days of the payment settling, which is why many businesses wait a few days before treating an ACH payment as final. Returns for unauthorized payments from a consumer’s account can arrive much later, up to sixty calendar days after settlement, because the account holder may not notice the debit right away. Business accounts have a much shorter window for unauthorized claims. That difference is one reason ACH can be so stable for business-to-business payments and needs more care for consumer payments.

A return is not the same as a card chargeback. There is no evidence packet and no representment process. The customer’s bank decides, the money comes back, and the code tells you what to do next. Your options are to fix the problem and collect another way, or, in a limited set of cases, to try the same payment again.

The three kinds of return code

It helps to sort the codes into three groups before you look at any single one, because the group decides your next step.

Money problems: the account is fine, the funds were not there

These are the most common returns and the least alarming. The customer’s account exists and you had permission, but the balance could not cover the payment when it arrived. Many of these payments succeed on a later attempt, especially if the customer is warned first.

Account problems: the payment cannot go to this account

These codes mean the bank details are wrong, the account is closed, the account is frozen, or the account type does not allow this kind of payment. Trying again will produce the same result. The fix is to contact the customer and get correct details, or a different way to pay.

Permission problems: the customer or bank says you were not authorized

These codes mean the account holder says they did not authorize the payment, revoked their authorization, stopped this specific payment, or that the payment did not match what they agreed to. These are the codes that matter most for your standing, because the ACH rules set a much lower threshold for unauthorized returns than for any other kind. You cannot simply send the payment again.

Table of the three kinds of ACH return: money problems such as R01 and R09 can often be retried within limits, account problems such as R02, R03, R04, R16 and R20 should not be retried and need new bank details, and permission problems such as R05, R07, R08, R10 and R29 should not be retried without a new authorization.

The codes merchants see most often, and what each one means

There are many return codes, but a handful account for most of what a typical business sees. Here is what each tells you and what to do.

R01: Insufficient funds

The account did not have enough money to cover the payment. This is a money problem, not a permission problem. Contact the customer, confirm when funds will be available, and try again if your agreement allows it. The ACH rules limit how many times a returned debit can be reinitiated, and a retried payment has to be clearly labeled as a retry, so set your retry schedule with your processor rather than guessing.

R09: Uncollected funds

The balance was there on paper, but the money had not cleared yet, often because of a recent deposit on hold. Treat it like R01. A short delay and a second attempt often succeed.

R02: Account closed

The account was open when the customer gave it to you and has since been closed. Do not retry. Reach out for new bank details, and if this is a recurring customer, pause their schedule until you have them. An R02 on a brand-new customer’s first payment is worth a second look, because it can point to old or borrowed account details.

R03: No account or unable to locate account

The account number and the name or routing details do not match an account the bank can find. Usually it is a typing mistake, sometimes a fake or stolen account number. Do not retry. Confirm the details with the customer, ideally through a form they fill in themselves rather than numbers read over the phone.

R04: Invalid account number

The account number is not in a valid format for that bank. This is almost always a data entry error. Fix the number with the customer before trying again.

R16: Account frozen

The bank has frozen the account, often for legal or fraud reasons. You will not collect from this account. Contact the customer for a different way to pay.

R20: Non-transaction account

The account is a type that does not allow this kind of transfer, such as some savings or money market accounts. Ask the customer for a checking account or another payment method.

R05: Unauthorized debit to a consumer account using a business entry type

The payment was sent as if it were a business-to-business payment, but the account belongs to a consumer who says they did not authorize it. This often signals a setup mistake on the merchant’s side, where consumer customers are being billed as businesses. Check how your payments are classified with your processor.

R07: Authorization revoked

The customer told their bank they took back the permission they gave you, usually for recurring payments. Stop the schedule. If you believe money is still owed, contact the customer and collect another way. Do not resend the debit without a new authorization.

R08: Payment stopped

The customer placed a stop payment on this specific debit. Unlike R07, it may apply to a single payment rather than the whole arrangement. Talk to the customer before sending anything else.

R10: Customer says the payment is unauthorized

The account holder told their bank they do not know you or did not authorize you to debit their account. This is the code that most often arrives late, and the one to take most seriously. Pull your authorization record. If you have a clear, signed or recorded authorization, talk to the customer, because the dispute may be a misunderstanding, but you cannot simply resend the debit. A cluster of R10 returns can mean stolen account details, a confusing statement name, or a sign-up process that does not make the billing clear.

R29: Business customer says the payment is unauthorized

This is the business-account version of an unauthorized return. Many companies use debit blocks or filters that only allow payments from approved originators, so an R29 can mean your company was not on the customer’s approved list rather than a true dispute. Contact the customer’s accounts payable team, ask them to add your company identification, and get a fresh authorization before trying again.

Return codes at a glance

Code What it means Can you retry? What to do
R01 Insufficient funds Yes, within the rule limits Warn the customer, retry on a set schedule
R09 Uncollected funds Yes, within the rule limits Wait for funds to clear, then retry
R02 Account closed No Get new bank details
R03 No account or unable to locate No Confirm details with the customer
R04 Invalid account number No, until fixed Correct the number
R16 Account frozen No Ask for another way to pay
R20 Non-transaction account No Ask for a checking account
R05 Consumer account billed as a business No Fix how payments are classified
R07 Authorization revoked No Stop the schedule, collect another way
R08 Payment stopped No Talk to the customer first
R10 Consumer says unauthorized No Pull the authorization, contact the customer
R29 Business says unauthorized No, until re-authorized Ask to be added to their approved list

Why your return rate matters

The organization that writes the ACH rules, Nacha, measures how often each business’s payments come back. Its rules set a review threshold of 0.5 percent for unauthorized returns, a level of 3.0 percent for administrative returns, which are mostly the account problem codes, and a level of 15.0 percent for all returns combined. A business that goes over those levels can be reviewed and asked to bring its rate down, and a bank that sends payments for that business is expected to act. In practice, your processor will usually contact you long before that point if your returns start climbing.

The thresholds tell you where to focus. Unauthorized returns have the tightest limit because they suggest a business is pulling money without clear permission. Administrative returns point to bad account data. A high overall rate usually means a process problem, such as charging customers without warning or retrying failed payments too aggressively.

How to reduce ACH returns

Most returns can be prevented by tightening a few steps around authorization and account details.

  • Get clear, written authorization for every debit, and for recurring payments make the amount, the schedule and how to cancel obvious. Keep a copy you can find quickly.
  • Let customers enter their own bank details on a secure form or payment link instead of reading numbers over the phone. Most R03 and R04 returns start as typing mistakes.
  • Verify new accounts before the first large payment, using the account verification tools your processor offers.
  • Send a reminder before each recurring debit, so the customer knows it is coming and can make sure the funds are there.
  • Use a statement name customers recognize. A confusing name on a bank statement turns a valid payment into an R10.
  • Classify payments correctly. Consumer payments and business payments follow different ACH rules. Getting it wrong produces R05 returns.
  • Act on notifications of change. When a bank sends a correction for an account number or routing number, update your records before the next payment.
  • Retry money problems on a schedule, never permission problems. Retrying an unauthorized return makes things worse.
Checklist of six ways to reduce ACH returns: get clear written authorization, let customers enter their own bank details, send a reminder before each recurring debit, use a statement name customers recognize, classify consumer and business payments correctly, and retry money problems on a schedule but never permission problems.

Our ACH optimization guide explains which payments are worth moving to ACH in the first place, and our page on ACH payments for B2B covers bank payments for business customers.

ACH returns and card chargebacks are different problems

Business owners sometimes treat a return like a chargeback, and the two work very differently. A card chargeback is a dispute you can answer with evidence, and the card issuer decides who wins. An ACH return is final once it arrives, and your next step depends on the code rather than on an argument. Business-to-business ACH payments in particular are hard to reverse once the short return window passes, which is one reason many companies prefer them for large invoices. If you also accept cards, our guide to chargebacks and your merchant account explains the card side.

Where NPS fits, and where it does not

NPSONE accepts ACH and card payments on one platform, with Smart Invoicing that sends secure payment links by email or text, recurring ACH for retainers and subscriptions, auto-pay enrollment and accounting sync, so returned payments show up next to the invoices they belong to. Customers enter their own bank details through the payment link, which cuts down on the typing errors behind many account returns. When a return comes back, you can call our team and talk to a person about what the code means for your account.

We may not be the right fit if you only collect an occasional bank payment, if you want an instant self-service signup without underwriting, or if you are choosing only on the lowest advertised price. Every ACH program is set up for the business that uses it, and some business types need more review before bank payments are approved.

Bottom line

An ACH return code is a decision, not just an error. Money problems can usually be retried within the rule limits. Account problems need new details. Permission problems need a conversation and a fresh authorization, never an automatic retry. Watch your unauthorized returns most closely, because that is where the rules are strictest, and fix the process behind any code that keeps repeating.

If ACH returns are eating into your cash flow, you can talk with our team, or browse more topics in our payments guides.

Frequently asked questions

What is an ACH return code?

It is a three-character code, starting with R, that the customer’s bank sends back when an ACH payment cannot be completed. The code explains why, such as insufficient funds, a closed account or an unauthorized payment. It tells you whether you can try again or need to contact the customer.

What is the most common ACH return code?

R01, insufficient funds, is one of the most common. The account exists and you had permission, but the balance could not cover the payment. It can usually be retried within the limits of the ACH rules, ideally after warning the customer.

How long does it take for an ACH payment to be returned?

Most returns arrive within two banking days of settlement. Unauthorized returns on consumer accounts can come back up to sixty calendar days later, while business accounts have a much shorter window. That is why many businesses wait a few days before treating an ACH payment as final.

Can I resend an ACH payment that was returned?

Only for some codes. Payments returned for insufficient or uncollected funds can be reinitiated a limited number of times under the ACH rules. Payments returned as unauthorized, revoked or stopped cannot be resent without a new authorization from the customer.

What is the difference between R10 and R29?

Both mean the account holder says the payment was not authorized. R10 is used for consumer accounts and R29 for business accounts. An R29 often means your company was not on the customer’s approved list of debit originators, which a call to their accounts payable team can fix.

What is an acceptable ACH return rate?

Nacha’s rules set a review threshold of 0.5 percent for unauthorized returns, a level of 3.0 percent for administrative returns and a level of 15.0 percent for all returns. A business above those levels can be reviewed and asked to bring its rate down. Most businesses aim to stay well below them.

Is an ACH return the same as a chargeback?

No. A card chargeback is a dispute you can answer with evidence. An ACH return is final once it arrives, and the code decides your next step. Business-to-business ACH payments are hard to reverse once the short return window has passed.

How can I reduce ACH returns?

Get clear written authorization, let customers enter their own bank details on a secure form, and send a reminder before each recurring debit. Use a statement name customers recognize, classify consumer and business payments correctly, and update account details when the bank sends a correction.