Blog

Understanding ACH Return Code R20 and How to Prevent It

September 25, 2025
5 min read
In This Article
Share this post

Automated Clearing House is an electronic fund transfer network widely used in the US to transfer money from one bank account to another. The payment system provides a viable alternative to check transfer, credit card payments, wire transfer, or cash transactions. 

Its popularity can be easily deduced from the fact that in 2024, almost 33.6 billion payments were made through the ACH network, the value of which amounted to $86.2 trillion. With such a large number of transactions zipping through the ACH network every year, it’s no surprise that not every payment completes as planned. Some bounce back due to incorrect account details, insufficient funds, or some other issues.

That’s why ACH return codes exist. Nacha, the governing body of the ACH network, maintains a list of over 80 ACH return codes that clearly explain the reason why a transaction was returned. 

In this article, we’ll understand what ACH return codes are, specifically focusing on what is R20 ACH return code, and how financial institutions can seamlessly reconcile such return codes. 

What this blog covers:

  • What is the ACH R20 return code and what “non-transaction account” means
  • Types of accounts that are commonly classified as non-transaction accounts
  • Common causes why an R20 return is triggered
  • Step-by-step methods to fix or handle an R20 return
  • Best practices to avoid future R20 errors
  • How Osfin aids in automating reconciliation for R20 return codes
  • Real-world scenarios or examples involving R20 returns
  • Frequently asked questions about R20 and non-transaction accounts

What is an ACH Return Code?

ACH return codes refer to the standardized identifiers that specify why a transaction made through the ACH payment system was not processed and returned to the originating bank. The codes are represented by the character ‘R’ followed by a two-digit numeric value. Some of the examples include:

  • R20 return code: Non-Transaction Account
  • R02 return code: Account Closed
  • R36 return code: Return of Improper Credit Entry

When an ACH transaction cannot be processed, the receiving bank (Receiving Depository Financial Institution) sends a return code back through the ACH network to the sending bank (Originating Depository Financial Institution). These return codes help financial institutions quickly diagnose problems, determine compliance or correction steps, and communicate effectively with their customers. 

What is ACH Return Code R20?

The R20 return code usually denotes a non-transaction account. The term “non-transaction account” is used for the RDFI, or the receiving bank account, which is not designated to process ACH transactions like ACH debits or credits.

The originating bank (ODFI) sends the ACH payment request through the ACH network to the receiving bank (RDFI), which reviews the account to confirm if it can process ACH transactions. If the account is identified as a non-transaction account, the RDFI rejects the payment, assigns the R20: Non-Transaction Account code, and returns it through the ACH network to the ODFI. 

The originating bank then informs the business or payment processor of the failed transaction along with the R20 code.

Non-transaction accounts can be:

1. Savings accounts that are restricted from ACH debits.

2. Money market deposit accounts (MMDA) with withdrawal limits.

3. Loan-only accounts or credit accounts that don’t accept incoming debits.

4. Certain investment or trust accounts that are not set up for direct payment processing.

{{banner2}}

Common Reasons for ACH Return Code R20

The ACH R20 return code primarily occurs when the ACH payment was directed to an account that does not permit ACH transactions due to its classification as a non-transaction account. This account can be restricted by specific regulations or bank policies. Some of the reasons why this R20 code occurs are:

1. Using a savings account for ACH debits

Many savings accounts are not set up for outgoing electronic payments or have restrictions that prevent certain types of ACH transactions, such as ACH debits. 

ACH debits here refer to the funds that are electronically pulled from a bank account after receiving authorization from the account holder. 

2. Loan or credit-only accounts

Accounts designed only for loan payments, credit card repayments, or mortgage payments may not accept incoming ACH debits from external parties.

3. Investment or brokerage accounts

These accounts often cannot process ACH transactions unless specifically linked to a bank checking account. Such accounts are typically used for investment purposes only and may reject routine transactions. 

4. Bank restrictions

Some banks impose internal policies that block certain account types from receiving or sending ACH transactions, even if they are technically capable, resulting in an R20 return.

How to Fix ACH Return Code R20?

Once the ACH transfer is returned with the R20 return code from the ACH Operator, it falls on the financial institutions to take relevant steps to identify the issue, confirm the account type, and notify the payment originator about the return. Here are the necessary steps that should be taken:

1. Identify the Returned Transaction

If the ACH payment has to be returned with an R20 return code, the RDFI must process the return within 2 banking days as per NACHA rules.

2. Notify the Originating Bank 

Once RDFI sends the R20 return code to the ODFI, it will initiate the return process and notify the business or customer who originated the ACH payment.

3. Contact the Customer or Account Holder

The bank should proactively contact the customer whose payment failed, informing them that their account does not support ACH transactions because it is classified as a non-transaction account.

4. Request Alternative Account Information

Ask the customer to provide valid account details for an ACH-eligible account, typically a checking or other transaction-enabled account that can process debits and credits electronically.

5. Verify the New Account Information

Verify that the new account number supplied by the customer is eligible for ACH payments. 

6. Update Payment Records and Authorizations

Update internal payment systems and customer records to reflect the new account details to avoid recurring errors on future ACH transactions.

7. Resubmit the ACH Transaction

If the payment still needs to be processed, resubmit the ACH transaction using the updated, transaction-eligible account information.

8. Log the Return

Capture the return file and key identifiers, such as original trace number, transaction amount, effective date, routing/account numbers, and the R20 code in your workflow so there’s an audit trail and no discrepancies during reconciliation.

{{banner2.1}}

How to Prevent Future R20 Returns?

To prevent future ACH Return Code R20 errors, financial institutions should implement a combination of customer communication, account verification, and process controls. Here are the best practices that should be followed:

  • Verify accounts before processing: Account validation tools or real-time verification APIs can be utilized to confirm that the provided bank account supports ACH transactions. 
  • Collect checking account information: Clearly instruct customers that ACH payments should be made only from transaction-enabled accounts such as checking accounts, not savings, loan, or investment accounts.
  • Leverage ACH pre-notifications: Initiate a zero-dollar ACH test entry to verify account eligibility before sending live transactions. This early check can flag non-transaction accounts in advance.
  • Educate customers: Inform payment originators about which account types support ACH payments and highlight common non-transaction accounts. Provide examples and clear guidelines during onboarding and payment setup.

How Osfin Helps Reconcile ACH Return Code R20?

For institutions aiming to maintain accurate financial records, prevent payment delays, and ensure compliance with Nacha rules, reconciling an R20 return code is a critical process. But reconciliation is also not an easy task; it’s a combination of intricate steps that demands a secure, dependable system capable of processing high volumes, consolidating data from multiple sources, and delivering accurate results with speed and consistency. 

Osfin delivers exactly that, streamlining R20 return code reconciliation with automation, accuracy, and reliability. Here’s what Osfin looks like in action:

  • Osfin integrates data from across multiple sources, including Nacha-formatted R20 return files, CBS, payment gateway reports, and ACH settlement reports. 
  • Since the data often arrives in different formats like CSV, Excel, XML, or MT940, Osfin’s data-agnostic platform connects with over 170 systems to import, normalize, and clean the data automatically, ensuring every dataset is accurate and ready for reconciliation.
  • Once normalized, Osfin’s intelligent matching engine connects each R20 return to its corresponding original ACH transaction using identifiers such as trace numbers, batch IDs, SEC codes, and transaction dates.
  • When R20 returns include incomplete details or don’t align with internal transaction records, Osfin flags the anomalies instantly, assigns a clear reason, and channels them to the relevant team to ensure fast and accurate resolution.
  • Osfin is purpose-built for high-volume, multi-source reconciliation and has the ability to process up to 30 million records in just 15 minutes. 
  • After the exceptions are handled and all entries are reconciled with 100% accuracy, the platform generates audit-ready compliance reports of the whole process.
  • It also maintains complete transaction traceability and safeguards sensitive data with role-based access, 256-bit encryption, and two-factor authentication. Additionally, it is fully compliant with SOC 2, PCI DSS, ISO 27001, and GDPR standards.

Stay ahead of regulatory requirements and eliminate costly reconciliation errors with Osfin. Book a personalized demo today and see how Osfin can help you reduce operational risk, increase efficiency, and enhance customer satisfaction. 

FAQs on ACH R20 Return Code

1. What does an R20 non-transaction account mean?

ACH return R20 meaning in the context of ACH transfers, can be understood as a return code indicating that the recipient’s account is a non-transaction account. These are the types of accounts in which ACH debits or credit transfers are not permitted. 

2. Can an ACH payment be retried after an R20 return?

No, an ACH payment cannot be retried in its original form after receiving an R20 return code because the issue is tied to the account type itself. The payment originator should provide an alternate checking account that’s valid to process the payment. 

3. Who is responsible for handling R20 returns?

The receiving bank (RDFI) flags the return with the R20 code, but the originating bank (ODFI) or payment processor must manage the reconciliation and notify the originator or customer to correct the issue.

4. What types of accounts are considered non-transaction accounts?

Savings accounts, certain money market accounts, loan-only accounts, investment or brokerage accounts, or other accounts restricted by certain bank policies fall under the non-transaction category.