This page covers ACH return codes, the R numbers like R01 or R10 that come back when a bank debit fails. Looking for a declined card or a card chargeback?
Check what the payment ran on. ACH pulls from a routing and account number, and every return code here starts with R. On a card, 05 or 51 means it was declined at the sale, and 10.4 or 4853 means a dispute is taking money back.
- ACH return codes tell you why a bank transfer failed and whether you're allowed to retry
- R01 insufficient funds is the common one worth retrying. Wait 2-3 days
- R02 account closed, R03 no account found and R10 customer unauthorized are terminal. Stop and fix the underlying data
- R10 is the ACH equivalent of a fraud chargeback. Investigate it, don't just re-run the debit
- NACHA caps you at 0.5% unauthorized returns, 3.0% administrative and 15% overall. Blow the 0.5% and you can lose ACH origination entirely
A bank pushed your debit back and handed you a code. It tells you why, and whether you're allowed to try again. Get that second part wrong and NACHA starts counting. Most returns are boring account problems you can fix. A few mean stop, and those are the ones that cost you ACH.
Quick Reference: Most Common Returns
| Code | Name | Retry? | Action |
|---|
| R01 | Insufficient Funds | Yes (2-3 days) | Wait and retry |
| R02 | Account Closed | No | Request new account |
| R03 | No Account Found | No | Verify account info |
| R10 | Customer Unauthorized | No | Stop immediately, investigate |
| R20 | Non-Transaction Account | No | Request different account |
Administrative Returns (R01-R17)
These are account and routing problems, and most of them are fixable. Correct the details or wait for the funds and the debit usually clears next time. One on its own isn't a fraud signal. A pattern of them is.
| Code | Description | Retry? | Typical Cause | Action |
|---|
| R01 | Insufficient Funds | Yes* | Balance too low | Retry in 3-5 days (payday timing) |
| R02 | Account Closed | No | Account no longer exists | Request new account from customer |
| R03 | No Account/Unable to Locate | No | Wrong account number | Verify and correct account info |
| R04 | Invalid Account Number | No | Malformed account number | Correct account number format |
| R05 | Unauthorized Debit (consumer) | No | Customer disputes authorization | Stop debits, investigate |
| R06 | Returned per ODFI's Request | Maybe | Bank-initiated return | Contact your bank for details |
| R07 | Authorization Revoked | No | Customer canceled permission | Stop debits, obtain new auth |
| R08 | Payment Stopped | No | Customer issued stop payment | Contact customer directly |
| R09 | Uncollected Funds | Yes* | Check deposited, not yet cleared | Retry in 5-7 days |
| R10 | Customer Advises Not Authorized | No | Disputes authorization | Stop immediately, investigate |
| R11 | Check Truncation Entry Return | No | Check conversion issue | Process/technical problem |
| R12 | Branch Sold to Another DFI | No | Bank merger/sale | Update routing number |
| R13 | Invalid ACH Routing Number | No | Routing number doesn't exist | Correct routing number |
| R14 | Representative Payee Deceased | No | Account representative died | Update account |
| R15 | Beneficiary/Account Holder Deceased | No | Account holder died | Account must be closed |
| R16 | Account Frozen | No | Legal hold on account | Customer must resolve with bank |
| R17 | File Record Edit Criteria | No | ACH file formatting error | Fix technical submission |
*Retry with appropriate delay (3-5 business days minimum, after funds expected)
Unauthorized Returns (R05, R07, R10, R29)
Critical: These aren't administrative problems, they're accusations. Too many and your ODFI can pull your ACH origination.
Consumer ACH Authorization Disputes
| Code | Description | Window | What Happened |
|---|
| R05 | Unauthorized Debit Entry | 60 calendar days | Customer says they never authorized |
| R07 | Authorization Revoked | 60 calendar days | Customer canceled recurring authorization |
| R10 | Customer Advises Not Authorized | 60 calendar days | Customer disputes authorization |
Corporate ACH Authorization Disputes
| Code | Description | Window | What Happened |
|---|
| R29 | Corporate Customer Advises Not Authorized | 2 banking days | Business customer disputes |
Handling Unauthorized Returns
- Stop all debits immediately. Don't retry. Ever.
- Review your authorization records:
- Do you have signed ACH authorization?
- Did customer consent via web/phone?
- Is the authorization date before the transaction?
- Investigate the customer:
- First transaction or established?
- Other returns in history?
- Fraud pattern indicators?
- Document everything - you'll want the authorization, the timestamps, the whole trail
- Respond to the ODFI if they ask for records
- Update your fraud rules if you see a pattern
Unauthorized Return Prevention
| Prevention | Implementation |
|---|
| Prenotes | Send $0 verification before first debit |
| Micro-deposits | Verify account ownership with small deposits |
| Bank verification APIs | Instant account validation (Plaid, MX, etc.) |
| Clear authorization language | Explicit consent, saved and timestamped |
| Email confirmation | Send receipt immediately after authorization |
Extended Returns (R20-R39)
| Code | Description | Retry? | Notes |
|---|
| R20 | Non-Transaction Account | No | Savings account with transaction limits |
| R21 | Invalid Company Identification | No | Fix your company ID in file |
| R22 | Invalid Individual ID Number | No | Fix customer ID in record |
| R23 | Credit Entry Refused by Receiver | No | Customer refused incoming payment |
| R24 | Duplicate Entry | No | Already processed this transaction |
| R25 | Addenda Error | No | Fix addenda record format |
| R26 | Mandatory Field Error | No | Required field missing/invalid |
| R27 | Trace Number Error | No | Fix trace number |
| R28 | Routing Number Check Digit Error | No | Last digit of routing number wrong |
| R29 | Corporate Customer Advises Not Authorized | No | Corporate unauthorized (2-day window) |
| R30 | RDFI Not Participant in Check Truncation | No | Bank doesn't support this |
| R31 | Permissible Return Entry | Maybe | CCD/CTX specific return |
| R32 | RDFI Non-Settlement | No | Bank settlement issue |
| R33 | Return of XCK Entry | No | Check conversion return |
| R34 | Limited Participation DFI | No | Bank has restrictions |
| R35 | Return of Improper Debit Entry | No | Wrong SEC code for debit |
| R36 | Return of Improper Credit Entry | No | Wrong SEC code for credit |
Return Timeframes
Standard ACH
| Return Category | Window | From When |
|---|
| Administrative (R01-R04, etc.) | 2 banking days | Settlement date |
| Unauthorized Consumer (R05, R07, R10) | 60 calendar days | Settlement date |
| Unauthorized Corporate (R29) | 2 banking days | Settlement date |
| Extended (most R20-R39) | 2 banking days | Settlement date |
Same-Day ACH Returns
Same-Day ACH compresses everything. You're down to end of day, or the next banking day on the late window.
| Settlement Window | Return Deadline |
|---|
| 10:30 AM ET | End of day |
| 2:45 PM ET | End of day |
| 4:45 PM ET | Next banking day |
Retry Strategies
When to Retry
| Return Code | Retry Recommended? | Optimal Wait Time |
|---|
| R01 (NSF) | Yes (limited times) | 3-5 business days, align with payday |
| R09 (Uncollected) | Yes | 5-7 business days |
| R02-R04 | No | Correct info first |
| R05, R07, R10 | Never | Don't retry |
| R16 (Frozen) | Maybe | After customer confirms resolved |
NACHA Retry Rules
| Rule | Requirement |
|---|
| Max retries for NSF | 2 retries per debit (3 total attempts) |
| Same amount | Retry must be for original amount |
| Timing | At least 2 business days between attempts |
| Consumer notification | Required if retry fee charged |
Smart Retry Timing
| Strategy | When to Use |
|---|
| Payday alignment | Retry on 1st, 15th of month |
| End of week | Friday afternoon (deposits cleared) |
| Customer confirmation | Ask customer to confirm funds available |
| Staggered retry | Day 3, then Day 7 if still failing |
Retry Decision Tree
Fraud Indicators
High-Risk Return Patterns
| Pattern | Risk Level | What It Suggests |
|---|
| Multiple R10s from same account | Critical | Authorization fraud or dispute abuse |
| R02/R03 after prior success | High | Account takeover or closed in panic |
| R05 after legitimate pattern | Medium | Friendly fraud or buyer's remorse |
| Velocity of R01s | Medium | Financial stress or testing accounts |
| New account + immediate return | High | Fraudulent account linkage |
Red Flags
- First transaction returns R10 (never authorized)
- Same bank info used across multiple accounts
- Returns after long dormancy
- Pattern of small tests then large returns
- Customer provides incorrect info multiple times
Fraud Response
| Indicator | Action |
|---|
| First R10 ever | Investigate, may be one-off |
| Second R10 same customer | Block customer |
| R10 + other fraud signals | Block immediately, investigate |
| Pattern across customers | Check for common vector |
ACH Return Fee Liability
Every return costs somebody a fee. R01 usually lands on the customer. The rest you're eating.
Fee Structure by Return Type
| Return Type | Your Fee | Customer Impact | Who Typically Pays |
|---|
| R01 (NSF) | $2-15 ODFI fee | May incur bank fee | Usually passed to customer |
| R02/R03 (Account issues) | $2-15 ODFI fee | None | Merchant absorbs |
| R10 (Unauthorized) | $5-25 + potential penalties | Refund issued | Merchant absorbs |
| R29 (Corp unauthorized) | $5-25 ODFI fee | Refund issued | Merchant absorbs |
Fee Sources
| Fee Type | Who Charges | Range |
|---|
| ODFI return fee | Your bank | $2-15 per return |
| Processor return fee | Your processor | $0-10 per return |
| NACHA violation penalty | NACHA (via ODFI) | $5-100+ for rule violations |
| Excessive return fee | ODFI/NACHA | Triggered above thresholds |
NACHA Return Rate Thresholds
| Return Category | Threshold | Consequence |
|---|
| Overall unauthorized (R05/R07/R10/R29) | > 0.5% | ODFI notification, potential action |
| Administrative | > 3.0% | ODFI notification |
| Overall return rate | > 15% | Potential origination suspension |
Critical: Cross 0.5% unauthorized and you can lose ACH origination. That's not a fine you pay, that's ACH switched off.
Passing Fees to Customers
| Consideration | Guidance |
|---|
| R01 (NSF) fees | Often passed to customer; check state law |
| R10 (Unauthorized) fees | Never pass to customer; you're at fault |
| Disclosed in terms | Fee passing must be disclosed upfront |
| State law limits | Some states cap NSF fee pass-through |
| Customer relationship | First-time courtesy waiver builds goodwill |
Fee Mitigation Strategies
| Strategy | Impact |
|---|
| Pre-validation | Reduce R01-R04 with account verification |
| Clear authorization | Reduce R10/R29 with strong consent |
| Smart retry timing | Retry R01 at strategic times (paydays) |
| Customer notification | Contact before retry to confirm funds |
| Account update prompts | Proactive requests when issues appear |
Same-Day ACH Considerations
Same-Day ACH mostly reuses the same return codes. What's different is the speed and the per-transaction ceiling.
Same-Day ACH Return Codes
| Scenario | Return Code |
|---|
| RDFI doesn't support same-day | R31 (Permissible Return Entry) |
| Same-day rejected | Original code + same-day indicator |
Same-Day ACH Limits
| Limit | Amount |
|---|
| Per-transaction limit | $1,000,000 |
| Return window | Same day or next banking day |
When Same-Day ACH Returns Faster
Same-day ACH can return the same business day for:
- Insufficient funds
- Account issues
- Format errors
Operational impact: You can know the same day instead of waiting 2+ days. That's days back to chase the customer.
Account Validation Best Practices
The cheapest return is the one you never get. Validate the account before you debit it.
Pre-Transaction Validation
| Method | What It Checks | R Codes Prevented |
|---|
| Prenote | Account exists, accepts debits | R02, R03, R04, R13 |
| Micro-deposits | Account active, customer has access | R02, R03, ownership |
| Bank verification API | Account status, ownership | R02, R03, R20 |
| Balance check | Available balance | R01 (not guaranteed) |
Validation Trade-offs
| Method | Cost | Speed | Coverage |
|---|
| Prenote | Free | 3-4 days | Limited |
| Micro-deposits | ~$0.05 | 2-3 days | Good |
| Instant verification | $0.10-0.50 | Instant | Best |
SEC Codes and Returns
Your SEC (Standard Entry Class) code sets how long the customer has to dispute. That's 60 days on consumer codes and 2 banking days on corporate.
| SEC Code | Use Case | Unauthorized Window |
|---|
| PPD | Personal (recurring) | 60 days |
| WEB | Web-initiated | 60 days |
| TEL | Telephone-initiated | 60 days |
| CCD | Corporate | 2 days (R29) |
| CTX | Corporate trade exchange | 2 days |
Using wrong SEC code: Can result in R35 (Improper Debit) or R36 (Improper Credit).
Reporting and Monitoring
Key Metrics to Track
| Metric | Target | Action If Exceeded |
|---|
| Overall return rate | < 3% | Investigate patterns |
| Unauthorized return rate | < 0.5% | Critical: immediate action |
| R01 rate | < 2% | Review customer quality |
| R10 rate | < 0.25% | Review authorization process |
Monthly ACH Health Report
Track monthly:
- Total return count and rate
- Return breakdown by code
- Unauthorized return rate
- Top returning accounts
- Return trend (improving/worsening)
Scale Callout
Your ACH volume decides what's worth building here.
| ACH Volume | Focus |
|---|
| Under $50k/mo | Use basic validation. Watch unauthorized rate. |
| $50k-$250k/mo | Implement instant verification. Track metrics monthly. |
| $250k-$1M/mo | Optimize retry logic. Automate monitoring. |
| Over $1M/mo | Advanced fraud rules. Dedicated ACH operations review. |
Next Steps
New to ACH returns?
- Learn ACH operations - Bank payment management fundamentals
- Understand bank transfers - ACH fundamentals and risk
Reducing return rates?
- Implement identity verification - Account validation methods
- Set up velocity rules - Pattern detection for fraud prevention
Investigating unauthorized returns?
- Review Regulation E - Consumer protection requirements
- Understand first-party fraud - Authorization fraud patterns
- Check AML basics - Compliance requirements
Related Pages