ACH Return Codes Explained: The Complete Guide for Payment Recovery Teams

Dec 2, 2025

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 CategoryTypical 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 daysThese are the fastest returns because the bank can validate immediately.
Consumer disputes/unauthorized debits (R07, R10, some R11 scenarios)Up to 60 calendar daysConsumers 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 daysRDFIs may choose whether or not to return the entry. Not guaranteed.
Stop payments (R08)Typically same day or next banking dayTiming 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:

Related Posts

Is It Time to Retire Paper Checks?

Is It Time to Retire Paper Checks?

Many businesses still rely on paper checks. Modern payment options are faster, more secure, and consumer-friendly. Is it time to switch?