Learn about ACH returns
Transfer is only supported in Plaid's Sandbox and Production environments.
After a payment has been posted, a payment can be returned and clawed back from your account for a multitude of reasons. For example, a bank could determine that there are insufficient funds to complete the transfer, or a consumer can contact their bank and flag the transaction as unauthorized. If a transfer results in an ACH return, the funds will be automatically clawed back. In the event of an ACH return, we suggest you message the reversal to your user.
For a full list of all ACH return codes you may encounter, see ACH return codes.
Most common ACH return codes
R01 - Insufficient funds
This occurs if there are insufficient funds in the account. This return code is highly mitigated by the Transfer authorization engine, but you may see this return code if the authorization engine returns
permitted and you still create the transfer. See Transfer decision authorization for more information.
If you are submitting the transfer on a Friday, we recommend using same-day ACH to decrease the likelihood of the user’s account balance dipping below the transfer amount over the weekend.
If you encounter an R01 return code, you can resubmit the payment.
R03 - No account or unable to locate account
This can occur for one of the following reasons:
This could happen if the user closed the account in the time between linking their account and creation of the transfer.
If you encounter an R03 return code, prompt the user to link another account via Plaid Link and use this newly linked account to create the transfer.
R10 - Customer advises not authorized
This can occur if the customer advises their bank that the payment you initiated is unauthorized. According to Nacha rules, these occurrences must be kept below 50 basis points.
Make sure you add proper web debit authorization language (for best practices, see ACH authorization) to your “pay with bank” UX to protect against exposure of returns of over 60 days. If you don’t have proper web debit authorization language, you are exposed to returns of up to 1 year.
Unlike other ACH return codes, you cannot resubmit a payment after encountering an R10 error.
ACH Return Timing
Each ACH return code has a maximum window of time during which funds can be clawed back. For example, for some ACH return codes, the window of time is two banking days. The following is to give you a general idea of when returns typically occur, regardless of the specific ACH return code:
- 50% of ACH returns occur by day 2 of submitting to the Nacha network
- 90% of ACH returns occur by day 4 of submitting to the Nacha network
- 95% of ACH returns occur by day 5 of submitting to the Nacha network
- 99% of ACH returns occur by day 8 of submitting to the Nacha network