ACH payments have become an integral part of the modern payments ecosystem, with 35.2 billion transactions processed in 2025. At this scale, even a small mistake can cause major disruptions. Accuracy is critical, as any errors in payment details may lead to returns and processing delays.

One of the main reasons for returns is ACH Return Code R20, which is an example of an account-related issue. Although these errors are often overlooked, they can seriously affect a company’s cash flow and increase workload due to reprocessing.

In this guide, you will learn exactly what ACH Return Code R20 means, what causes it, how to resolve it step by step, and most importantly, what your business can do to prevent it from happening again. Keep reading to take control of your ACH payment process and reduce unnecessary returns.

What is ACH Return Code R20? (Non-Transaction Account)

Most often, the R20 return code identifies a non-transaction account. That is, a “non‑transaction account” refers to an account at the RDFI (the receiving bank) that is not enabled or authorized to accept ACH debits or credits.

The originating bank (ODFI) forwards the ACH payment request through the ACH network to the receiving bank (RDFI). The RDFI reviews the account to verify whether it is enabled and authorized to accept the ACH transaction. If the account is identified as a non-transaction account, the RDFI refuses the payment, assigns the R20: Non‑Transaction Account reason code, and returns it through the ACH network to the ODFI.

The originating bank, in turn, notifies the business or payment processor of the failed transaction, including the R20 return code.

Non‑transaction accounts can include:

  • Savings accounts which are limited from performing ACH debits.
  • MMDA or money market deposit accounts with limits on withdrawal.
  • Loan-only accounts or credit accounts which are not designed to take incoming debits.
  • Some investment or trust accounts do not have direct payment processing facilities.

Common causes of ACH Return Code R20

The ACH R20 return code usually appears when an ACH payment is sent to an account that is classified as a non-transaction account and does not allow ACH transactions. Certain rules or bank policies may place restrictions on this account. This R20 code can arise for a number of reasons, including:

Common causes of ACH return code R20

Savings accounts used for ACH debits

Many savings accounts have limitations that prohibit specific kinds of ACH transactions, including ACH debits, or are not configured for sending electronic payments.

The money that is electronically taken out of a bank account following authorization from the account holder is referred to here as an ACH debit

Loan or credit-only accounts

Accounts that are set up only for loan, credit card, or mortgage payment purposes might not be able to receive ACH debits from outside sources.

Investment or brokerage accounts

Unless they are specifically connected to a bank checking account, these accounts frequently cannot perform ACH transactions. These accounts may reject regular transactions and are usually solely used for investment purposes. 

Bank limitations

Even though they are technically capable, some banks have internal restrictions that exclude specific account types from sending or receiving ACH transactions, which results in an R20 return.

Steps to resolve ACH Return Code R20 

After receiving the R20 return code for the ACH transfer back from the ACH Operator, it is up to the financial institutions to carry out appropriate actions to find out the problem, verify the account type, and inform the payment originator about the return. Here are the essential things that need to be done:

Steps to resolve ACH Return Code R20

1) Identify the returned transaction

As per NACHA rules, if a payment via ACH is to be returned with an R20 return code, the RDFI must complete the return within 2 banking days.

2) Inform the originating bank

Upon receiving the R20 return code from the RDFI via the ACH Operator, the ODFI processes the return and promptly notifies the originator (business or customer) who initiated the ACH payment.

3) Reach out to the customer/account holder

Banks should take the initiative to reach out to the customer whose payment did not go through and inform them that their account is a non-transaction account; therefore, it is not eligible for ACH transactions.

4) Obtain alternative account information

You may ask the customer to provide the exact account details of a bank account that supports ACH transactions. Typically, such accounts are checking or other transaction-driven accounts that are capable of handling both debit and credit transactions electronically.

5) Validate the updated account details

Confirm whether the account number given by the customer is eligible to receive payments via ACH.

6) Update payment records and authorizations

Make changes in the internal payment systems and customer records to reflect the updated account details so that recurring errors on future ACH transactions can be avoided.

7) Resubmit ACH

Resubmit the ACH transaction using the amended, transaction-eligible account details if the payment still has to be completed.

8) Log the return

In order to offer an audit trail and eliminate inconsistencies in the reconciliation process, you should record the file of returns and other significant identifiers in your work procedure, including the initial trace number, the amount of the transaction, the date of effectiveness, the routing/account number, and the R20 code.

How can future R20 returns be prevented?

Financial institutions should combine client communication, account verification, and procedural controls to stop ACH Return Code R20 problems in the future. The following best practices should be adhered to:

  • Verify accounts prior to processing: ACH transaction support for the given bank account can be verified using real-time verification APIs or account validation tools. 
  • Gather checking account details: Make it clear to the customers in a straightforward manner that ACH payments must be made only from transaction-enabled accounts like checking accounts, and not from savings, loan, or investment accounts.
  • Utilize ACH pre-notifications: Before sending live transactions, start a zero-dollar ACH test entry to confirm account eligibility. Non-transactional accounts may be flagged ahead of time by this early check.
  • Educate customers: Highlight typical non-transaction accounts and let payment originators know which account types accept ACH payments. During the onboarding and payment setup process, give clear instructions and examples.

FAQs on ACH Return Code R20

Below are answers to some of the most common questions businesses and financial institutions have about R20.

How is ACH Return Code R20 different from R03 (No Account/Unable to Locate Account)?

R03 means the receiving bank cannot locate the account based on the routing and account numbers provided, while R20 means the account exists but is classified as a non-transaction account that cannot process ACH transactions. 

What role does the RDFI play in generating an R20 return?

The receiving bank (RDFI) reviews the destination account when an ACH transaction arrives and determines whether it is eligible to accept the payment. If the account is a non-transaction account, the RDFI rejects the transaction and sends the R20 return code back to the originating bank (ODFI) within 2 banking days, as required by NACHA rules.

Is R20 considered a compliance risk under NACHA rules?

Yes, a high number of R20 returns can push your administrative return rate above NACHA’s 3% threshold, which may lead to warnings or restrictions. Taking precautions is one of the most effective ways of staying compliant.

Can account validation tools completely eliminate R20 returns?

Account verification tools can help in decreasing the number of R20 returns by checking the eligibility of ACH; nevertheless, they are not capable of totally getting rid of them. If combined with pre-notifications and transparent communication, they turn into a more potent protective measure.

Is it safe to retry a transaction after receiving an R20 return?

No, retrying the transaction with the same account details will result in another R20 return since the account is not eligible for ACH transactions. You should collect updated account information from the customer, preferably a bank checking account, and resubmit the payment using the corrected details.

Fee-Free Domestic ACH Transactions for Small Businesses with Cheqly 

Cheqly allows small businesses to make ACH payments conveniently and smoothly by offering fee-free domestic ACH transactions. As a result, business owners can focus on running and expanding their businesses without transaction fees reducing their profits.

Start with a Cheqly business account today and enjoy fee-free, seamless ACH payments built for your small business.

Join Cheqly

Never miss any payment or leave your company without an opportunity to keep rolling.

Get Started

Join Cheqly

Never miss any payment or leave your company without an opportunity to keep rolling.

Get Started