ACH Return Codes R01, R02 and R03: What They Mean and How to Fix Them
Decode common ACH payment returns for insufficient funds, closed accounts and unrecognized account details without confusing returns with reversals.

Quick answer: R01 generally means insufficient funds, R02 means the receiving bank’s account was closed, and R03 means no matching account could be located. These are ACH return reasons supplied through financial institutions—not a verdict about whether a bill was legitimately owed.
Read a return code as a payment-processing clue
An ACH transfer can be returned through the network after a bank cannot process the entry. The return reason code helps the payment originator understand what happened at the receiving institution. It does not by itself prove why a person missed a bill, who was at fault or whether a merchant contract is valid. A message saying 'payment failed' may hide the detailed code; ask the company or sending bank for the exact return reason, amount, effective date and, when available, trace information.
Nacha distinguishes return entries from reversals of erroneous entries and from bank attempts to recall certain payments. R01, R02 and R03 are different failure states, so repeatedly sending the identical payment without reading the code can create needless fees or duplicate processing. When you receive a notice, first identify whether the transaction was a debit used to pay a bill or a credit such as payroll. The same broad code can require a different practical next step depending on payment direction and whether the original instructions remain active.
R01: insufficient funds is about the available balance
R01 indicates that the account lacked sufficient available or cash-reserve funds for the amount of an ACH debit. The checking account’s displayed ledger balance may have been higher than its truly available funds because of holds, prior postings or transfers in process. A payer should compare the debit date with payroll arrival, other scheduled withdrawals and any pending checks. If your account was positive at one moment, that does not prove enough funds were available when the bank processed the actual entry.
Imagine a $420 insurance debit scheduled on Thursday while $390 was available and a $75 employer transfer had not yet settled. The bank can return the debit R01 even if the transfer arrives later that day. Before retrying, ask the biller whether it will resubmit automatically, and make sure the balance can cover all remaining obligations. Do not authorize two replacement payments while the first could still be attempted. Review any returned-item fee under both the bank’s and biller’s agreements; fee treatment depends on circumstances and is not encoded by R01 alone.
R02: the account was closed before processing
R02 means the account identified for the transfer had previously been closed by the customer or the financial institution. It is not the same as a card replacement or temporary debit-card lock. The receiving bank cannot simply deposit money into or withdraw it from a normal closed account as though it remained active. For a failed payroll credit, contact the employer or sender with updated banking details. For an unpaid bill, update the merchant’s authorized ACH instructions to a valid account and confirm when the old payment was rejected.
Be precise when talking to the biller. A notice that your old account closed in June does not mean the business automatically acquired authorization to debit a new account that you never supplied. Request the current payment mandate, do not send banking details through an unverified link, and agree on a replacement payment date. If an expected tax refund or benefit transfer was sent to a closed account, follow the payer’s specific reissue process. The bank’s R02 signal and the sender’s decision about reissuing money are separate stages.
R03: the account cannot be matched to an existing account
R03 generally means the account number has a valid structure but does not correspond to an account the receiving bank can locate for the specified transaction. This can result from a mistyped number, use of details from the wrong account or a mismatch between the intended beneficiary and bank records. It is not automatically proof of fraud or an assertion that the routing number was invalid. Another ACH code, R04, addresses certain invalid account-number structures; merchants may give generic notices that blur these technical distinctions.
If you receive R03 after trying to fund a savings account, recheck the receiving institution’s ACH instructions, account number and relevant account-holder details directly in the bank’s secure portal. Some products display separate routing or account identifiers for wires, checks and ACH; do not substitute one without confirmation. If a payroll credit failed, ask the employer’s payroll department to verify the direct-deposit record and stop resubmitting the same invalid details. Preserve the rejected entry’s trace and dates to distinguish a corrected new payment from the first failed attempt.
Recover efficiently while avoiding further returns
For every code, begin by learning whether the original payment is definitively returned, pending retry or replaced. If it was a bill payment, ask whether the merchant will charge a fee, extend the deadline or demand a different funding method. If it was an incoming credit, ask the sending organization how it will reissue the amount and whether its internal timetable starts only after the return reaches it. A bank cannot guarantee when an employer, government agency or vendor will create a new transaction.
Keep a return log containing amount, originator, receiving account, R-code, dates, bank confirmation and replacement payment ID. A merchant may call every return 'NSF' even when the reason was closed or unrecognized account details; correct that description before paying avoidable charges or changing account settings. If you believe the bank returned a valid consumer transfer in error, request its explanation and dispute any related charges through the appropriate process. Fix the real cause once rather than turning a single rejected payment into multiple failed retries.
Frequently asked questions
Does R01 always mean my account was negative? No. It refers to funds available for the entry; holds and posting timing can matter.
Is R02 the same as a frozen account? No. R02 identifies an account closed; other codes address different restrictions.
Should I resend immediately after R03? First verify exact ACH account details and ask whether the original item is being retried.
MyBankAnswers Editorial Verdict
ACH return codes are operational evidence, not conclusions about customer honesty or contractual liability. R01 points to insufficient available funds, R02 to a closed account and R03 to an account the receiving bank could not locate as specified. Each suggests a different correction: fund appropriately, supply an active account or fix the identifying details. Ask the sender or receiving institution whether an automatic retry is planned so you do not cause a duplicate debit. Compare any penalty with the actual return reason rather than accepting the blanket explanation that every failure is 'NSF.' Traceable replacement entries are more valuable than hurried resubmissions.
Sources and verification
- Nacha: published ACH return reason code mapping
- Nacha: ACH same-day return bulletin
- CFPB: electronic transfer error procedures