Bank Transfers
This is how bank transfers work in Mono
A bank transfer in Mono is like sending a package from one place to another, but with money. Is a financial transaction in which funds are moved from one bank account to another.
Bank transfers are commonly used to pay invoices, transfer money between accounts, make payroll payments or send money to others. They can be made between accounts at the same bank or at different banks.
With Mono, you can create bank transfers through API, upload an Excel file through the Mono Dashboard, or by manually filling a form.
Currently, we only support bank transfer within the Colombian banking network.
Routing
Mono supports three types of bank transfers, each with different behaviors, pros and cons. To provide a high-level understanding, the following diagram illustrates how money moves depending on the bank transfer routing:
Turbo-transferencias®
A Turbo-transferencia® is a real-time bank transfer from your Mono account to any individual’s account opened in the following banks:
- Bancolombia
- Nequi
- Davivienda
- Daviplata
- Banco AV Villas
- Banco de Bogotá
- Bancolombia ahorro a la mano
- Movii
- Dale!
You can initiate a turbo
bank transfer using the Create bank transfer endpoint by adding turbo
in the routing
field.
Once you initiate a turbo, you should expect a webhook response, notifying you if the bank transfer was successfully credited to the payee's account.
This routing of bank transfer operates on the new ACH Colombia rails, and its acceptance is expected to increase over time. There may be cases where a turbo
bank transfer fails to send successfully because the payee's account does not yet support this type of transaction. (See below for fallback attempts)
Transfiya
[Transfiya] (https://www.transfiya.com.co/home) is a bank transfer service developed in Colombia that allows users to send and receive money in real-time between different financial institutions using only the recipient's phone number. This service is part of the ACH Network.
How to make a Transfiya transfer in Mono:
You can initiate a Transfiya transfer using the create bank transfer endpoint, and adding transfiya
in the routing
field. When making a transfiya transfer, you don’t need to include the payee bank account schema since the transfer will be made using the payee's phone number.
Once you initiate a Transfiya transfer the payee will receive a text message notifying the transfer, and he will have 12 hours to accept the bank account he prefers.
Difference between Turbo and Transfiya Transfers:
Both Turbo and Transfiya Transfer are real time transfers, however there is a difference between them.
Turbo transfers are made in real time to a bank account, and the payee doesn’t have to accept the transfers; they just receive the money instantly. On the other hand, Transfiya transfers are made in real time using the payee's phone number. The payee will receive a message and must accept the transfer in the bank of their choice.
ACH
ACH Colombia and ACH CENIT are clearing houses that manage the interoperability of Colombian banks, enabling communication and settlement between them. When you create a bank transfer by selecting ACH
in the routing
field, the money will be deducted from your account and sent to the payee through ACH Colombia or ACH CENIT cycles, which are not instantaneous. Whether the bank transfer goes through ACH Colombia or ACH CENIT depends on the destination account's bank. Most transactions will go through ACH Colombia, except for some banks listed below that use ACH CENIT.
ACH Colombia transaction speed
ACH transactions in Colombia are not conducted in real-time. They can take a few hours or up to 1 business day to be credited to the destination account, and even longer to receive confirmation.
With our friends at Shinkansen, we have created the following table to help you understand the ACH cycles, when the money is expected to be received in the destination account, and when we will send you a transaction confirmation or rejection:
Transaction time | Money accredited | Implicit response |
---|---|---|
From 00:00 and before 08:28 | 10:20 to 11:00 | Next business day between 15:10 to 15:45 |
From 08:28 and before 10:58 | 12:45 to 13:00 | Next business day between 15:10 to 15:45 |
From 10:58 and before 12:43 | 15:15 to 16:00 | Next business day between 15:10 to 15:45 |
From 12:43 and before 15:38 | 17:10 to 18:00 | Next business day between 15:10 to 15:45 |
From 15:38 to the next day | Next business day between 10:20 to 11:00 | Subsequent business day between 15:10 to 15:45 |
ACH CENIT transaction speed
Transaction time | Money accredited | Implicit response |
---|---|---|
From 00:00 and before 09:58 | 10:30 to 11:00 | Next business day between 15:10 to 15:45 |
From 09:58 and before 12:28 | 13:00 to 13:30 | Next business day between 15:10 to 15:45 |
From 12:28 and before 14:28 | 15:00 to 15:45 | Next business day between 15:10 to 15:45 |
From 14:28 and before 15:43 | 17:00 to 18:00 | Next business day between 15:10 to 15:45 |
From 15:43 to the next day | Next business day between 10:30 to 11:00 | Subsequent business day between 15:10 to 15:45 |
These are the banks that operate through ACH CENIT:
- BANCO FALABELLA
- BANCO FINANDINA
- BANCO GNB SUDAMERIS
- BANCO MUNDO MUJER
- BANCO PROCREDIT
- BANCO SANTANDER DE NEGOCIOS
- BBVA
- CFA FINANCIERA ANTIOQUIA
- COOFINEP
- BANCOOMEVA
- COTRAFA ENTIDAD FINANCIERA
- FINANCIERA JURISCOOP
- J.P. MORGAN COLOMBIA
- MIBANCO
Fallback attempts
Considering that Transfiya bank transfers are not fully adopted by all accounts in Colombia, you might encounter cases where the transaction is rejected. To address this issue, we have implemented fallback attempts that automatically retry the transaction using alternative routes.
To use these fallbacks attempts in the API requests, you can use the field fallback_routing
and set with the corresponding value.
Turbo to Transfiya
If a Turbo transfer is rejected and the fallback routing is Transfiya, we will automatically send the transfer this way. This means that the payee will receive a message notifying that he can receive the transfer and what they need to do in order to receive the money instantly. The transfiya fallback transfer will be made using the payees phone number, so make sure to include it in the petition.
Turbo to ACH
If a Turbo bank transfer is rejected, and the fallback routing is ACH, we will automatically attempt to make an ACH bank transfer. This means that if a Turbo bank transfer fails, we will redirect the transaction using ACH rails
Transfiya to ACH
If a Transifya Turbo is rejected, and the fallback routing is ACH, we will automatically send the transfer this way. This means that if the transfiya transfer fails, we will redirect the transaction using ACH rails.
No fallback
Also, you can set up transfers to do nothing in case they fail.
Bank transfer states
Bank transfers
can have the following states:
-
created
: Indicates that the transfer has been created in our system, but it has not yet been sent to the bank for processing. -
in_progress
: Indicates that the transfer is currently being processed by the bank. This includes steps such as verifying the account information, transferring the funds between accounts, and updating the account balances. This state occurs when the bank is working on executing the transfer, but it has not yet been completed. -
approved
: Indicates that the transfer has been approved by the bank and has been successfully executed. This means that the funds have been transferred from the source account to the destination account, and the account balances have been updated accordingly. -
declined
: Indicates that the transfer has been rejected by the bank and will not be executed. This may occur due to a variety of reasons, such as insufficient funds in the source account, invalid account information, or regulatory restrictions. These reasons are stored on the fielddeclination_reason
. To simulate declined transfers, please go to the sandbox section -
cancelled
: Indicates that the transfer has been canceled by a user. This occurs if the client decides to cancel the transfer before it has been sent to the bank. -
duplicated
: Indicates that the transfer has already been received in our system, and the repeated record will not be considered. This could be because the transfer was sent multiple times with the same "entity_id" field.
Bank transfers batch
A batch is a group of bank transfers that are processed together at the same time.
Bank transfers batches are useful in a number of situations, such as when making payroll payments to multiple employees, when transferring funds between multiple accounts, or when making regular payments to the same recipient. Bank transfers batches can save time and effort by allowing multiple transfers to be made at once, rather than having to initiate each transfer separately.
In Mono, every sending of transfers will create a batch, also in cases when you create transfers individually.
Bank transfers Batch
can have the following states:
-
created
: Indicates that theBank transfers Batch
has been received and not being authorized or processed yet.Every bank transfer will be in state
created
. -
pending_otp
: Indicates that theBank transfers Batch
needs to be authorized by an Administrator user. -
verified_otp
: Indicates that theBank transfers Batch
was authorized and it's in preparation to be processed. -
canceled
: Indicates that theBank transfers Batch
was canceled by an Administrator user during preparation. Cancel a batch cancels its transfers.Considerations:
- Every bank transfer will be in state
canceled
. - It will send a webhook event called
batch_canceled
.
- Every bank transfer will be in state
-
processing_transactions
: Indicates that theBank transfers Batch
is in the process to apply for its transfers.
Considerations:- Every bank transfer will be in state
in_progress
. - It will send a webhook event called
batch_sent
.
- Every bank transfer will be in state
-
partially_approved
: Indicates that some of the batch transfers were approved by the destination banks.Some of the transfers will mark as
approved
ordeclined
. -
declined
: Indicates that all batch transfers were declined.Transfers will also mark as
declined
-
approved
: Indicates that all batch transfers were approved by the destination banks.Transfers will also mark as
approved
. -
duplicated
: Indicates that all batch transfers were marked as duplicated because they were received before in our system.Considerations:
- Every bank transfer will be in state
duplicated
. - It will send a webhook event called
batch_duplicated
. - If there are transfers that are duplicated and others that are not, it will try to process the non-do duplicate transfers.
- Every bank transfer will be in state
Updated 5 months ago