What Is an ACH Return Code? NACHA Return Codes (R01 to R85) Explained
Jul 20, 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.
An ACH return code is the two-character reason (R01 through R85) a bank sends back when it cannot post a NACHA ACH payment. R01 means insufficient funds, R02 means the account is closed, and R03 means the account cannot be located. The receiving bank returns most administrative codes within two banking days; unauthorized-debit codes can come back up to 60 calendar days later.
What is an ACH return code?
An ACH return code is a standardized reason code the Receiving Depository Financial Institution (RDFI, the payer's bank) puts on an ACH entry it is sending back to the Originating Depository Financial Institution (ODFI, the originator's bank). Every code starts with the letter R followed by two digits. The code travels back inside a NACHA return file, so if you originate ACH debits or credits you will see these codes in the return batches your processor or bank hands you. They tell you exactly why a payment failed and, just as important, how long you have to act on it.
How ACH returns work: ODFI, RDFI, and the return window
When you originate an ACH entry, your bank (the ODFI) sends it through the ACH network to the customer's bank (the RDFI). If the RDFI cannot honor the entry, it does not simply drop it. It creates a return entry carrying the original transaction plus a return reason code and sends it back up the chain. Two windows govern how long the RDFI has. Standard administrative returns, the kind triggered by a bad account or no money, must be transmitted so they settle within two banking days of the original settlement date. Returns based on the customer disputing the debit as unauthorized or improper can arrive up to 60 calendar days after settlement, because the account holder needs time to notice the charge and sign a written statement.
Common ACH return codes and what they mean
There are more than 80 codes in the NACHA Operating Rules, but a handful account for the vast majority of real-world returns. Here are the ones you will actually see, what triggers each, and the window the RDFI has to send it back.
| Code | Meaning | Typical cause | Return window |
|---|---|---|---|
| R01 | Insufficient funds | Account balance will not cover the debit | 2 banking days |
| R02 | Account closed | A previously open account has been closed | 2 banking days |
| R03 | No account or unable to locate | Account number is valid in form but does not match an open account | 2 banking days |
| R04 | Invalid account number | Account number structure is wrong or fails a check digit | 2 banking days |
| R05 | Unauthorized debit to a consumer account | A corporate debit hit a consumer account without authorization | 60 calendar days |
| R07 | Authorization revoked | Customer had authorized the debit but revoked it | 60 calendar days |
| R08 | Payment stopped | Customer placed a stop payment on the entry | 2 banking days |
| R09 | Uncollected funds | Balance is present but not yet available (holds) | 2 banking days |
| R10 | Originator not known or not authorized | Customer says they never authorized this originator | 60 calendar days |
| R11 | Entry not in accordance with the terms | Debit was authorized but wrong amount, date, or otherwise off | 60 calendar days |
| R16 | Account frozen | Access to the account is restricted by the RDFI or legal action | 2 banking days |
| R20 | Non-transaction account | Account does not allow ACH (for example a savings limit or CD) | 2 banking days |
| R29 | Corporate customer advises not authorized | A business account holder disputes a CCD or CTX debit | 2 banking days |
Administrative returns vs unauthorized returns
The single most useful way to group these codes is by who decided to send the entry back. Administrative returns (R01, R02, R03, R04, and similar) are the RDFI's own decision: there is no money, no account, or a technical problem, so the bank bounces it within two banking days and no customer signature is involved. Unauthorized returns (R05, R07, R10, R11, and R29) are the account holder's decision: the customer tells their bank the debit should not have happened, signs a Written Statement of Unauthorized Debit, and the bank has up to 60 calendar days from settlement to return it. Knowing which bucket a code falls into tells you both how quickly you will hear about it and whether you can safely try the charge again.
How to fix the most common ACH return codes
R01 (insufficient funds) and R09 (uncollected funds) are the friendliest: NACHA rules let you retry a returned debit up to two more times within 180 days of the original settlement date, so you can reinitiate after a few days or on the customer's next payday. R02, R03, and R04 are account problems, so retrying the same details will just fail again; contact the customer, collect a correct account and routing number, and originate a fresh entry. R08 (stop payment) and the unauthorized codes (R07, R10, R11, R29) must not be retried, because reinitiating a debit the customer disputed or stopped is itself a rules violation; instead, resolve it directly with the customer and get a new, documented authorization before trying again.
Where ACH returns show up on your bank statement
Returned entries do not vanish. If you originated a debit that bounced, you will see the original credit reverse out of your account, usually described as an ACH return or reversal with the R-code or a short reason attached. Reconciling those reversals against the customers and invoices behind them is where most of the manual work lives, especially when a batch of returns lands at once. The fastest way to get on top of it is to pull the raw NACHA return file into a spreadsheet so you can sort by return code, total the failed dollars, and match each one to a customer. Our NACHA file to Excel converter turns those fixed-width 94-character records into clean columns, and the walkthrough on how to open a NACHA file in Excel covers the format in detail. Once the returns are in rows, reconciling the ACH file against your bank statement is the natural next step. A returned debit also means a customer's payment did not clear, so the follow-up is collections work: many teams route those failures straight into a system that will automatically chase the unpaid invoice by email and text until it is paid.
What does ACH return code R01 mean?
ACH return code R01 means insufficient funds: the customer's available balance was not enough to cover your debit at the moment it posted. It is the most common return of all. Because it is an administrative return, the bank sends it back within two banking days, and NACHA rules let you reinitiate the debit up to two more times within 180 days, so waiting for the customer's next deposit and retrying usually clears it.
What is the difference between R10 and R11?
R10 and R11 both come from the customer disputing a debit, but the reason differs. R10 means the customer says they never authorized this originator at all, so there is no valid authorization on file. R11 means the customer did authorize you, but this specific debit broke the terms, for example a wrong amount or an early date. NACHA split R11 out of R10 in 2020 so originators could correct a genuine error and reinitiate, which R10 does not allow.
How long does an ACH return take?
It depends on the code. Administrative returns like R01, R02, R03, and R04 must be sent so they settle within two banking days of the original settlement date, so you typically learn about them within about 48 hours. Unauthorized-debit returns such as R05, R07, R10, and R11 can arrive up to 60 calendar days after settlement, because the account holder has that long to spot the charge and sign a written statement disputing it.
Can you resubmit a returned ACH payment?
Sometimes. For R01 (insufficient funds) and R09 (uncollected funds) you may reinitiate the entry up to two additional times within 180 days of the original settlement date. For account errors like R02, R03, and R04 you must first get corrected account details, then originate a new entry. For stop-payment and unauthorized codes (R08, R07, R10, R11, R29) you must not resubmit the same debit; resolve it with the customer and obtain a fresh authorization first.
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