9 min read

80+ ACH Return Codes You Should Know in 2026

Mile Zivkovic
November 14, 2025

Whenever a customer’s payment is refused by your bank, you get an ACH return code. These are strings of numbers following the letter R, each signifying a different reason why the payment couldn’t come through.

These are some of the most common ACH return codes and what they mean for your business.

What are ACH return codes, and why should you care about them?

ACH return codes are short three-character codes that banks use to explain why an ACH payment was rejected or reversed. Every time an ACH debit or credit fails, the receiving bank sends back a code that tells you exactly what happened, from insufficient funds to an invalid account number. These codes come from NACHA rules, so they’re standardized across all US banks.

You should care about them because they tell you what action to take next. Some codes mean a simple data entry mistake. Others point to fraud, closed accounts, or authorization problems. If you’re a business that relies on ACH payments, understanding these codes helps you reduce failed payments, avoid extra fees from your processor, and fix customer issues before they snowball. 

It also gives you better visibility into your cash flow since you can quickly see why money did not settle when expected.

The most common ACH return codes and what they mean

Here are some of the most common ACH return codes you’ll encounter, along with their meanings and the next steps you should take.

ACH code Explanation Recommended action
R01 Not enough money in the customer account to cover the debit. Ask the customer to confirm their balance or retry the debit later after they add funds.
R02 The account is closed. Contact the customer for a new bank account and update their payment details.
R03 The account number is not valid. Reconfirm the customer account number and routing number before retrying.
R04 The account does not exist at the receiving bank. Verify both routing and account details with the customer and resubmit once corrected.
R05 The transaction type was not authorized. Check whether the entry should be consumer or business and obtain a proper authorization.
R06 The bank refused the transaction for a general reason. Contact the bank or payment processor for clarification because this is bank-driven.
R07 The customer revoked their authorization. Get a new authorization form before trying again.
R08 The customer requested a stop payment. Ask the customer why the stop was placed and get approval before attempting another debit.
R09 Funds were available earlier, but not at settlement time. Retry at a different time or communicate with the customer about timing.
R10 The customer claims they did not authorize the debit. Pause further debits, investigate the claim, and collect a new authorization if the payment is still needed.
R11 The transaction was authorized but had an error in processing. Correct the issue, such asthe  amount or formatting, then resubmit.
R16 The account is frozen or restricted. Contact the customer because they must resolve the freeze with their bank.
R20 The account cannot accept ACH debits. Request a different bank account that supports ACH.
R29 A business declined the debit because they did not authorize it. Get written authorization from the business before another attempt.
R31 The receiving bank cannot accept the entry at the moment. Wait for the bank to resolve the issue or ask your processor if you should retry.

Other ACH return codes you may run into

There are over 80 return codes in total, and the full list changes with time as NACHA adds new codes to the list. Here are some of the other codes you may see in your business operations.

ACH code Explanation Recommended action
R12 The branch listed in the transaction is not valid. Verify routing information and update the entry with the correct branch details.
R13 The ACH entry is not allowed for this account type. Ask the customer for a different checking or savings account that accepts ACH.
R14 The payee is deceased. Stop future debits and follow legal or estate procedures.
R15 The account holder is deceased. Discontinue transactions and request new authorized account details.
R17 A general error in the file or entry. Review formatting, addenda content, or account data, then correct and resubmit.
R18 The account number structure is not supported by the receiving bank. Confirm the official account format with the customer.
R19 The amount is not valid. Correct invalid amounts such as too many decimal places and resubmit.
R21 The entry contains an invalid or missing authorization for an ARC, BOC, or POP item. Obtain correct authorization or switch to a transaction type that fits the situation.
R22 Invalid credit item or credit authorization. Verify the authorization and edit the item before submitting again.
R23 The credit entry was refused by the customer. Contact the customer to understand why they refused it and resend if approved.
R24 Duplicate entry. Do not retry. Adjust records to avoid double posting.
R25 The addenda record has errors. Fix formatting or data inside the addenda record and re submit.
R26 The mandatory field in the record is missing or invalid. Correct formatting errors then send again.
R27 Trace number mismatch between entry and addenda. Update trace numbers to match and resend.
R28 The routing number in the entry does not match the check. Confirm the customer routing number and update records.
R30 RDFI, meaning the receiving bank, is not able to accept an ACH entry. Ask the customer for an alternate bank account.
R32 RDFI credit entry refusal by the receiving bank for corporate accounts. Contact the business customer to resolve the issue.
R33 Return of an extended return entry. Work with your processor to understand the extended return reason before retrying.
R34 Limited participation by RDFI in ACH credit entries. Request a different bank account or payment method.
R35 Invalid date in the authorization. Update the authorization with correct dates.
R36 Wrong identification code or company ID. Correct the company ID before resubmitting.
R37 Source document presented for payment is not acceptable. Obtain valid authorization or a different payment form.
R38 Stop payment on a source document. Contact the customer for permission to debit again.
R39 Improper source document. Replace with a compliant check or authorization.
R40 Improper transaction code for a specific format. Correct the entry class or transaction code.
R41 Invalid transaction code for an ARC entry. Adjust transaction code and re submit.
R42 Invalid routing number for an ARC entry. Verify routing number with the customer.
R43 Invalid account number for an ARC entry. Confirm the correct account number.
R44 Invalid individual name or item number for ARC. Fix the payee information and resend.
R45 Invalid amount for ARC. Correct the amount and resubmit.
R46 Invalid check serial number for ARC. Correct the check info and retry.
R47 Duplicate ARC entry. Do not retry. Remove the duplicate from your system.
R50 State law prohibits the transaction. Use a permitted payment method or seek legal guidance.
R51 Item is incomplete or lacks proper authorization. Re collect a valid authorization.
R52 Stop payment on a source document for BOC. Speak with the customer and obtain approval to retry.
R53 Improper source document for BOC. Obtain a compliant check or authorization.
R61 Misrouted return. Correct the routing number and resend.
R62 Incorrect trace number in the return. Update trace numbers and resubmit.
R67 Duplicate return. Do not resend. Clean up duplicate data.
R68 Untimely return. Check timing windows and decide if a corrected file is allowed.
R69 Field error in the return file. Fix formatting errors and resubmit.
R70 Permissible return entry, but requires authorization. Get the required authorization before reattempting.
R71 Error specific to addenda information in a return. Correct addenda data.
R72 Return not processed because of incomplete data. Add missing data and resubmit.
R73 Not enough information for the receiving bank. Provide complete entry details.
R74 Duplicate return for corrected return. Remove duplicates from your system.
R75 Return filed after the correction window. Work with your processor on next steps.
R76 Return does not match the original entry. Correct the mismatch and resubmit if allowed.
R80 Foreign or international transaction is not permitted. Use an approved international payment method.
R81 Invalid foreign routing number. Confirm correct international routing details.
R82 Invalid foreign account. Verify account details with the customer.
R83 Foreign source transaction refused. Request an alternative payment method.
R84 Entry is not eligible for processing because of foreign involvement. Switch to a supported payment channel.
R85 Incorrect extended return information. Correct extended return formatting before resubmitting.

Let us worry about ACH return codes while you take care of your customers

Understanding ACH return codes is not just a technical detail. These codes tell you why a payment failed, how serious the issue is, and what you should do next. When you can read them quickly, you protect your cash flow, reduce disputes, and avoid extra fees that sneak up on many high-risk merchants.

This is where TailoredPay makes a real difference. 

TailoredPay monitors every ACH response, highlights the exact code, and shows clear next steps so you are not guessing why a payment bounced. You also get support from a team that knows high-risk industries and helps you prevent repeat returns through better account validation and authorization guidance. The result is fewer failed payments and a smoother payout cycle for your business.

If you want payment processing that handles ACH issues with clarity instead of confusion, TailoredPay is the partner that helps you stay ahead of every code that comes your way.

Get a merchant account today

Get approved for a merchant account in less than 24 hours

Get an account