# SFTP Onboarding

Follow these steps to submit your first batch of charges via the Monato SFTP integration.

## Step 1: Get Your SFTP Credentials

SFTP credentials and connection details are provided by the Monato team at contract signing. Your credentials include:

- **Host** — the SFTP server address
- **Username** — your organisation'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 your credentials.

## Step 2: Prepare the Charge Request File

Prepare a CSV file following the [Batch Files Column Specification](/products/directdebit/content/reference/batch-file-spec). Each row represents a single charge.

:::attention File Naming Rules
The file name must not contain special characters or spaces. Allowed characters are letters (upper or lowercase), numbers, hyphens (`-`), and underscores (`_`).

**Example:** `charges_20251120_group_1.csv`
:::

Download the [Charges Request File Layout](https://docs.google.com/spreadsheets/d/1HsgJg3sRcUpftfDUPDF3hpY2NLLuB7lCL3JsK-bpgyQ/) and [Charges Request File Example](https://docs.google.com/spreadsheets/d/1WwhpzbE8c9eQcgXW8N-jO6pJuMPawsMxeKvBSwpVEOs) to get started.

## Step 3: Upload the File

Connect to the Monato SFTP server using your credentials and upload the file to the **`in`** folder.

## Step 4: Pre-validation Response

Within **5 minutes** of upload, the platform publishes a pre-validation response file in the **`out`** folder.

### Pre-validation passed


```
{original_file_name}_pre_validation_ok_{uuid}.csv
```

File content: `FILE_SCHEDULED_FOR_PROCESSING`

The file has been accepted and is queued for processing.

### Pre-validation failed


```
{original_file_name}_pre_validation_nok_{uuid}.csv
```

File content: `NOT_ABLE_TO_PROCESS_FILE`

The file could not be accepted — check the file name, format, and structure against the [column specification](/products/directdebit/content/reference/batch-file-spec) and re-upload.

## Step 5: Input Validation

If pre-validation passes, the platform runs input validation on the file contents within **2 minutes**.

### Validation errors found


```
{original_file_name}_process_nok_{uuid}.csv
```

This file contains all rows from the original request file plus an additional column with the validation error for each failing row. Correct the errors and re-upload the file.

→ [See Validation Response File Example](https://docs.google.com/spreadsheets/d/15Jt0jGLNfmFMeXFu-ddMru1RJkqRDlER77T85QumdYs)

### Validation passed


```
{original_file_name}_process_ok_{uuid}.csv
```

All charges have passed validation and have been submitted to the banking network for processing.

## Step 6: Charge Responses

On the **next business day**, the platform publishes a charges response file in the **`out`** folder:


```
responses_{yyyyMMdd}_{uuid}.csv
```

This file contains a row for every charge that received a response from the banking network on that date, including risk and penny validation errors.

→ [See Charges Response File Example](https://docs.google.com/spreadsheets/d/1dowdDTs0di2283TaaQCZUJNnDWsBssXYq3nfqAA4J0s)

The `result` column will contain one of the following 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 a full list of error codes that may appear in response files, see [Error Codes](/products/directdebit/content/reference/error-codes).