ACH Return Codes Explained: What R01 Through R29 Mean and What to Do
Jul 21, 2026
Convert your bank statement to Excel now
PDF, JPG, PNG, BMP, HEIC, TIFF, MT940
Upload your bank statement
Drop file here or click to upload
PDF, JPG, PNG, BMP, HEIC, TIFF, MT940
Uploading...
Last updated July 2026.
When an ACH payment fails, the receiving bank sends it back with a return code: a two-character label starting with R that tells you exactly why. If you run payroll, collect recurring payments, or manage accounts payable, these codes decide whether you retry, fix account details, or stop debiting a customer for good. This guide explains the common ones in plain English, gives the return window for each group, and tells you what to do next.
What is an ACH return code?
An ACH return code is a standardized reason code the receiving bank (the RDFI) uses to send a payment back to the originating bank (the ODFI) through the ACH network. Every return carries one code, from R01 to R85, and the code sets both the reason and the rules for what you can do next. The codes are defined by Nacha, the body that governs the ACH network in the United States. You will see them on your bank's return report or inside the ACH return file, and knowing what each means saves you from retrying a payment that will never clear.
The most common ACH return codes
A handful of codes account for the large majority of returns. Here are the ones you will actually run into.
| Code | Meaning | What to do |
|---|---|---|
| R01 | Insufficient funds | You may retry, up to the reinitiation limits |
| R02 | Account closed | Do not retry; get new account details |
| R03 | No account or unable to locate account | Verify and correct the account number |
| R04 | Invalid account number | Fix the account number, then resend |
| R05 | Unauthorized debit to a consumer account | Stop debiting; you lack proper authorization |
| R07 | Authorization revoked by customer | Stop debiting this account |
| R08 | Payment stopped | Contact the customer before retrying |
| R09 | Uncollected funds | Funds pending; you may retry |
| R10 | Customer advises the debit is not authorized | Stop debiting; resolve the dispute |
| R16 | Account frozen | Do not retry until the hold clears |
| R20 | Non-transaction account | Get a different, eligible account |
| R29 | Corporate customer advises the debit is not authorized | Stop debiting the business account |
How long does the other bank have to return an ACH payment?
It depends on the reason. Most administrative returns, such as insufficient funds or a closed account, must come back by the second banking day after the settlement date. Unauthorized consumer debits, the R10 and R11 family, get a much longer window: the consumer has up to 60 calendar days from the statement date to dispute, so those returns can arrive weeks later. Corporate unauthorized returns like R29 must come back faster, typically by the opening of the second banking day. Because the windows differ, a payment you thought had cleared can still bounce back as an unauthorized return more than a month on.
Can I retry a returned ACH payment?
Sometimes. A payment returned for insufficient or uncollected funds (R01 or R09) can be reinitiated, but Nacha rules limit you to two retries after the original attempt, and they must happen within 180 days. Codes that signal the account is wrong or the authorization is gone, such as R02, R07, R08, R10, and R29, should not be retried at all, because the payment will fail again and repeated unauthorized attempts create real compliance exposure. When a code tells you the authorization is revoked or was never valid, the correct move is to stop, not to try harder.
Why keeping your return rate low matters
Nacha sets return rate thresholds that originators are expected to stay under, and the unauthorized return rate has the tightest limit. Crossing those thresholds triggers review and can jeopardize your ability to originate ACH at all. The practical defense is clean data going in: verify account numbers before you send, honor stop requests immediately, and reconcile returns promptly so a bad account does not get debited twice. Automating the payments run with an accounts payable automation platform reduces the manual keying that produces R03 and R04 errors in the first place.
Reading the returns in a spreadsheet
ACH files, including the return entries, are fixed-width NACHA-format text, not something you can open and total in Excel as is. To reconcile returns against the payments you originated, you need the entries as rows with the amount, the account, and the return code in their own columns. The NACHA file to Excel converter reads the batch and entry records into a spreadsheet so you can filter by return code, total the returned amount, and match each one back to its original payment. From there, a quick look at your bank statement confirms which debits actually settled, and reconciling the statement ties the whole run together.
The bottom line
ACH return codes are a short vocabulary that tells you exactly what to do: retry the funding failures within the limits, fix the account errors, and stop cold on anything that says the authorization is gone. Watch the 60-day window on consumer disputes, keep your return rate low with clean data, and convert the return file to a spreadsheet so reconciling takes minutes instead of a manual read.
Ready to convert your bank statement?
Upload a PDF and get clean Excel or CSV in seconds. Works with statements from any bank.
Convert to Excel nowFree to try, no credit card required