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

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.

CodeMeaningWhat to do
R01Insufficient fundsYou may retry, up to the reinitiation limits
R02Account closedDo not retry; get new account details
R03No account or unable to locate accountVerify and correct the account number
R04Invalid account numberFix the account number, then resend
R05Unauthorized debit to a consumer accountStop debiting; you lack proper authorization
R07Authorization revoked by customerStop debiting this account
R08Payment stoppedContact the customer before retrying
R09Uncollected fundsFunds pending; you may retry
R10Customer advises the debit is not authorizedStop debiting; resolve the dispute
R16Account frozenDo not retry until the hold clears
R20Non-transaction accountGet a different, eligible account
R29Corporate customer advises the debit is not authorizedStop 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 now

Free to try, no credit card required

From the same family of tools