With Belvo’s Payment Import feature, you can easily make direct debit payments in bulk. All you need to do is upload a CSV with all the required data about your clients, and Belvo will automatically create the customer in our system, register the payment method, and then process the payment request.
You can also use this feature to just bulk create customers and payment methods without making any payment requests. To do this, simply omit the Referencia Única cliente and Importe a cobrar fields in your CSV. Belvo will create the customers and payment methods, and you can make payment requests at a later date.
Before making any payment requests, you must:
- Obtain explicit consent from your users, authorizing you to debit funds from their accounts.
- Maintain documented evidence of this consent.
With Belvo, you can do this by either:
- Uploading the consents in bulk using our Bulk Upload Consents feature.
- Using our Consent API to create consents programmatically. To make things easier at the beginning, try using our Mexico Direct Debit Postman Collection to upload the consents.
To bulk upload direct debit payments:
In your Direct Debit dashboard, go to Payments → Payment Imports (Sandbox | Production).
Click on Import.

In the Select import screen, click Download Template.

Fill in the downloaded CSV with the required fields (for more information, see the Bulk import file templates section).
Upload your CSV by clicking the Upload button in the Select import screen.
Our system will perform a check on the first 100 rows to validate whether the uploaded CSV has all the required fields in the right formats. If the system detects any issues, you will receive a list of errors in the Select import screen.

Check that the output in the Select import screen is correct and click Upload import.
Complete File ValidationOnce you upload your file, we set the status to validating (where our system will start validating the rest of your file to confirm that all the information is in the correct format. If there are any errors in the rest of the file, the import will fail). Once everything is confirmed, the status will be set to ready_to_send and you can proceed to the next step.
When the file status is ready_to_send, you can finalize the process by clicking Send in the Actions column.

Belvo will now process your file in the background, creating customers, registering the payment methods, and then processing the payments. Once the status is processed, your payments will be made according to the registration and payment times for the country.

There is a specific template that you must fill in to be able to use this feature (you can find the most up-to-date version of the template in the Batch Import screen). In the table below, we describe each of the fields that you need to fill in.
If you're debiting funds from a business, just add their name in both the Primer nombre and Apellidos columns.
You can also use this feature to just bulk create customers and payment methods without making any payment requests. To do this, simply omit the Referencia Única cliente and Importe a cobrar fields in your CSV. Belvo will create the customers and payment methods, and you can make payment requests at a later date.
| Field | Example | Required | Description | Validation |
|---|---|---|---|---|
| Primer nombre | Incredible | Yes | Your customer’s first name. | No longer than 50 characters. |
| Apellidos | Phantom | Yes | Your customer’s last name. | No longer than 50 characters. |
| Tipo de ID | mx_curp | Yes | The type of ID of your customer. For Mexico, this can be either mx_curp or mx_rfc. | Can only be mx_curp or mx_rfc. |
| No. ID | PHI740220IÑ0 | Yes | The ID number associated with the ID type. | The number must correspond with the ID type. |
| Teléfono | +526351994215 | No | Your customer’s telephone number. For Mexico, this must be prefixed with +52. | The number must start with Mexico’s international dialing code (+52). |
| g.champion@supermail.com | Yes | Your customer’s email address. | Must be a valid email. | |
| Cuenta CLABE o Tarjeta | 014893080663470004 | Yes | The bank account or debit card number. | Must be between 15–19 characters long and be from one of our supported institutions. |
| Referencia reflejada en extracto bancario | Monthly car payment | No | A description to show on your client's bank statement. | No longer than 80 characters. |
| Referencia Única cliente | Debito 89000982349 | Can be omitted to just create customers and payment methods. To make payment requests, you must include it. | Your internal reference for the payment request. | No longer than 80 characters. |
| Importe a cobrar | 6000 | Can be omitted to just create customers and payment methods. To make payment requests, you must include it. | The amount to request. For Mexico, this will be in Mexican Pesos (MXP). | The value to charge the customer, up to two decimal places (for example, 3425.29). |
| Banco* | mx_banxico | Only for debit cards* | The bank that the debit card is registered at. | Please select from the dropdown in the spreadsheet. |
| Identificador de contrato | 8789-02342-XRT | No | Your reference for the loan associated with the payment request. | No longer than 50 characters. |
| Monto total del préstamo | 946.65 | No | The total amount of the loan. | – |
| Fecha de contrato | 2024-05-28 | No | The date of the loan contract, in YYYY-MM-DD format. | – |
| Cantidad de pagos | 12 | No | The total number of installments for the loan. | – |
| Fecha de pago | 2025-03-28 | No | The due date for the installment being paid, in YYYY-MM-DD format. | – |
| Número de este pago | 10 | No | The installment number being paid. | – |
| Importe de este pago | 502.57 | No | The amount for the installment being paid. | – |
* If the bank (Banco) is present, the charge will always be processed as a debit card. If not present, it will always be processed as a CLABE charge.
An uploaded file goes through the following statuses:
| Status | Description |
|---|---|
validating | The initial state of any uploaded file. Here we check the rest of your file for any errors. |
failed | The file has errors and cannot be imported. Please check the errors and re-upload the file. |
ready_to_send | We checked your file and it doesn’t have any errors. You can now send it for processing. |
processing | We create any customers that do not exist in our system yet, register payment methods with banks, and then submit the payment requests. |
processed | The customers, payment methods, and payment requests have been created. The payments will be processed according to the registration and payment times for the country. |
You can provide up to 50000 (fifty thousand) rows in one file.
Our system initially analyzes the first 100 rows of your file. This will also allow you to double-check the rest of your file to see if there are any other similar errors.
No, you can use the batch import feature to just upload a list of customers and their payment methods. At a later date, you can upload the same CSV with the internal reference and payment amount information.
Customers and payment methods are only created when they are new. If it is an existing customer and payment method, we will automatically proceed to processing the payment.
No, the batch import feature does not support updating existing personal information for your customers.
There could be two reasons behind this:
- If you previously uploaded a file with some of the same customers and we are still creating the payment methods or processing payment requests for them, our system will not allow you to add new payments for that customer until we have processed the previous request.
- If you upload two files at the same time, the previous file must be processed before the next file can be.
Skipped rows indicate that we could not process the customer and payment method because there is another active payment request at the time of the upload. You can view payment requests that were skipped by clicking the Show skipped button in the Actions column.