ACH payments continue to be one of the most efficient, cost-effective, and widely used payment methods for agencies, creditors, and law firms. But when an ACH return occurs, it can slow down recovery, add operational work, and introduce compliance considerations your team must manage carefully.
This guide breaks down the most common ACH return codes in plain language — and shows how to reduce returns using better data validation, workflow design, and consumer-friendly payment tools.
What Are ACH Return Codes?
ACH return codes are standardized two- or three-character codes assigned by NACHA to explain why an ACH debit or credit could not be processed.
They help your team quickly identify whether:
account details were incorrect
a consumer disputed the transaction
insufficient funds were available
the bank rejected the entry due to formatting
authorization was revoked
Understanding return codes is essential for:
reducing failed payments
improving cost-to-collect
maintaining NACHA compliance
delivering a smoother consumer experience
Why ACH Returns Matter for Agencies & Law Firms
ACH returns have direct operational impact. They can:
Increase cost-to-collect
Each failed payment creates additional:
staff time
consumer follow-up
processing fees
Delay payment recovery
Depending on the reason, you may need to:
request new authorization
collect updated bank information
re-initiate the payment
Create compliance exposure
Codes like R07 (Revoked Authorization) and R10 (Not Authorized) must be handled correctly under NACHA guidelines and dispute rules.
Well-managed return workflows reduce both consumer friction and regulatory risk.
The Most Common ACH Return Codes
Below is a breakdown of the codes your team is most likely to encounter.
R01 — Insufficient Funds
Account exists, but there wasn’t enough money to cover the debit.
Next step: Retry or contact the consumer to pick a better date/method.
R02 — Account Closed
The consumer or bank closed the account.
Next step: Collect updated bank info.
R03 — No Account / Unable to Locate Account
Routing number is valid, but the account number doesn’t match.
Next step: Updated account info required; do not retry automatically.
R04 — Invalid Account Number
The bank cannot process the account number as entered.
Next step: Re-collect accurate account details.
R07 — Revoked Authorization
The consumer revoked authorization for this debit.
Next step: Obtain new authorization before attempting again.
R08 — Payment Stopped
The consumer issued a stop-payment order.
Next step: Confirm next steps directly with the consumer.
R10 — Customer Advises Not Authorized
A dispute claim: consumer says the debit was unauthorized.
Next step: Stop debits, document the dispute, follow NACHA rules.
R11 — Check Truncation Entry Return
A technical or formatting flaw in the transaction.
Next step: Correct the issue and re-submit.
R17 — File Record Edit Criteria (Data/Formatting Issue)
Triggered when critical fields are missing, invalid, or misformatted.
Next step: Correct data and resubmit.
R20 — Non-Transaction Account
The account cannot accept ACH debits (e.g., certain savings or investment accounts).
Next step: Collect a checking account or card.
R29 — Corporate Customer Advises Not Authorized
A business account disputes the debit.
Next step: Obtain new corporate authorization.
R31 — Permissible Return
The bank couldn’t process the transaction—typically a bank-side issue.
Next step: Retry after resolving the issue.
ACH Return Code Timing (What Teams Should Expect in Practice)
ACH return timing follows guidelines, but real-world timing can vary by:
receiving bank (RDFI)
type of return (admin vs. dispute)
consumer vs. business account
holidays/weekends
whether the return is discretionary
Below is a merchant-safe overview that reflects common patterns without overpromising.
| Return Category | Typical Return Window* | What Merchants Should Know |
|---|---|---|
| Most administrative/data errors (e.g., R01 NSF, R02 Account Closed, R03/R04 invalid account info) | Usually within 1–2 banking days | These are the fastest returns because the bank can validate immediately. |
| Consumer disputes/unauthorized debits (R07, R10, some R11 scenarios) | Up to 60 calendar days | Consumers have extended rights. Timing depends on when they notify their bank. |
| Discretionary/ODFI request returns (R06 & some R17 cases) | Varies; commonly resolved in 7–10 banking days | RDFIs may choose whether or not to return the entry. Not guaranteed. |
| Stop payments (R08) | Typically same day or next banking day | Timing depends on when the consumer placed the stop order. |
* “Typical” windows are industry norms, not guaranteed timelines. Actual timing depends on the RDFI’s processing schedule, ACH network settlement, bank holidays, and dispute rights.
This chart aligns with verification from multiple payment-industry sources (NACHA guidance, Modern Treasury return code references, East West Bank ACH return guide, VeriCheck’s R06/R17 timing notes).
How ACH Return Codes Affect Recovery Outcomes
Even a small percentage of failed ACH payments can significantly increase operating costs and delay settlements. Common effects include:
More manual work: follow-ups, data fixes, verification.
Slower consumer resolution: especially in multi-step dispute codes.
Higher compliance oversight: required for disputed or unauthorized returns.
Lower recovery rates: especially for multi-return cycles.
Reducing return volume — even by 10–20% — has a measurable business impact.
How to Reduce ACH Payment Failures (Actionable Steps)
1. Validate bank information before submitting payments
Many R03, R04, and R17 errors come from:
typos
outdated routing numbers
mismatched field formats
Real-time validation dramatically reduces these.
2. Use consumer-friendly digital workflows
When consumers enter payment info through guided steps, errors drop.
HealPay Assist helps by:
confirming bank details conversationally
catching invalid formats
guiding the consumer to correct fields
reducing mismatched routing/account issues
3. Offer flexible payment options
If an account generates R01 or R20 returns, follow up with consumers to switch to:
debit card
updated ACH info
scheduled ACH payments
This helps save recoveries that would otherwise stall.
4. Use proactive payment reminders
A simple reminder before a scheduled debit reduces R01 failures (NSF) significantly.
5. Use portals with built-in guardrail logic
HealPay’s payment tools help prevent issues by:
validating routing numbers
detecting missing/invalid fields
preventing unprocessable entries
capturing compliant authorizations
Reducing bad submissions reduces downstream returns.
Compliance Considerations for 2025
NACHA continues to emphasize:
account validation
maintaining low return rates
proper authorization capture
documentation for dispute codes
accuracy in formatting and settlement
Agencies and law firms must ensure:
clear consumer consent
secure data handling
audit-ready authorization records
compliant retry logic
adherence to dispute timelines
HealPay’s workflows and controls help ensure these boxes are checked.
Learn More About HealPay’s Solutions:
Merchant Services — secure ACH + card payments
HealPay Hub — collections dashboard + payment product administration


