# Add or Import Transactions

The **Add or Import Transactions** section allows you to record transactions in the system manually or in bulk.\
This feature is useful when:

* Importing historical transactions from external systems,
* Adding test transactions for debugging or demo purposes,
* Re-importing corrected data,
* Or matching existing transactions with members after import.

All added or imported transactions will appear in the **List of Transactions** view.

***

### Adding or importing a transaction

From the **Transactions → List of Transactions** view, click the **Add transaction** button.

<figure><img src="/files/c9iYAvfBsgF238zMQBft" alt=""><figcaption></figcaption></figure>

A dropdown menu will appear with the following options:

<table><thead><tr><th width="293">Option</th><th>Description</th></tr></thead><tbody><tr><td><strong>Add transaction manually</strong></td><td>Create a single transaction directly from the Admin Panel.</td></tr><tr><td><strong>Import matches</strong></td><td>Upload a file containing existing transactions and matched members.</td></tr><tr><td><strong>Import transactions</strong></td><td>Bulk import new transactions from an external system.</td></tr><tr><td><strong>Match transaction with a member</strong></td><td>Link already imported transactions with members.</td></tr></tbody></table>

***

### ➕ Add transaction manually

Use this option to create a single transaction directly from the admin interface.

<figure><img src="/files/VVZRoFnn6fWar2xrEjlz" alt=""><figcaption></figcaption></figure>

You’ll be asked to provide:

| Field                   | Description                                                              |
| ----------------------- | ------------------------------------------------------------------------ |
| **Document number**\*   | Unique transaction ID (e.g., invoice number).                            |
| **Document type**\*     | Type of transaction (*Purchase*, *Return*).                              |
| **Document date**\*     | Date and time of the transaction.                                        |
| **Channel**\*           | Select from the available transaction channels.                          |
| **Transaction value**\* | Monetary value of the transaction.                                       |
| **Customer data**       | Member identifiers (email, phone, loyalty card number).                  |
| **Products**            | Optional: add items purchased, including name, SKU, quantity, and value. |
| **Custom attributes**   | Optional: any additional fields specific to your integration.            |

After entering all required information, click **Add transaction**.

{% hint style="info" %}
💡 **Note:** If the transaction matches a member, points and achievements will be assigned automatically according to the active campaigns.
{% endhint %}

***

### 📥 Import transactions

This option lets you upload a file with multiple transactions.

#### Supported formats

* **XML, JSON**
* Maximum file size: **100 MB**

To find out more about the import file and how to create an import file, please refer to the article below:

{% content-ref url="/pages/-MZBtStiJdMqbAd-5BMa" %}
[Sample Import Files](/main-features/imports-exports/imports/sample-import-files.md)
{% endcontent-ref %}

#### Import process

1. Click **Import transactions**
2. Select the file
3. Confirm import

<figure><img src="/files/Vli8rH6bzYvUujZmSyi8" alt=""><figcaption></figcaption></figure>

Once uploaded, the system validates the file and adds transactions to the database.\
If validation fails, you’ll see detailed error messages describing incorrect or missing fields.

***

#### Best practices

* Always include a **channel identifier** in imports to avoid data ambiguity.
* Keep **document numbers unique** per source system.
* Verify that your member data (emails, phone numbers, card numbers) exist in the system before import.
* Use **test imports** on smaller files to confirm the format.

***

#### Next steps

➡️ Continue to [Matching Transactions with Members](/main-features/transactions/matching-transactions.md) to learn how to automatically link transactions with members using identifiers.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.openloyalty.io/main-features/transactions/add-or-import-transactions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
