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

# External Data Preparation

> Learn how to prepare your external records for reconciliation.

## Overview

External data refers to files and datasets containing transaction activity records from sources outside your Ledger, such as bank statements or payment processor reports.

Since these data are exported in various formats, it’s essential to standardize them before uploading to Blnk Core for reconciliation to ensure accuracy and compatibility

***

## Preparing your data

After exporting your data from the external source, convert it into the specified structure below, ensuring each record includes the following attributes:

| Attributes    | Type   | Description                                                           |
| :------------ | :----- | :-------------------------------------------------------------------- |
| `id`          | String | Unique external transaction id.                                       |
| `amount`      | Number | The transaction amount, e.g. 100.50                                   |
| `currency`    | String | ISO 4217 currency code, e.g. "USD"                                    |
| `source`      | String | Origin of the transaction data, e.g. "Stripe"                         |
| `description` | String | Description/narration of the transaction, e.g. "Monthly subscription" |
| `reference`   | String | Unique transaction reference, e.g., "ref\_128GA6Ag1298ahkj"           |
| `date`        | String | Transaction date and time, e.g., "2025-02-15T13:30:00Z"               |

Once set, export your data in CSV or JSON and upload for reconciliation.

### Key considerations

1. Use consistent formatting across all fields.
2. Ensure that each transaction has a unique `reference`.
3. Convert your `date` to the UTC timezone to avoid timezone discrepancies.

***

## Upload your data

Upload your formatted data to Blnk with the following endpoint:

```bash Request theme={"system"}
curl --location 'https://YOUR_BLNK_INSTANCE_URL/reconciliation/upload' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--form 'file=@transactions.json' \
--form 'source=Stripe'
```

```json Response theme={"system"}
{
  "upload_id": "upload_8c700d1b-09c0-4ef4-9ab1-a0decf3d0aa3",
  "status": "success",
  "record_count": 1000,
  "source": "Stripe"
}
```

| Field          | Description                                                           |
| :------------- | :-------------------------------------------------------------------- |
| `upload_id`    | Unique identifier of the uploaded external record for reconciliation. |
| `status`       | Indicates that the file was uploaded successfully.                    |
| `record_count` | Counts the number of records found in the uploaded file.              |
| `source`       | Indicates the source of the file.                                     |

***

## Need help?

We are very happy to help you make the most of Blnk, regardless of whether it is your first time or you are switching from another tool.

To ask questions or discuss issues, please [contact us](mailto:support@blnkfinance.com) or [join our Discord community](https://discord.gg/7WNv94zPpx).

***

<Tip>
  **Tip:** Connect to Blnk Cloud to see your Core data.

  You can view your transactions, manage identities, create custom reports, invite other team members to collaborate, and perform operations on your Core — all in one dashboard.

  [Check out Blnk Cloud →](https://www.blnkfinance.com/products/cloud)
</Tip>
