In some situations the amount of an outgoing transfer can exceed the balance of the underlying bank account. In these cases, we'll stop an ACH, wire, or book transfer from going through by default, and send an insufficient funds error to the request.
However, you can enable an account to allow overdrafts if you don't want the transfer to fail. After the feature is enabled, the account balance can go negative until the account is replenished. 'Note: you will be responsible for funding the overdraft amount with your overdraft reserve account.'
There are three steps to enable the overdraft feature:
- Create an overdraft reserve account: When a root entity is created, an overdraft reserve account will be created under it by default. You can add funds into this reserve account to cover all of the overdrafted amounts in your customers' accounts.
- Link a customer's account to the overdraft reserve account: The account on which the overdraft transaction happens should have
is_overdraftablevalue set to
trueand link to the overdraft reserve account by setting
overdraft_reserve_account_id. You can do so with create a new bank account or update a bank account.
truein the transfer request: the value is set to
falseby default to prevent overdrafts by accident. This is supported in all types of transfers (see create an ACH transfer, create a book transfer, create a wire transfer)
Here are two scenarios that may occur when an account is overdrafted.
Scenario 1: Happy path
Let's say Account A has an initial available balance of $40. The Overdraft reserve account of the platform has an initial available balance of $1000. Account A has
is_overdraftable set to
true and has linked
overdraft_reserve_account_id to the overdraft reserve account.
- An outgoing wire transfer is initiated with an amount of $100. The wire transfer will go through if
allow_overdraftis set to
truein the transfer request.
- Account A will have an available balance of -$60.
- Overdraft reserve account will have an available balance of $940 and locked balance of $60. (The locked balance is posted on the account but cannot be withdrawn).
- An incoming wire transfer arrives at account A with an amount of $70.
- Account A will have an available balance of $10.
- Overdraft reserve account is adjusted accordingly. Now it has an available balance of $1000.
Scenario 2: Not sufficient funds in overdraft reserve account
Take the same set up as scenario 1, except the overdraft reserve account only has an available balance of $10. The transfer will fail because there is not sufficient funds in the overdraft reserve account to cover the deficit ($40 balance - $100 outgoing wire + $10 reserve account = -$50 balance to process wire = insufficient funds).
Example real-world use case
Debit cards** - Most card program managers who use Column as BIN sponsor also use Column for underlying bank accounts for their debit cards. When the issuer processor sends you an auth request, you will send a book transfer between the customer's bank account and the network settlement account at Column. This will automatically create the proper ledgering between the accounts. If there are insufficient funds in the customer's account, you would decline the auth and the book transfer would usually fail. However, there are certain times where you may want the transaction to go through despite the insufficient balance (ie:* there's a force post from the network). In that situation, the account would be enabled with
is_overdraftable: true, and the book transfer request would process successfully with