Table of Contents
When a Bank Account Can’t Accept ACH Payments
ACH payments are designed to move money easily between U.S. bank accounts—whether you’re paying a vendor, collecting on an invoice, or handling subscription billing. But not all accounts are built to accept these kinds of transactions. If you’ve ever had an ACH payment come back with Return Code R20, that’s exactly what happened.
Let’s break down what ACH Return Code R20 – Non-Transaction Account means, what causes it, and how to fix it so the funds go through successfully next time.
What Does ACH Return Code R20- Mean?
ACH Return Code R20 stands for:
“Non-Transaction Account.”
Here’s the official NACHA definition:
R20 – Non-Transaction Account: The account you attempted to debit or credit is not set up to process electronic transactions—meaning it doesn’t allow ACH entries.
In short: the account exists, but it’s not the kind of account that supports ACH debits or credits.
What Is a Non-Transaction Account?
A non-transaction account is a type of account that is not designed for frequent movement of money—especially via electronic transfers like ACH.
These accounts include:
Money market accounts with transfer restrictions
Savings accounts at certain banks
Retirement accounts (IRAs, 401(k)s)
Certificates of deposit (CDs)
Loan-only accounts or escrow accounts
Trust accounts with limited access
In many cases, these accounts are set up to hold funds or grow interest—not to be used for daily transactions.
Why Does an R20 Return Happen?
ACH Return Code R20 usually pops up when:
A customer provides account information for a savings, investment, or loan account instead of a checking account
You attempt to credit or debit an account that has ACH restrictions
The customer isn’t aware that their account can’t be used for ACH transactions
You pull account data from a voided check or form that included an incorrect account type
This is especially common when onboarding new customers, setting up auto-pay, or integrating with a new billing system.
How to Fix ACH Return Code R20
Here’s what to do when you see this return code:
1. Contact the Customer
Let them know the payment didn’t go through because their bank account doesn’t support ACH transfers. Be friendly and clear—it’s usually just a mix-up.
2. Request a Different Account
Ask the customer to provide a checking account or another account that supports ACH payments. If they’re unsure, suggest they check with their bank.
3. Get Updated Authorization
If you’re using recurring payments or pulling funds on a regular schedule, be sure to get new ACH authorization with the updated account info.
4. Update and Resubmit the Payment
Once you have the correct details, enter them into your system and retry the transaction.
How to Prevent R20 Returns in the Future
These errors are easy to avoid with a few simple steps:
Clearly request a “checking account” during payment setup
Use account verification tools that flag restricted or non-transaction accounts before processing
Provide examples of where to find valid routing and account numbers (like from a check, not a deposit slip)
Train staff to spot and clarify account types when collecting billing info
Prevention is especially important for businesses with high payment volume or recurring billing, where even a small error can cause cascading issues.
Get ACH Processing With Durango
ACH Return Code R20—“Non-Transaction Account”—means the payment couldn’t go through because the account wasn’t set up to accept ACH transfers. It’s not a fraud issue or a bank error—it’s usually just a misunderstanding about what types of accounts are eligible.
At Durango Merchant Services, we help businesses minimize payment disruptions by offering ACH tools that validate account types, prevent unnecessary returns, and simplify customer onboarding—especially in high-risk or regulated industries.