5a - Reducing ACH returns

Phase 2 - Funding


ACH payments allow merchants and consumers to send funds between one another.

ACH payments and the ACH network are regulated by the National Automated Clearing House Association (NACHA). NACHA sets the rules for ACH payment fails, or ACH returns.

An Automated Clearing House (ACH) return is the equivalent of a bounced check; this occurs when the payment is returned by the bank for one of many reasons, the most common of which include:

  • Insufficient funds (R01)
  • A stop payment (R10)
  • Incorrect account information (R04)

For every failure DriveWealth receives specific ACH return codes for additional information on reason and resolution to possible variants. Notification of a return is provided by the event type deposits.updated and additional commentary within the deposit details endpoint formatted as the following:

"status": {
        "id": 5,
        "message": "Returned",
        "comment": "R10-Customer Advises Unauthorized, Improper, Ineligible, or Part of an Incomplete Transaction",
        "updated": "2021-07-14T09:14:47.396Z"

As a general average, it should be expected that 1% of ACH deposits made on platform are going to be returned.

Standard ACH workflow

As an example, let's consider the case of a customer that wants to make a deposit into their brokerage account using their bank account via an ACH transfer. This requires DriveWealth (the originator) to authorize our merchant banks (the originating depository financial institution "ODFI") to initiate an ACH debit from the customer's bank account. The details for this debit from the customer bank is sent through an ACH operator (typically the FED) as part of a batch transfer (NACHA file) at the end of the day.

While this is occurring, the ODFI creates a debit in the end customers account, and credits DriveWealth's account roughly within 24 hours - thus creating a hold for the account. Overnight, the ACH transaction is then sent from the FED to the customer bank (or RDFI), and upon receipt of the ACH file the customers bank will note a debit on the customers account for the requested deposit amount.

At this point in time no actual money has changed hands. Settlement for a debit transaction typically occurs within 1-2 business days once all banks have resolved the transactions.

Throughout this process DriveWealth produces status updates for the deposits through the Money Flow Events, specifically deposit.updated events.

When a deposit request is created the status sits in PENDING, and during the overnight file transfer process outlined above mutates to APPROVED. Once the transaction has been created as a hold in DriveWealth's merchant bank account the status is then moved to SUCCESSFUL and a sequential transaction is then created in the customers brokerage account.

In the event of an ACH return, the original depositID would be updated from its SUCCESSFUL status to a RETURNED status along with indication of reason for return. Additional information on this API can be found using Deposit Workflows

Reducing ACH returns

With current banking infrastructure it's impossible to stop 100% of the ACH returns.

Based on Customer feedback and real-world operational use-cases DriveWealth highly recommends the following measures to greatly reduce the total number of ACH returns.

ACH failure reasons

1. Incorrect Banking Details - Very common failure, occurs when incorrect routing or account number are provided

  • Solution - Utilize a 3rd party vendor such as Plaid, Yodlee, etc; they authenticate banking details (routing and accounts) prior to use on a platform

2. Insufficient Funds R01 - extremely common; since real-time customer bank account balance is not possible to get, 3rd party data providers can also be used to help to

  • Solution - Utilize a 3rd party vendor such as Plaid, Yodlee, etc, they can provide a time stamped snapshot when customers request deposits for more money than the snapshot reported. 🚫 In the event a customer places a deposit greater than the total balance the Partner should always deny the deposit be sent

3 - Pull Money Close to Payday - Generally for Robo based Partners where money does not need to be made instantly available

  • Solution - Line up deposit requests to pull money the day a paycheck hits the customers bank account. Friday is the most common payroll day in the US; it's recommended to send an ACH request on Wednesday of that same week so money is pulled on Friday when the paycheck hits.

❕ Example: Customer spends money over the weekend, when banks open the following week the ACH debit request gets sent to the back of the processing line and fails due to a R01

4. Customer Not Authorized R10 one of the most nefarious ACH return types

  • Solution - 🚫 Immediately remove the linked bank account
    These customers are generally repeat offenders, if they succeed once, they will try again. DriveWealth recommends bank accounts be unlinked, and contact be made with the customer to figure out intent to stop additional returns.

Finally DriveWealth highly recommends not allowing the linking of accounts from banks with higher than normal returns. Once an appropriate amount of data has been analyzed, the recommendation here is to not allow customers to link accounts from these banks. As customers begin to make more deposits, there is always a common trend that appears from banks with higher than usual return numbers.