An ACH return code is a short reason code, made up of the letter R and two digits, that a receiving bank includes when it sends an entry back through the Automated Clearing House network. The code tells the originating bank and the business that sent the payment why it failed, for example R01 for insufficient funds or R03 when no account can be found.
Return codes are defined in the Nacha Operating Rules, which list each code, its meaning, the time allowed for using it and any documents required. They are the ACH counterpart of the chargeback reason codes used in card payments, though ACH codes cover technical failures as well as disputes. Every ACH return must carry one.
How return codes are used
When the receiving depository financial institution (RDFI) cannot post an entry, it builds a return entry with an addenda record holding the return code, the original trace number and the original receiving bank identification. The return passes through the ACH operator to the originating depository financial institution (ODFI), which reports the code to its customer in a return file, online report or API notification. The originator uses the code to decide what to do next: retry the debit, ask the customer for new account details, stop collecting or investigate possible fraud.
Common return codes
| Code | Meaning | Typical next step |
|---|---|---|
| R01 | Insufficient funds | May be re-presented within the limits of the rules |
| R02 | Account closed | Obtain new account details |
| R03 | No account or unable to locate account | Check details with the customer |
| R04 | Invalid account number structure | Correct the account number |
| R05 | Unauthorized debit to a consumer account using a corporate entry class | Stop and review the authorization and entry class |
| R07 | Authorization revoked by customer | Stop further debits unless newly authorized |
| R08 | Payment stopped | Contact the customer before trying again |
| R09 | Uncollected funds | May be re-presented within the limits of the rules |
| R10 | Customer advises the originator is not known or not authorized to debit the account | Treat as unauthorized and investigate |
| R11 | Customer advises the entry does not follow the terms of the authorization | Correct the error; a fresh entry may be allowed |
| R16 | Account frozen or entry returned on OFAC instruction | Review for legal or sanctions issues |
| R20 | Non-transaction account | Ask for an account that accepts ACH entries |
| R29 | Corporate customer advises not authorized | Treat as unauthorized and contact the business |
Other codes cover deceased account holders (R14 and R15, also used in ACH reclamation), an account sold to another bank (R12), credits refused by the receiver (R23), duplicate entries (R24) and permissible returns of business entries agreed with the originator (R31). A separate series of codes is used when an ODFI dishonors a return as late or incorrect, and when an RDFI contests that dishonor.
Deadlines by code
Most codes, including R01, R02, R03, R04, R08, R09 and R29, must be used within the standard window, which ends at the opening of business on the second banking day after settlement. Codes for unauthorized consumer debits, such as R05, R07, R10 and R11, have an extended window of 60 calendar days and require the consumer to sign a written statement. R16 is linked to the bank's duties under sanctions rules enforced by the Office of Foreign Assets Control.
Return codes and risk monitoring
Nacha groups codes into categories when measuring originators' return rates. Unauthorized returns, mainly R05, R07, R10, R11 and R29, count towards a 0.5 percent threshold. Administrative returns for bad account data, R02, R03 and R04, count towards a 3 percent threshold, and all debit returns together towards 15 percent. A rise in R10 and R29 often points to fraud or misleading billing; a rise in R03 and R04 points to poor data capture. Originators reduce administrative returns with checks such as an ACH prenotification and reduce unauthorized returns with clear authorizations and descriptors.
Return codes versus notification of change codes
Not every problem leads to a return. When an entry can be posted but some details are out of date, the RDFI may send a notification of change, which uses codes beginning with the letter C, such as C01 for an incorrect account number. The payment succeeds, but the originator must correct its records. Return codes, by contrast, mean the money has been sent back. Customer actions also map to specific codes: an ACH stop payment produces R08, while revoking an ACH authorization with the originator but then disputing a later debit produces R07.