> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gu1.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Import transactions (multipart)

> Upload transaction files with optional saved mapping or native parser — via the gu1 batch import API for high-volume data loading, with examples for import.

## Endpoint

```
POST https://api.gu1.ai/batch-import/import/transactions
```

Same behavior as:

```
POST https://api.gu1.ai/transactions/batch/upload
```

## Overview

**Content-Type:** `multipart/form-data`.

If **`mappingId`** and **`columnMapping`** are omitted, the server uses the **native** CSV/Excel/JSON parser. **`batchUploadEnabled`** must be true for the organization.

**Query (alternate route only):** `validateGap=true` on `/transactions/batch/upload` enables time-gap validation between multiple files.

See [Create batch transactions](/en/api-reference/transactions/create-batch) for limits and templates.

## Authentication

```bash theme={null}
Authorization: Bearer YOUR_API_KEY
```

## Form fields

| Field                    | Required | Description                                                                                                                                                                                                     |
| ------------------------ | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `file`                   | Yes      | One or more files (repeat field name `file`)                                                                                                                                                                    |
| `mappingId`              | No       | Saved transaction mapping UUID                                                                                                                                                                                  |
| `columnMapping`          | No       | JSON string of column mapping (CSV only; alternative to `mappingId`)                                                                                                                                            |
| `executeRules`           | No       | `true` / `false`                                                                                                                                                                                                |
| `skipDuplicates`         | No       | `true` / `false`                                                                                                                                                                                                |
| `validateExistingEntity` | No       | `true` (default) / `false`                                                                                                                                                                                      |
| `batchErrorHandling`     | No       | `rollback_all` (default when omitted), `continue_collect_errors`, or `stop_keep_success`. With strict entity validation, controls whether invalid refs abort the batch or are skipped per row (`failures.csv`). |

## Limits

|                               | Value                                                                                                                                                                                                       |
| ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Files per request**         | **Up to 5** (repeat form field `file`)                                                                                                                                                                      |
| **Max transactions per file** | By plan — see [Create batch transactions — Limits by plan](/en/api-reference/transactions/create-batch#limits-by-plan) (Freemium **4,000** → Enterprise **100,000**); hard parser cap **100,000** rows/file |
| **Formats**                   | CSV, Excel (`.xlsx`, `.xls`), JSON                                                                                                                                                                          |
| **Feature flag**              | `batchUploadEnabled` must be true for the organization                                                                                                                                                      |

Same limits apply to `POST /transactions/batch/upload` (alias behavior).

See also: [Bulk imports overview](/en/api-reference/bulk-imports/overview).
