ACH
Returns
An ACH Return is the message that describes why an ACH was returned and is accompanied by the corresponding ACH return code defining the reason. Returns need to be viewed from two perspectives - one as the ODFI and the other as the RDFI.
When you're sending payments (Column as the ODFI), some of these payments may be returned by the RDFI. When you're receiving payments to a bank account on Column (as the RDFI) you can initiate returns. Both can be programmatically handled through Column's API and your dashboard.
ODFI - returns when initiating ACH transfers
An ACH Return is sent by the receiving bank (RDFI) through the ACH network in response to an ACH transfer you initiated via Column. The ACH network doesn't send an acknowledgment that an ACH payment has succeeded - the payment is determined successful by not receiving a return.
A return means the transaction was not settled successfully for a reason specified by the ACH Return Code (there are 80+ of these) the RDFI sends back. Common reasons include:
- The receiving account has insufficient funds to cover the account debit (
R01) - The receiving account has been closed or the account number is invalid (
R02,R04) - The owner of the receiving bank account requested a stop payment on the debit (
R08) - The owner of the receiving bank account did not authorize the transaction (
R07,R10)
NACHA, the governing body for the ACH network, has specific rules for the time frame within which the RDFI can initiate an ACH return. Most returns need to be submitted within 2 business days, otherwise the transaction will be settled. However, some return codes (e.g. unauthorized claims) can be sent back within 60 calendar days.
The industry refers to returns that must be sent within 2 days as t+2 returns. ACH transfers between commercial customers must generally be returned within 2 days. Returns that need to be sent under 60 days are referred to as t+60 returns. ACH transfers to consumers may generally be returned within 60 days.
After receiving your ACH transfer requests, Column will submit them to the Federal Reserve based on the effective dates of your requests.
- For outgoing debit ACH requests, if we do not receive any returns from the RDFIs for your requests within
2business days of the effective date, we will settle your transfers and sendach.outgoing_transfer.settledevents via webhook endpoints. - If we receive a return in the defined window, we will mark the transfers as returned and send the
ach.outgoing_transfer.returnedevent via the webhook endpoint. As mentioned above, RDFIs may send returns within60calendar days, even after we settle the transfers. In that case, we will mark the transfers as returned and send theach.outgoing_transfer.returnedevent as well.
If we do not receive any returns after 60 calendar days, we will mark the transfers as completed and send ach.outgoing_transfer.completed events via webhook endpoints. A completed ACH transfer cannot be returned.
Simulating ACH Returns on Outgoing ACH Transfers
We offer the ability to simulate a return on an outgoing ACH. In order to do this, you can set the "receiver_name" field on an outgoing ACH to the following:
RDFI - returns when receiving ACH transfers
For inbound ACH transfers that you receive from other ODFIs (Column is the RDFI for inbound transfers), you can submit requests to return those inbound transfers on behalf of your customers via our ACH Return API. While you can call our API to initiate returns, Column will automatically submit returns on your behalf in a lot of cases. Column automatically submits returns for codes R01, R02, R03, R04, R20, R33, R67.
Each inbound transfer can be returned only once (you can verify by checking if ach_transfer.returned_at field is set). You cannot submit requests to return outbound transfers (i.e. ach_transfer.is_incoming = false) that you initiate via our ACH Transfer API..
ACH returns to closed accounts
In the rare situation where there is an ACH return back to a closed account, Column will process the transaction and update the balance of the closed account. If funds are being returned to a closed account, the account balance will increase. If funds need to be returned out of a closed account, the account balance will go negative. Funds from your overdraft reserve, or program reserve will be used to cover the return.
ACH return statuses
An ACH Return can have the following statuses:
Initiated: The return request has been created. If returning an incoming credit, funds are removed from the account.Sent: The return has been sent to the Fed for processing.Dishonored: The return has been dishonored by the ODFI.Contested: The return status of the return is contested between ODFI and RDFI. This must be solved manually outside the ACH network.Completed: A contested return has been resolved offline and successfully processed.Rejected: A contested return has been resolved offline and not processed.
There are strict rules that dictate when you can initiate a return. For administrative returns, you must initiate the return no later than the opening of business on the 2nd banking day following the inbound ACH transfer. For unauthorized returns, the return must be before the opening of business on the 60th calendar day following original inbound ACH transfers.
Administrative Return example
Assume an inbound transfer has a settlement date of Monday. You must submit your return request via our API by the cutoff business time on Tuesday if return code R22 is used, so that the ODFI will receive the return request on the morning of Wednesday.
The ACH Return API accepts the following return codes only:
- The following return codes can be used before the opening of business on the
2ndbusiness day after the settlement date:R01,R02,R03,R04,R08,R09,R12,R14,R15,R16,R17,R20,R21,R22,R24,R29,R39. - The following return codes can be used before the opening of business on the
60thcalendar day after the settlement date:R05,R07,R10,R11,R33,R37,R38,R51,R52,R53. - The following return codes can be used any number of days after the settlement date:
R06,R23,R31.
For certain return codes, you are responsible to collect a copy of signed Written Statement of Unauthorized Debit (WSUD) from your customers. If you'd like help drafting this or would like a template, feel free to email us. The ODFI has the right to request a copy of this WSUD. We'll email you for this document if we get a request, we then have to respond within 10 banking days. The following return codes require copies of signed WSUD: R05, R07, R10, R11, R37, R51, R53.
Return Reason Codes
The following table provides information for all the return codes accepted by our ACH Return API.
Dishonored returns and contested dishonored returns
The following sections are extremely rare, and in a vast majority of cases we'll automatically handle everything on the backend for you. However, for transparency and educational purposes we'll walk you through them.
Dishonored returns
When you, as the RDFI submit a return, the ODFI can reject your return by submitting a return (against your return) known as a dishonored return entry.
Dishonored return entries must be received within 5 banking days after the settlement date of return entries.