Two Legged Transactions

What is a two legged transaction?

Just like the name implies, a two legged transaction is a money movement operation that requires two steps to move funds where they need to go. The first step is an ACH debit, where funds are pulled into a Column account from an external bank account. The second step is an ACH credit, where funds are pushed to an external bank account. Two legged transactions are the foundation for most pass through payment origination use cases, where funds are being moved on the behalf of others.

Flow of funds

Flow of funds

Step 1

As a fintech providing bill pay functionality to your customers, you will need to collect the account and routing numbers from both the entity paying the bill and the entity receiving the bill.

Step 2

Send an ACH debit to the RDFI who is paying the bill.

  • When you originate an ACH debit you are pulling funds into your Column account. When you initiate the outgoing ACH debit, your PENDING account balance will immediately increase by the amount of the debit. However, these funds will typically not be available until two days after the ACH debit is settled by the Federal Reserve. Column generally releases funds after two days because, in most situations, the RDFI for the ACH debit has 2 days to request the funds back from Column (and up to 60 for unauthorized transactions).

Step 3

Once the ACH debit settles, and funds become available, you can send an ACH credit to complete the transaction.

  • Column alerts you immediately when the funds from an ACH debit become available in your account. We will send an ach.outgoing_transfer.settled webhook to you. Once you receive this webhook, you can trigger an ACH credit to the entity receiving payment.

Validating routing numbers

To avoid a situation where you complete the first leg of the transaction through an ACH Debit, but are unable to complete the second leg because the routing number is invalid, we recommend you validate the routing number for the second leg. Column will not let you originate an ACH to an invalid routing number. We make this easy for you to do through our Get a financial institution API.