ACH Return Codes: R01, R02, R10 Meanings and Next Steps
ACH return codes explained: what R01, R02, R03, R10, R11 and R29 mean, return timeframes, Nacha return rate limits and how to rebill a returned payment.
Quick answer: ACH return codes are two-character reasons (R01, R02, R10 and so on) that a bank attaches when it sends an ACH payment back. R01 means insufficient funds, R02 means the account is closed, R03 means no account was found, and R10 means the account holder says the debit was not authorized. Each code tells you whether to retry, fix details or get new authorization.
If you collect invoice payments by ACH, a return notice is the moment a "paid" invoice quietly turns back into an unpaid one. This guide explains the ACH return codes small businesses actually see, the return timeframes under the Nacha Operating Rules, the return rate limits that can put your account under review, and exactly how to rebill the client. If you are still setting up bank payments, start with how to accept ACH payments, and use the free invoice generator to send a clean replacement invoice when a payment bounces.
This article is general information about US payment rules, not legal or banking advice. Your bank or processor agreement may add stricter rules.
What an ACH Return Code Is
The ACH network moves two kinds of entries: credits, where the payer pushes money to you, and debits, where you (through your bank or processor) pull money from the payer's account with their permission. When the receiving bank cannot or will not post an entry, it sends a return through the network with a reason code. Your bank or processor then passes that code to you, usually on a dashboard, a return report or an email.
The codes come from the Nacha Operating Rules, which govern the US ACH Network. There are dozens of them, but a small business invoicing clients normally runs into fewer than ten. Knowing which group a code belongs to tells you most of what you need:
- Funding returns (R01, R09): the money was not there. Retrying may work.
- Administrative returns (R02, R03, R04): the account details are wrong or out of date. Retrying the same details will fail again.
- Unauthorized returns (R05, R07, R10, R11, R29, R51): the account holder disputes your right to debit them. You need fresh authorization or a different payment method.
- Account status returns (R16, R20 and similar): the account is frozen or cannot accept that type of entry.
Common ACH Return Codes and Their Meanings
The table below lists the ACH return codes that most often appear on small business payments, what each one means in plain English, and the usual next step. Descriptions follow the Nacha code titles.
| Code | Nacha title (short) | What it means for your invoice | Usual next step |
|---|---|---|---|
| R01 | Insufficient funds | Client's balance did not cover the debit | Contact client, agree a date, reinitiate (limits apply) |
| R02 | Account closed | Account existed but is now closed | Get new bank details and a new authorization |
| R03 | No account / unable to locate account | Number passed format checks but does not match an account or name | Re-check what you keyed in, then ask the client |
| R04 | Invalid account number structure | Account number is not in a valid format | Correct the number; usually a typo |
| R05 | Unauthorized debit to consumer account using corporate SEC code | You debited a personal account as if it were a business | Get consumer authorization and use the correct entry type |
| R07 | Authorization revoked by customer | Client cancelled the permission you had | Stop debits; ask for another payment method |
| R08 | Payment stopped | Client placed a stop payment on this entry | Talk to the client before doing anything else |
| R09 | Uncollected funds | Balance exists but funds are not yet available | Treat like R01 |
| R10 | Customer advises originator not known or not authorized | Account holder says they never authorized you | Do not resubmit; get written authorization |
| R11 | Entry not in accordance with terms of authorization | Authorization exists but amount, date or other detail was wrong | Correct the error and send a new entry |
| R16 | Account frozen | Bank has frozen the account | Ask the client for another account |
| R20 | Non-transaction account | Account type does not allow this kind of entry | Ask for a checking account |
| R29 | Corporate customer advises not authorized | A business payer disputes your debit | Confirm authorization with the client's AP team |
R01 and R09: the money was not there
R01 is the return you will see most. It is not an accusation, and it does not mean the client is refusing to pay. It means that on the day the debit hit, their balance was short. Nacha rules allow an originator to reinitiate an entry returned for R01 or R09, generally no more than two more times following the return, within 180 days of the original settlement date. In practice, a quick call or email to agree a date works better than an automatic retry that may bounce again and cost you another fee.
R02, R03 and R04: the details are wrong
These administrative codes mean the bank details on file are no good. R04 is a structural problem (wrong length or format), R03 means the number looks valid but there is no matching account or the name does not match, and R02 means the account has been closed. Never retry these with the same numbers. If the client gave you a voided check or a bank letter, compare what you entered against it; our guide to voided checks for direct deposit shows where the numbers sit. For the difference between the two numbers, see routing number vs account number.
R10, R11 and R29: authorization disputes
These are the codes that matter most to your bank. R10 says the account holder does not recognize you or never gave permission. R11 says permission exists, but the entry did not match it, for example the wrong amount or a debit taken earlier than agreed. Nacha repurposed R11 for this in 2020, and its guidance says an originator can correct the error and send a new entry within 60 days of the return's settlement date without obtaining a new authorization. R29 is the business-account equivalent of an unauthorized return, used for corporate (CCD and CTX) entries.
ACH Return Timeframes: How Long Can a Payment Bounce?
A common surprise is that an ACH payment that looks settled can still come back. The timeframe depends on the code:
- Standard returns (R01, R02, R03, R04, R09, R16, R20, R29 and most others): the receiving bank must return the entry within two banking days of settlement.
- Extended returns for unauthorized consumer debits (such as R10 and R11): the receiving bank can return the entry up to 60 days after settlement, supported by the consumer's written statement of unauthorized debit.
This is why many businesses wait a few banking days before treating an ACH debit as final, and why you should not ship goods or release work on the same day an ACH debit settles if the amount is large. For high-value or first-time clients, a push payment such as a wire is harder to reverse; our ACH vs wire transfer comparison covers the trade-offs.
Nacha Return Rate Limits for Businesses
If you originate ACH debits, your bank monitors how often your entries come back. Nacha sets three return rate levels for debit entries, calculated over the preceding 60 days or two calendar months:
| Measure | Level | Codes counted |
|---|---|---|
| Unauthorized return rate threshold | 0.5% | R05, R07, R10, R11, R29, R51 |
| Administrative return rate level | 3.0% | R02, R03, R04 |
| Overall return rate level | 15.0% | All return codes on debits |
Exceeding a level triggers an inquiry rather than an automatic penalty, but repeated problems can lead your bank or processor to restrict or close your ACH access. Nacha also charges an unauthorized entry fee between banks on unauthorized returns, which many processors pass on as a returned payment charge. The Nacha page on ACH Network risk and enforcement explains the levels, and our summary of the Nacha 2026 rules on fraud monitoring covers the newer obligations on businesses.
For a small business, staying well under these levels mostly comes down to good data entry, clear authorizations and debiting on the agreed date.
How to Handle an ACH Return: Step by Step
When a return notice arrives, work through these steps in order:
- Read the code and the date. Note the return code, the original settlement date and the return date. These go in your records and in your message to the client.
- Reverse the payment in your books. Record the return on the return date so your bank balance and receivables match. Our bank reconciliation guide shows how to match it.
- Reopen the invoice. Mark the invoice unpaid or issue a replacement showing the balance due. Keep the original invoice number in the reference so the client's accounts payable team can match it.
- Void any receipt you sent. If you already emailed a receipt, send a brief note saying the payment was returned by the bank and the receipt no longer applies.
- Contact the client with the specific reason. "Your bank returned the payment with code R01, insufficient funds" is clearer and less awkward than a vague "your payment failed".
- Choose the fix that matches the code. Agree a new date for R01, collect new details for R02 to R04, and get a new signed authorization or switch method for R07, R10 and R29.
- Add any agreed fee as a separate line. Only if your terms already allow a returned payment fee.
- Update your authorization file. Note what changed and keep the new authorization with the client record.
Worked Example: Rebilling an R01 Return
A bookkeeping firm invoices a client $2,450.00 for quarterly services on invoice INV-1042. The client authorized ACH debits, and the firm's processor pulls the payment on the due date. Two banking days later the debit comes back with R01. The firm's terms say a returned payment fee of $25.00 applies.
Here is how the replacement invoice works in the US invoice generator:
| Line | Amount |
|---|---|
| Quarterly bookkeeping services (ref INV-1042) | $2,450.00 |
| Tax (services not taxable in this example, 0%) | $0.00 |
| Extra charge: returned ACH payment fee (R01) | $25.00 |
| Total | $2,475.00 |
| Amount paid | $1,000.00 |
| Balance due | $1,475.00 |
The client calls, apologizes and pays $1,000.00 by card the same day, then agrees to a second ACH debit of $1,475.00 in ten days. The firm enters $1,000.00 in the amount paid field, which produces the $1,475.00 balance due ($2,475.00 minus $1,000.00). The second debit is a reinitiation of the returned amount plus the agreed fee, so the firm also confirms the fee is covered by the client's written authorization before pulling it. Our guide to partial payment invoices shows how to word the amount-paid line.
ACH Returns on Payments You Receive by Credit
Many small businesses never originate debits: clients simply push an ACH credit using the details printed on the invoice. Returns still happen here, but the code goes to the payer's bank, not to you. If a client says their payment "came back", the usual reasons are R02 (your account is closed), R03 (the number does not match an account or the name) or R04 (a typo in the account number).
Those are almost always problems with the payment details you published. Check that the routing and account numbers on your invoice template are current, that the account name matches your legal or trading name, and that you have not mixed up a wire routing number with an ACH routing number. Our bank details on invoice guide covers exactly what to print and where.
How to Prevent ACH Returns
Most returns are avoidable with a few habits:
- Verify new accounts. Use your processor's account verification, a prenote or micro-deposits before the first live debit.
- Get clear written authorization. State the amount or how it is calculated, the timing, and how the client can revoke it. This is your defense against R10 and R29.
- Use the right entry type. Personal accounts and business accounts are treated differently. Debiting a consumer account as a corporate entry leads to R05.
- Debit on the agreed date only. Early or wrong-amount debits produce R11 returns.
- Send a reminder before the debit. A short email three days before the pull reduces R01 returns more than any rule change.
- Collect bank detail changes in writing. Confirm changes by phone using a number you already have, which also protects you from payment redirection fraud. Our vendor onboarding checklist covers this process from the other side.
ACH Return Codes vs Other Payment Failures
ACH returns are not the same as card declines or chargebacks. A card decline happens before the payment is accepted. A card chargeback can arrive months later and goes through the card network's dispute process. An ACH return is a bank-to-bank message with a fixed code and a defined timeframe. If you need to compare methods, see the best payment methods for small business, and if a client pays less than the invoice rather than nothing, follow our guide to short payments and deductions instead.
Rebill Returned ACH Payments With a Clear Invoice
ACH return codes are short, but they tell you exactly what went wrong: no funds, bad details or a disputed authorization. Match your response to the code, reopen the invoice, and send a replacement that references the original invoice number and shows any amount already paid. You can create that replacement in minutes with the free invoice generator, use the invoice number generator to keep your numbering consistent, and follow up with our overdue invoice process if the balance stays unpaid. When your invoice looks right, download it as a PDF and send it straight to your client.
Frequently asked questions
What does ACH return code R01 mean?
R01 means insufficient funds: the payer's available balance did not cover the debit when their bank tried to post it. It is the most common return a small business sees when it pulls invoice payments by ACH debit. Nacha rules allow you to reinitiate an R01 debit, generally up to two more times within 180 days of the original settlement date, but it is usually better to contact the client first and agree a new date.
What is the difference between R02 and R03?
R02 means the account existed but has been closed, either by the customer or by their bank. R03 means the bank could not find the account at all, or the account number does not match the name on the entry, even though the number passed basic format checks. Both are administrative returns. For R02 you need new bank details from the client; for R03 you should re-check the numbers you keyed in before asking the client.
What does R10 mean on an ACH return?
R10 means the account holder told their bank they do not know the company that debited them, or never authorized it to debit their account. It is an unauthorized return and counts toward Nacha's 0.5% unauthorized return rate threshold. Consumer accounts can use it for up to 60 days, backed by a written statement. Do not simply resubmit an R10 debit. Get a fresh, written authorization first or switch the client to a push payment method.
How long does a bank have to return an ACH payment?
Most ACH returns, such as R01, R02 and R03, must be made within two banking days of the settlement date. Unauthorized returns on consumer accounts, such as R10 and R11, get an extended window of up to 60 days. Business accounts disputing a debit use R29, which falls under the shorter two-day window. That is why a payment can look settled on Monday and still bounce later in the week.
Can an ACH credit payment be returned?
Yes. If a client pushes an ACH credit to an account number that is closed, wrong or cannot be located, your bank returns it to the client's bank with a code such as R02, R03 or R04. You did not receive the money, so the invoice stays open. The fix is usually on your side: confirm the routing and account number on your invoice and remittance details are current and readable.
Who pays the fee when an ACH payment is returned?
It depends on your processor and your contract. Many processors charge the merchant a returned payment fee; PayPal, for example, lists a 5 USD ACH return or unauthorized fee on its US merchant fee page as of 2026. Whether you can pass a fee on to the client depends on what your terms say. If your invoice terms mention a returned payment fee, add it as a separate line on the replacement invoice.
What is the Nacha unauthorized return rate threshold?
Nacha sets an unauthorized debit return rate threshold of 0.5%. It covers return codes such as R05, R07, R10, R11, R29 and R51 on debit entries. There is also a 3.0% administrative return rate level for R02, R03 and R04 and a 15.0% overall return rate level for all debit returns. Going over a level starts an inquiry by Nacha rather than an automatic fine, but your bank will watch it closely.
Should I mark the invoice unpaid after an ACH return?
Yes. Reverse the payment in your books on the return date, reopen the invoice or issue a replacement showing the balance due, and tell the client which return code you received. Keep the return notice with the invoice record. If you already sent a payment receipt, send a short note saying the receipt is void because the payment was returned by the bank, so both sides have matching records.
Invoice Creator Editorial Team
Guides on invoicing, cash flow and small-business finance from Invoice Creator, operated by Next Software Development Company. Content is reviewed for accuracy against the fields our own invoice generator produces.
Try the invoice generator