Table of Contents
ACH (Automated Clearing House) payment volume has increased dramatically in recent years. The ACH Network processed 35.2 billion payments in 2025, up nearly 5% over 2024, with Same Day ACH volume growing 16.7% year over year. Much of this growth was driven by peer-to-peer platforms and same-day ACH payments.
This is great news for businesses, especially those in fintech, looking to lower costs and improve the customer experience. There’s one looming challenge with ACH payments, however—ACH returns. Returns of ACH payments can be confusing, expensive, and weaken customer relationships.
To reap the benefits of ACH payments, companies must understand what ACH return codes mean under the Nacha operating rules and the key factors that indicate a return is likely. Not fully complying with Nacha ACH return rules can potentially result in fines, resubmission limits, and account suspension.
Key takeaways
ACH return codes are standardized codes defined by Nacha that explain why an ACH transaction was returned by the receiving bank.
The most common ACH return codes are R01 (Insufficient Funds), R02 (Account Closed), R03 (No Account), R10 (Not Authorized), and R29 (Corporate Customer Advises Not Authorized).
Return codes are typically issued within two business days, though some unauthorized return codes (R05, R07, R10) may be issued up to 60 calendar days after the transaction.
High ACH return rates can result in fees, restrictions, or loss of ACH origination privileges.
Businesses can reduce return rates through upfront account verification and real-time balance checks.
What is an ACH return?
ACH returns occur when an ACH payment cannot be completed for any reason, or when the payment initially settles but is rejected later. Essentially, it's the ACH payment equivalent of a bounced check.
An ACH return is different from an ACH reversal. An ACH return is initiated by the receiving bank; an ACH reversal is initiated by the originating party to cancel a transaction they sent in error. Both are distinct from a chargeback, which is a concept specific to card networks.
When an ACH transaction is returned, the Receiving Depository Financial Institution (RDFI) sends the transaction back to the Originating Depository Financial Institution (ODFI) with a return code explaining why the payment couldn’t be completed. In some cases, the ACH Operator returns the transaction due to an issue or error with the information contained in the transaction.
Standard return timeframes vary by code. Most returns, including R01 through R04 and R09, must be sent within two banking days of the settlement date. Unauthorized return codes, such as R05, R07, and R10 carry an extended window of up to 60 calendar days for consumer entries. Nacha governs these ACH return code standards across all ACH participants.
Common causes of ACH returns include insufficient funds, incorrect account information, fraud, errors, or if the account owner asks their bank to place a stop payment on the transfer.
What is an ACH return code?
An ACH return code is a three-character alphanumeric code that begins with "R" followed by two digits. A receiving bank or ACH Operator uses it to communicate why an ACH payment was returned. For example, an R01 return code indicates that the account had insufficient funds.
Each return notification includes the return code and an addenda record that provides additional information about the transaction being returned. Together, these give the ODFI and the originating business the context they need to understand and respond to the return.
Return codes are standardized by Nacha and apply uniformly across all ACH participants. The RDFI or ACH Operator issues return codes to indicate why a payment is being returned. Participants rely on these codes to communicate clearly and efficiently within the ACH network.
Another common ACH return code, R10, is shown in the image below:
Complete list of ACH return codes
The following list covers all ACH return codes, who initiates them, and how long they may take to be sent.
Standard entry return codes (R01–R33)
R01 - Insufficient Funds: The available balance in the account isn’t sufficient to cover the debit entry.
Initiated by: RDFI
Return timeframe: 2 banking days
R02 - Account Closed: The account has been closed and can no longer receive transactions.
Initiated by: RDFI
Return timeframe: 2 banking days
R03 - No Account/Unable to Locate: The account number doesn’t match any account at the receiving institution.
Initiated by: RDFI
Return timeframe: 2 banking days
R04 - Invalid Account Number: The account number structure isn’t valid.
Initiated by: RDFI
Return timeframe: 2 banking days
R05 - Unauthorized Debit to Consumer Account Using Corporate SEC Code: When a consumer account debit is sent using a corporate SEC code (e.g. CCD or CTX, which should only be used for business account debits), and the consumer has notified their bank that the debit was unauthorized.
Initiated by: RDFI
Return timeframe: 60 calendar days
R06 - Returned Per ODFI's Request: The ODFI has requested the return of the entry.
Initiated by: RDFI
Return timeframe: determined by ODFI and RDFI
R07 - Authorization Revoked: The customer previously authorized the debit but has since revoked that authorization.
Initiated by: RDFI
Return timeframe: 60 calendar days
R08 - Payment Stopped: The customer has placed a stop payment order on the entry.
Initiated by: RDFI
Return timeframe: 2 banking days
R09 - Uncollected Funds: The account has sufficient funds posted, but those funds are not yet available for withdrawal.
Initiated by: RDFI
Return timeframe: 2 banking days
R10 - Customer Advises Not Authorized: The customer has notified their bank that they do not know the originator or that the originator was not authorized to debit their account.
Initiated by: RDFI
Return timeframe: 60 calendar days
R11 - Customer Advises Entry Not in Accordance with the Terms of the Authorization: The customer acknowledges that some form of authorization exists but disputes the amount or timing of the debit.
Initiated by: RDFI
Return timeframe: 60 calendar days
R12 - Account Sold to Another DFI: The account has been sold to another financial institution.
Initiated by: RDFI
Return timeframe: 2 banking days
R13 - Invalid ACH Routing Number: The routing number isn’t a valid ACH participant.
Initiated by: ACH Operator
Return timeframe: Next file delivery time after processing
R14 - Representative Payee Deceased: The person authorized to receive payments on behalf of a beneficiary has died.
Initiated by: RDFI
Return timeframe: 2 banking days
R15 - Beneficiary/Account Holder Deceased: The account holder or named beneficiary is deceased.
Initiated by: RDFI
Return timeframe: 2 banking days
R16 - Account Frozen/OFAC - The account is frozen, often due to an OFAC match or legal hold, or OFAC has instructed the return.
Initiated by: RDFI or Gateway
Return timeframe: 2 banking days
R17 - File Record Edit Criteria/Entry Initiated Under Questionable Circumstances: The entry contains an error in one or more fields or the RDFI believes the entry is questionable..
Initiated by: RDFI
Return timeframe: 2 banking days
R18 - Improper Effective Entry Date: The transaction’s date is inconsistent with processing requirements.
Initiated by: RDFI
Return timeframe: Next file delivery time following processing
R19 - Amount Field Error: Transaction amount is missing, invalid, or improperly formatted in the ACH file.
Initiated by: ACH Operator
Return timeframe: Next file delivery time following processing
R20 - Non-Transaction Account: The account doesn’t support ACH transactions
Initiated by: RDFI
Return timeframe: 2 banking days
R21 - Invalid Company Identification: The identification code for the company is not valid.
Initiated by: RDFI
Return timeframe: 2 banking days
R22 - Invalid Individual ID Number: The individual ID number used in the entry isn’t correct.
Initiated by: RDFI
Return timeframe: 2 banking days
R23 - Credit Entry Refused by Receiver: The receiver has refused the credit entry.
Initiated by: RDFI
Return timeframe: No later than the opening of business on the 2nd banking day following the RDFI’s receipt of notification of refusal from the receiver.
R24 - Duplicate Entry: The entry is a duplicate of one previously submitted.
Initiated by: RDFI
Return timeframe: 2 banking days
R25 - Addenda Error: There’s an error in the addenda record or addenda field.
Initiated by: ACH Operator
Return timeframe: Next file delivery time following processing
R26 - Mandatory Field Error: A required field is missing or contains invalid data, causing the transaction to be rejected.
Initiated by: ACH Operator
Return timeframe: Next file delivery time following processing
R27 - Trace Number Error: The trace number is missing or inconsistent between the entry and addenda records.
Initiated by: ACH Operator
Return timeframe: Next file delivery time following processing
R28 - Routing Number Check Digit Error: A routing number’s check digit is missing or invalid.
Initiated by: ACH Operator
Return timeframe: Next file delivery time following processing
R29 - Corporate Not Authorized: A corporate account holder has notified their bank that the ACH debit was not authorized.
Initiated by: RDFI
Return timeframe: 2 banking days
R30 - Receiving DFI Not Participant in Check Truncation Program: The receiving DFI doesn’t participate in the check truncation program.
Initiated by: ACH Operator
Return timeframe: Next file delivery time following processing
R31 - Permissible Return (CCD/CTX): The RDFI is returning a CCD or CTX entry per the agreement of the ODFI.
Initiated by: RDFI
Return timeframe: Determined by ODFI and RDFI
R32 - RDFI Non-Settlement: RDFI is not able to settle the entry.
Initiated by: ACH Operator
Return timeframe: Next file delivery time following processing
Non-standard return codes (R33-R85)
R33 - Return of XCK Entry: The RDFI is returning an XCK entry at its discretion.
Initiated by: RDFI
Return timeframe: 60 calendar days
R34 - Limited Participation DFI: The receiving institution’s participation has been limited by a federal or state supervisor.
Initiated by: ACH Operator
Return timeframe: Next file delivery time following processing
R35 - Return of Improper Debit Entry: A debit entry was improperly originated.
Initiated by: ACH Operator
Return timeframe: Next file delivery time following processing
R36 - Return of Improper Credit Entry: A credit entry was improperly originated.
Initiated by: ACH Operator
Return timeframe: Next file delivery time following processing
R37 - Source Document Presented: The source document has been presented for payment and the ACH entry must be returned.
Initiated by: RDFI
Return timeframe: 60 calendar days
R38 - Stop Payment on Source Document: A stop payment has been issued on the source document associated with the ACH entry.
Initiated by: RDFI
Return timeframe: 60 calendar days
R39 - Improper Source Document: The source document associated with the entry doesn’t meet ACH eligibility requirements.
Initiated by: RDFI
Return timeframe: 2 banking days
R40 - Return of ENR Entry by Federal Agency: A federal government agency is returning an ENR (automatic enrollment) entry.
Initiated by: Federal Agency
Return timeframe: N/A
R41 - Invalid Transaction Code: The transaction code in the ENR entry isn’t valid.
Initiated by: Federal Agency
Return timeframe: N/A
R42 - Routing Number/Check Digit Error: The routing number or check digit in the ENR entry is invalid.
Initiated by: Federal Agency
Return timeframe: N/A
R43 - Invalid DFI Account Number: The account number in the ENR entry is invalid.
Initiated by: Federal Agency
Return timeframe: N/A
R44 - Invalid Individual ID Number: The individual ID number in the ENR entry doesn’t match the government agency’s records.
Initiated by: Federal Agency
Return timeframe: N/A
R45 - Invalid Individual Name/Company Name: The name in the ENR entry doesn’t match the agency’s records.
Initiated by: Federal Agency
Return timeframe: N/A
R46 - Invalid Representative Payee Indicator: The representative payee indicator in the ENR entry is invalid.
Initiated by: Federal Agency
Return timeframe: N/A
R47 - Duplicate Enrollment: The ENR entry is a duplicate of a previously submitted enrollment.
Initiated by: Federal Agency
Return timeframe: N/A
R50 - State Law Affecting RCK: State law prohibits the re-presentment of the check as an ACH entry.
Initiated by: RDFI
Return timeframe: 2 banking days
R51 - Item Is Ineligible (RCK): The item doesn’t meet the eligibility requirements for an RCK entry.
Initiated by: RDFI
Return timeframe: 60 calendar days
R52 - Stop Payment (RCK): A stop payment order has been placed on the item.
Initiated by: RDFI
Return timeframe: 60 calendar days
R53 - Paper Item Presented (RCK): The paper check associated with the RCK entry has been presented separately.
Initiated by: RDFI
Return timeframe: 60 calendar days
R61 - Misrouted Return: The return was sent to the wrong ODFI.
Initiated by: ODFI
Return timeframe: 5 banking days after settlement date of the return entry
R62 - Return of Erroneous or Reversing Debit: A debit used for a reversal was incorrect or needs to be reversed.
Initiated by: ODFI
Return timeframe: 5 banking days after settlement of the return entry
R67 - Duplicate Return: The return entry is a duplicate of one previously submitted.
Initiated by: ODFI
Return timeframe: 5 banking days after settlement of the return entry
R68 - Untimely Return: The return wasn’t sent within the required timeframe.
Initiated by: ODFI
Return timeframe: 5 banking days after settlement of the return entry
R69 - Field Error(s): One or more fields in the return entry contain errors.
Initiated by: ODFI
Return timeframe: 5 banking days after settlement of the return entry
R70 - Permissible Return Claim: The ODFI claims the return was not agreed upon.
Initiated by: ODFI
Return timeframe: 5 banking days after settlement of the return entry
R71 - Misrouted Dishonored Return: A dishonored return was sent to the wrong institution.
Initiated by: RDFI
Return timeframe: 2 banking days
R72 - Untimely Dishonored Return: The dishonored return wasn’t submitted within the required timeframe.
Initiated by: RDFI
Return timeframe: 2 banking days
R73 - Timely Original Return: Issued to confirm the original return was timely.
Initiated by: RDFI
Return timeframe: 2 banking days
R74 - Corrected Return: A corrected version of a previously submitted return.
Initiated by: RDFI
Return timeframe: 2 banking days
R75 - Original Return Not a Duplicate: Confirms the original return wasn’t a duplicate.
Initiated by: RDFI
Return timeframe: 2 banking days
R76 - No Errors Found: No errors were identified in the original return.
Initiated by: RDFI
Return timeframe: 2 banking days
R77 - Non-Acceptance of R62: For use by the RDFI in response to the receipt of Dishonored Return Code R62.
Initiated by: RDFI
Return timeframe: 2 banking days
R80 - IAT - Coding Errors: The IAT entry contains coding errors.
Initiated by: Gateway
Return timeframe: 2 banking days
R81 - IAT - Non-Participant: The foreign receiving institution doesn't participate in IAT.
Initiated by: Gateway
Return timeframe: 2 banking days
R82 - IAT - Invalid Foreign Receiving DFI: The foreign receiving institution couldn’t be identified.
Initiated by: Gateway
Return timeframe: 2 banking days
R83 - IAT - Foreign Receiving DFI Unable to Settle: The IAT entry is being returned due to settlement problems in the foreign payment system.
Initiated by: Gateway
Return timeframe: 2 banking days
R84 - IAT - Entry Not Processed by Gateway: The entry is being returned at the Gateway’s discretion.
Initiated by: Gateway
Return timeframe: 2 banking days
R85 - IAT - Incorrect Coding: The IAT entry contains incorrect coding.
Initiated by: Gateway
Return timeframe: 2 banking days
A Modern Guide to ACH
How to add ACH to your platform and reduce losses and risks
Most common ACH return codes explained
The return codes below account for the majority of ACH returns businesses encounter.
R01 — Insufficient Funds
ACH return code R01 means the account didn’t have sufficient funds available to cover the debit at processing. It’s initiated by the RDFI and indicates that the customer's account balance was too low to complete the transaction. R01 is also known as a non-sufficient funds (NSF) return and carries a standard return timeframe of two banking days.
Businesses receiving an R01 return should approach retry logic carefully. Nacha limits re-presentment of returned entries to two additional attempts after the original return, and each attempt must occur within a defined window.
R02 — Account Closed
ACH return code R02 means the bank account has been closed and can no longer receive transactions. It’s initiated by the RDFI and carries a two-banking-day return timeframe. The most common cause is a customer who switched banks without updating payment details.
Businesses should contact the customer directly to request updated banking details.
R03 — No Account/Unable to Locate Account
ACH return code R03 means the account number provided doesn’t match any account at the receiving institution. It’s initiated by the RDFI and typically results from data entry errors or incorrect information at enrollment. The standard return timeframe is two banking days.
Businesses facing elevated R03 returns should implement real-time account verification at onboarding. Validating routing and account numbers before the first transaction is the most effective way to prevent this return code.
R10 — Customer Advises Originator is Not Known to Receiver or is Not Authorized by Receiver to Debit
ACH return code R10 means the customer has notified their bank that they do not know the originator or have not authorized the originator to debit their account. It’s initiated by the RDFI based on the customer's claim and carries an extended return timeframe of up to 60 calendar days from the settlement date.
R10 differs from R07. R10 applies when the customer states authorization was never granted at all; R07 applies when the customer previously authorized the debit but has since revoked that authorization.
R10 is one of the highest-volume individual ACH return codes and a leading indicator of ACH fraud. Nacha monitors unauthorized return rates at the ODFI level and sets a threshold of 0.5% for unauthorized returns. Exceeding this threshold can trigger corrective action for the ODFI or the originator, including suspension of ACH origination privileges.
Businesses should document customer authorizations carefully, use signed or digitally recorded authorization agreements, verify the identity of the consumer and ownership of the account, and monitor for elevated R10 rates as an early fraud signal.
R11 — Customer Advises Entry Not in Accordance with the Terms of the Authorization
ACH return code R11 means the customer has a dispute with the debit—either the amount or timing was incorrect—but they acknowledge that some form of authorization exists. It’s initiated by the RDFI and has an extended return timeframe of up to 60 calendar days.
R11 replaced the former use of R10 for amount and timing disputes following a Nacha rule change. Unlike R10, R11 return doesn’t necessarily indicate fraud; it signals a billing error that requires further investigation. Review the authorization record, confirm the debit amount and timing, and contact the customer to resolve the issue before initiating a new transaction.
R29 — Corporate Customer Advises Not Authorized
ACH return code R29 means a corporate account holder has notified their bank that the ACH debit wasn’t authorized. It’s the business-to-business equivalent of R10 for consumer accounts. R29 is initiated by the RDFI and carries a shorter return timeframe of two banking days, compared to the 60-day window for consumer unauthorized codes.
Since R29 involves corporate account holders, disputes are typically tied to payments that do not match contract terms or a debit block placed on the account rather than fraud. Businesses should ensure corporate payment details are documented clearly in written agreements or service contracts. If an R29 return appears, review the payment authorization or terms, confirm the payment details, and address the dispute directly with the customer.
R09 — Uncollected Funds
ACH return code R09 means the account has sufficient funds posted, but those funds haven’t yet cleared and are unavailable for withdrawal. It’s initiated by the RDFI and has a two-banking-day return timeframe.
R09 is often confused with R01, but the difference is important. R01 means the account balance is simply too low; R09 means the balance exists on paper but is held pending clearance. Businesses that receive an R09 return can typically retry the transaction once the funds clear, subject to Nacha's re-presentment rules.
Which ACH return codes indicate fraud or unauthorized activity?
Several ACH return codes signal unauthorized transactions and potential fraud. The primary codes to monitor are R07 (Authorization Revoked), R10 (Customer Advises Not Authorized), R11 (Customer Advises Entry Not in Accordance with the Terms of the Authorization), and R29 (Corporate Not Authorized).
Nacha sets an unauthorized return rate threshold of 0.5% for ACH originators. If an originator's rate of returns exceeds this level, the ODFI may take corrective action. This can include mandatory monitoring, increased scrutiny of submitted entries, or suspension of ACH origination privileges; Nacha may also initiate an investigation.
Elevated return rates across these codes often point to weak authorization practices, poor onboarding controls, or fraud attempts. R16 (Account Frozen/OFAC) is another code to monitor. It’s typically tied to legal holds or an OFAC sanctions match.
Businesses looking to manage ACH risk proactively should monitor return code dashboards by category and leverage Plaid Signal to assess transaction risk before submission of ACH debits. It also helps to validate account information, check for adequate balance before debits, and confirm that the account owner identity matches the bank account information before a transaction, all of which can be done with Plaid.
What are ACH return fees?
ACH return fees typically range between $2 and $5, depending on the ACH processor. In addition, an end user may incur fees from their bank if an ACH transaction is returned due to insufficient funds or results in an overdraft to the bank account.
Return fees extend beyond the originating business. Banks and payment processors often charge per-return fees, with additional fees passed between the ODFI and the RDFI. Nacha can also fine ODFIs whose originators consistently exceed return rate thresholds, and those fines are often passed on by the bank to their originating customer.
Nacha monitors return rates at both the ODFI and originator level, enforcing two key thresholds: 15% for overall returns and 0.5% for unauthorized entry returns. Breaching either can trigger corrective action from their ODFI, including potential loss of ACH origination privileges.
How can businesses reduce ACH returns?
Reducing ACH return rates starts with strong controls at the front of the payment flow and consistent monitoring across the lifecycle of each transaction. The following tips address the most common causes of ACH returns.
Verify bank accounts at enrollment. Use account validation tools to confirm routing and account numbers before the first transaction.
Check real-time balances before debiting. Reduce R01 returns by confirming available funds before initiating a debit.
Use predictive signals to prevent broader ACH returns. Adopt more sophisticated risk insights that predict the likelihood of ACH returns — beyond R01. Plaid Signal delivers real-time ACH risk scoring, lowering return risk by as much as 50% by helping businesses assess transaction risk before submission.
Document authorization clearly. Make sure your authorization terms are clear and conspicuous for your end users, and provide them a copy of authorizations to reduce the likelihood of R07, R10, R11, and R29 returns.
Implement digital identity verification. Identity verification solutions, such as Plaid Identity Verification, use multiple data signals and government ID checks to confirm customer identity and reduce fraud risk, including customer-initiated ACH returns.
Monitor return rate dashboards. Track return rates by code to identify patterns early.
Implement retry logic carefully. Nacha limits re-presentment of returned entries to two attempts after the original return, and only certain return codes are eligible. Retrying more often or retrying unauthorized entries can trigger ODFI review or penalties.
Screen for stale account data. Proactively contact customers when account information is old or when R02 and R03 returns occur.
Use instant account verification vs manual. Plaid Auth provides instant account verification and bank account validation at onboarding, reducing manual review and ACH return risk.
As ACH usage increases, understanding ACH returns is critical
While the rate of ACH fraud is relatively low, the mass adoption of P2P payments and consistent growth of instant ACH have increased the risk in recent years. Organizations looking to increase ACH offerings—or those seeing usage rates skyrocket—must take steps to secure their revenue and prevent fraud.
Reducing the risk of returns and fraud starts by following Nacha guidelines and leveraging instant account verification. However, the most effective way to prevent ACH returns and fraud is to catch them before they occur through ACH risk scoring. By understanding the signs of a potential ACH return before a transaction completes, businesses can protect their bottom line and reduce fraud while leaning into this growing payment sector.
With Plaid, organizations can embed instant account verification and real-time risk controls directly into the payment flow to reduce ACH return rates. Plaid Auth, IDV, and Signal work together to validate accounts at onboarding, confirm customer identity, and score transaction risk, minimizing failed payments while proactively preventing fraud.
Learn more about how Plaid reduces the risk of ACH returns.
Frequently asked questions about ACH return codes
How long does an ACH return take?
Return timeframes depend on the type of return code involved.
Standard ACH returns (R01-R04, R09). The RDFI must return these entries within two banking days of the settlement date.
Unauthorized returns (R05, R07, R10, R11, R29). Consumer entries have an extended return window of up to 60 calendar days from the settlement date. Corporate R29 entries must be returned within two banking days.
What is the most common ACH return code?
R01 is the most common ACH return code for consumer ACH debits. It reflects situations where the account balance was too low at the time of processing and isn’t always an indicator of fraud or bad intent.
What is the difference between an ACH return and a reversal?
An ACH return is initiated by the receiving bank, which sends the transaction back to the ODFI with a return code. An ACH reversal is initiated by the originating party to cancel a transaction they sent in error. Both differ from a chargeback, which applies only to card networks.
Can a business resubmit a returned ACH payment?
Yes, in some cases. For R01 and R09, Nacha allows re-presentment up to two times after the original return. Re-presentment isn’t permitted for unauthorized return codes, such as R05, R07, R10, and R29. Attempting to re-debit after an unauthorized return can violate Nacha rules.
What happens if my ACH return rate is too high?
Nacha monitors return rates at both the ODFI and originator level. If an originator's unauthorized return rate exceeds 0.5% or their overall return rate exceeds 15%, the ODFI may take corrective action. This can include mandatory monitoring, submission limits, or suspension of ACH origination privileges; Nacha may also initiate an investigation.
What is the ACH return code for insufficient funds?
R01 is the ACH return code for insufficient funds, also referred to as non-sufficient funds (NSF). It’s initiated by the RDFI when the account balance is too low to cover the debit at the time of processing and carries a two-banking-day return timeframe.
Find out how Plaid can help your business grow
Learn more
Recommended reading
ACH Payments 101 – How ACH works for businesses
ACH fraud is on the rise. Here are 5 ways to reduce it.
Bank account verification guide: What it is and how it works
