ACH return codes

Return reasons for when payins are returned and ACH returns are processed

The code and description explaining the reason for the ACH return on the payin or refund. These values are returned in the API as return_code and return_desc.

ACH Return Codes

CODEDESCRIPTIONTIME FRAMEDefinitionAction
R01Insufficient Funds2 Banking DaysThe customer's bank account didn't have enough available funds to cover the payment at the time it settled.Notify your merchant of the return and reason. The payment can be reattempted once the customer's account has sufficient funds. Rainforest allows up to two additional retries within 180 days of the original attempt.
R02Account Closed2 Banking DaysThe customer closed the bank account before the payment settled.Notify your merchant of the return and reason. They'll need to collect a new payment method from their customer before attempting the charge again.
R03No Bank Account/Unable to Locate Account2 Banking DaysThe customer's bank account number and/or routing number don't match any account on file, or the account no longer exists.Notify your merchant of the return and reason. They'll need to collect updated bank details from their customer before the payment can be reattempted.
R04Invalid Account Number2 Banking DaysThe account number the customer provided doesn't pass their bank's format or check-digit validation, so the payment can't be posted.Notify your merchant of the return and reason. Ask them to confirm the correct account number with their customer before resubmitting the payment.
R05Unauthorized Debit to Consumer Account Using Corporate SEC Code60 Calendar DaysThe payment was collected as a business payment, but the customer's account is a personal one, and the customer disputes that it was properly authorized in that form.Notify your merchant of the return and reason. This is treated as a disputed payment. The merchant should confirm how they collected authorization from the customer before attempting to charge them again.
R07Customer Revoked Authorization60 Calendar DaysThe customer previously authorized the payment but has since told their bank they no longer authorize it.Notify your merchant of the return and reason. Any future payments to this customer need a new authorization. Don't attempt to charge this payment method again without one.
R08Payment Stopped2 Banking DaysThe customer asked their bank to stop this specific payment before it settled.Notify your merchant of the return and reason. They should resolve the underlying issue with their customer directly before attempting to collect payment again.
R09Uncollected Funds2 Banking DaysThe customer's account had enough of a balance, but the funds weren't yet available (for example, a recent deposit hadn't cleared) when the payment settled.Notify your merchant of the return and reason. The payment can be reattempted after a few days once the customer's funds have cleared.
R10Originator not known and/or not authorized to Debit Receiver’s Account60 Calendar DaysThe customer says they never authorized this payment, or they weren't given the required notice about it.Notify your merchant of the return and reason. This is treated as a disputed payment. The merchant should confirm how and when authorization was collected before attempting to charge the customer again.
R11Customer Advises Entry Not in Accordance with the Terms of the Authorization60 Calendar DaysThe customer authorized the merchant to charge them, but says this specific payment didn't match what they agreed to.Notify your merchant of the return and reason. They should confirm the payment matches the terms the customer agreed to (amount, date, frequency) before attempting to charge them again.
R13Invalid ACH Routing Number2 Banking DaysThe routing number the customer provided isn't valid or doesn't belong to a bank that accepts ACH payments.Notify your merchant of the return and reason. Ask them to confirm the correct routing number with their customer before resubmitting the payment.
R14Representative Payee Deceased or Unable to Continue in That Capacity2 Banking DaysThe person managing the account on the customer's behalf has died or can no longer act in that role.Notify your merchant of the return and reason. They'll need to work with the customer's estate or new representative before attempting to charge the account again.
R15Beneficiary or Account Holder Deceased2 Banking DaysThe customer has died, and their bank has been notified.Notify your merchant of the return and reason. They should stop attempting to charge this account and follow up with the customer's estate if needed.
R16Account Frozen2 Banking DaysThe customer's bank account is frozen — either by legal action like a levy or garnishment, or by the bank itself — and can't accept the payment.Notify your merchant of the return and reason. They should reach out to their customer for more details before attempting to charge the account again.
R17File Record Edit Criteria2 Banking DaysThe customer's bank flagged the payment for a data or formatting issue specific to that bank's own processing rules.Reach out to [email protected] for assistance.
R23Receiver Refused CreditUndefinedThe customer's bank attempted to post a credit but the customer's account refused it, often due to a restriction on the account.Notify your merchant of the return and reason. They should confirm the correct account details with their customer before reissuing the credit.
R29Corporate Customer Advises Not Authorized2 Banking DaysThe customer's bank account has a debit block that rejects ACH debits unless the account holder has specifically authorized the originator.Notify your merchant of the return and reason. Their customer will need to contact their own bank to authorize the debit. The bank may ask for an ACH company ID, email [email protected] for the details.
R38Stop Payment on Source Document60 Calendar DaysThe customer placed a stop payment on the original paper check that this payment was based on.Notify your merchant of the return and reason. They should follow up with their customer on the underlying payment separately rather than resubmitting this one.

Did this page help you?