Learn · Bank payments (ACH)

R04 return code: invalid account number structure

The account number can't be right as written. Usually a data entry problem you can fix in a day.

2 banking daysfor the bank to send an R04 return
3.0%Nacha's administrative return rate level
15.0%Nacha's level for all debit returns
In brief

R04 is the ACH return code for "Invalid Account Number Structure." The account number on the debit isn't valid as written. Nacha notes it may fail the check digit validation or have the wrong number of digits. The customer's bank has two banking days after settlement to send it. R04 is an administrative return, so it counts toward Nacha's 3.0% administrative return rate level and the 15.0% overall level. On a payment plan, get the correct account number and a fresh authorization, then reschedule the missed installment.

What does R04 mean?

R04 is "Invalid Account Number Structure." Nacha's description is short: the account number structure is not valid. Its notes add that the entry may fail the check digit validation or may contain an incorrect number of digits.

So the problem is the number itself, not the account behind it. It can't be a real account number as written.

How is R04 different from R03?

Both mean the bank couldn't post the debit to the account you gave.

  • R03: the number is a valid structure and passes the check digit, but doesn't match the customer or an open account.
  • R04: the number fails the structure check, for example a missing digit or a failed check digit.

Either way, you need correct details from the customer.

Who sends an R04, and how fast?

The customer's bank (the RDFI). It has two banking days. The return must reach the business's bank no later than the opening of business on the second banking day after the debit's settlement date. Nacha has noted that banks can use same-day processing windows to send administrative returns like R04 sooner.

Does R04 count against my return rates?

Yes. R02, R03 and R04 are Nacha's administrative returns. Over the preceding 60 days or two calendar months:

Rate Level
Administrative (R02, R03, R04) 3.0% of debits
Overall (all debit returns) 15.0%

Nacha set the 3.0% level as a point where it may look more closely at whether poor origination practices are causing the returns. A run of R04s is worth tracing back to how account numbers are collected or keyed in.

Can I send the debit again?

Not with the same number. Stripe reports R03 and R04 as bank_account_invalid_details and blocks the account until the issue is resolved. It says Nacha requires originators to review and confirm the account before reinitiating a debit returned for any reason other than insufficient funds.

To clear a Stripe block, contact the customer for correct details. If you think the block is a mistake, Stripe asks for a voided check or a bank portal screenshot showing the full routing number, account number and account holder's name.

What should I do when a plan payment comes back R04?

  1. Look at the number you have on file. A missing or extra digit can be visible at a glance.
  2. Ask the customer for the correct number, ideally from a voided check or their online banking.
  3. Collect a fresh authorization with the corrected details.
  4. Agree a new date for the missed installment and keep the rest of the schedule as planned.

Example: a parent types an account number one digit short when enrolling. The $1,500 deposit returns R04. The fix takes one phone call, and nothing else on the plan needs to change.

Nacha lists prenotes and micro-deposits among the ways to validate an account before the first debit, which can catch an R04 before it costs a payment.

For the full list, see ACH return codes.

Built for businesses collecting $100K a month or more.

Payment plans built from the deal in HubSpot or Pipedrive, with each location paid into its own account and books.

Book 15 minutes