Direct Debit · Guides
Bulk collections over SFTP
Upload a CSV of charges to the Monato SFTP server and read the pre-validation, validation and response files.
Submit charges in bulk by uploading a CSV file to the Monato SFTP server. Monato returns pre-validation, validation and result files to the same server.
How it works
Merchant Monato SFTP Monato Platform
| | |
|-- Uploads charge request ->| |
| file to /in | |
| |<-- Picks up file ---------|
| | |
| |-- Publishes pre- --->|
| | validation response |
| | |
| |-- Publishes charges --->|
| | response file |
|<-- Merchant reads files ---| |
| from /out | |- You upload a charge request CSV to the
/infolder. - Monato picks up the file, validates it and publishes a pre-validation response to
/outwithin 5 minutes. - If pre-validation passes, Monato processes the charges and publishes a charges response file to
/outthe next business day.
Capacity
Files can be up to 30 MB. There is no fixed limit on the number of charges: a file is bounded only by that size limit and by finishing processing within the platform’s processing window. If a file approaches the size limit, split it into several files. See Limits.
Processing schedule
Charges follow the standard cutoff times. Files uploaded before 3:00 PM Mexico City time on a business day are processed the same day. Files uploaded after the cutoff, or on non-business days, are processed the next business day.
The cutoff applies to when the platform picks up and validates the file, not when you upload it. Leave enough lead time before 3:00 PM for pre-validation and input validation (typically 5 to 7 minutes).
Step 1: Get your SFTP credentials
The Monato team provides SFTP credentials and connection details at contract signing. They include:
- Host: the SFTP server address.
- Username: your organization’s SFTP username.
- Password or SSH key: depending on the authentication method configured for your account.
Contact the Monato team if you have not received them.
Step 2: Prepare the charge request file
Build a CSV file following the Batch file specification. Each row is one charge. Start from the Charges Request File Layout and the Charges Request File Example.
The file name must not contain special characters or spaces. Use only letters (upper or lowercase), numbers, hyphens (-) and underscores (_). Example: charges_20251120_group_1.csv
Step 3: Upload the file
Connect to the Monato SFTP server with your credentials and upload the file to the in folder.
Step 4: Read the pre-validation response
Within 5 minutes of upload, Monato publishes a pre-validation file in the out folder.
| Result | File name | Content | What to do |
|---|---|---|---|
| Passed | {original_file_name}_pre_validation_ok_{uuid}.csv |
FILE_SCHEDULED_FOR_PROCESSING |
Nothing. The file is queued for processing. |
| Failed | {original_file_name}_pre_validation_nok_{uuid}.csv |
NOT_ABLE_TO_PROCESS_FILE |
Check the file name, format and structure against the column specification, then upload it again. |
Step 5: Read the input validation result
If pre-validation passes, Monato validates the file contents within 2 minutes.
| Result | File name | What it means |
|---|---|---|
| Errors found | {original_file_name}_process_nok_{uuid}.csv |
Contains every row of the original file plus a column with the validation error for each failing row. Fix the errors and upload the file again. See the Validation Response File Example. |
| Passed | {original_file_name}_process_ok_{uuid}.csv |
All charges passed validation and were submitted to the banking network for processing. |
Step 6: Read the charge responses
On the next business day, Monato publishes a charges response file in the out folder:
responses_{yyyyMMdd}_{uuid}.csvIt contains a row for every charge that received a response from the banking network on that date, including risk and penny validation errors. See the Charges Response File Example.
The result column holds one of these values:
| Value | Description |
|---|---|
confirmed |
The charge was successfully collected |
declined |
The charge was not collected — see the error code column for the reason |
canceled |
The charge was canceled before processing |
For the codes that can appear in response files, see Error codes.
Prefer a browser?
You can upload the same files manually in the Portal, without an SFTP client. See Batch upload.