There are complexities with every payments system—for ACH payments, return codes are one of those potentially complex items. In this post we’ll explore some reasons for why an ACH payment may go bad and then explain what you can do about it.

First, the basics of ACH. If you’re brand new to dealing with ACH payments, here’s a quick overview. ACH stands for the Automated Clearing House—it’s an electronic network allowing banks and their customers to send funds between one another in the U.S. Think about when you pay a bill online using your bank account, here your payment is being processed using ACH.

For further explanation of the ACH Network, check our ebook ACH 101: Connecting your Business to the U.S. Economy.

Common ACH Reject Codes

There are hundreds of ACH return codes, but some common codes are R01, R02, R03, R04, R10, and R20. We’ll explain those below, but head here for a full list of the possible ACH return codes in the system.

R01 Return Code –  Insufficient funds

The available and/or cash reserve balance is not sufficient to cover the dollar value of the debit entry. Basically, there were insufficient funds to complete a debit transaction.

R02 Return Code – Account closed

A previously active account has been closed by action of the customer or the RDFI. In other words, the bank account is closed, and this transaction should not be re-submitted.

R03 Return Code  –  No account or unable to locate account

The account number structure is valid and it passes the C heck digit validation, but the account number does not correspond to the individual identified in the entry, or the account number designated is not an existing account.

Essentially, the routing or account number got fudged or mistyped, therefore it couldn’t be used. This is a simple, yet common mistake—on the bright side it’s easily avoidable (see tips for avoiding return codes below).

R04 Return Code – Invalid account number

The account number structure is not valid. The entry may fail the Check digit validation or may contain an incorrect number of digits. This means that the account number entered is definitely not valid, for instance your customer may have entered only half of the digits needed for a routing number.

R10 Return Code – Customer advises unauthorized, improper, ineligible, or part of an incomplete transaction

The financial institution has been notified by the receiver (ie. customer) that the entry is unauthorized, improper or ineligible. Someone has contacted their bank and taken action to stop the transaction.

R20 Return Code – Non-transaction account

The ACH entry destined for a non-transaction account, for example an account against which transactions are prohibited or limited. Basically, the bank account entered can’t be used for ACH transactions.

Tips for avoiding return codes

Now that you have a grasp of some of the reasons ACH transactions can go bad, here are quick and easy tips to avoid receiving ACH return codes.

  • Ensure that your customer’s or user’s routing and account number is entered correctly before confirming entry. It’s easy to miss a digit or type something incorrectly when you’re hurrying to pay a bill, so it’s critical they slow down and pay attention to detail.
  • If a prepaid checking account involved, make sure this bank allows for receiving ACH credits and debits. Per the R20 code, not all accounts can be used for ACH transactions, so it’d be beneficial to confirm this isn’t the case.
  • Ensure you or your customer’s funds have cleared the respective bank account and are available to before using those funds to make subsequent transactions to another party.

If you receive a return code, contact your bank to find out why they issued a return and what you can do to remedy the situation.

Dwolla, for better ACH payments

Dwolla is here every step of the way to get you up and running with ACH payments. Whether you’re a developer, product manager, or someone with very little tech know-how, we can help you understand when and where to build ACH into your payments process.

If you’re dealing with several of ACH return codes, check out Dwolla’s Instant Bank Account Verification process (IAV)—great for platforms. Just reach out below to learn more!

Stay Updated