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

# Working with Multi-Currency in Accounting Integrations

> How to handle foreign currency transactions and exchange rates when using the Unified API.

## Understanding multi-currency in accounting

In accounting systems, all transactions are ultimately stored and reported in the **base currency** of the company (most commonly EUR).\
Even when multi-currency is supported, accounting software always maintains both:

* the **original transaction currency**, and
* the **converted base currency equivalent**.

If multi-currency is **not supported**, then only the base currency is recorded — all conversions must be done **before** sending data to the accounting system.

***

## How Chift handles multi-currency

With the Unified API, you don’t need to worry about whether the underlying connector supports multi-currency — **Chift automatically handles both scenarios**.

The key is to always check whether your transaction currency differs from the folder’s base currency.

***

### 1. Check the base currency of the folder

Each accounting folder has a `main_currency` field available in the [Get Folder endpoint](https://docs.chift.eu/api-reference/endpoints/accounting/get-folders#response-main-currency).

If your transaction is in another currency (e.g. `USD` while the folder base currency is `EUR`), it is considered a **foreign currency transaction**.

***

### 2. Provide currency and exchange rate fields

When posting an invoice, journal entry, or financial entry in a foreign currency:

* **Set the `currency` field** in your payload (the currency of the transaction).
* **Set the `currency_exchange_rate` field** to specify the exchange rate between the base and foreign currency.

If the connected accounting software supports multi-currency:

* The transaction is booked in the **foreign currency**, and
* The accounting software handles conversion and FX gain/loss tracking automatically.

If the accounting software does **not** support multi-currency:

* Chift converts the transaction amount to the **base currency** using the provided `currency_exchange_rate`.
* The transaction is then stored in base currency only.

***

### 3. Forcing an exchange rate (advanced)

By default, when a connector supports multi-currency, Chift will use the accounting software’s **default exchange rate** for the selected date and currency pair.

However, you can **override this behavior** by using the [`force_currency_exchange`](https://docs.chift.eu/api-reference/endpoints/accounting/create-journal-entry#parameter-force-currency-exchange) query parameter (available on journal entry creation).

> 💡 **Recommendation:**\
> Use this parameter whenever your system is the source of truth for exchange rates (i.e., you define the rate at emission time).

***

### ✅ Best practices

* Always compare your transaction currency with the folder’s `main_currency`.
* Always include both `currency` and `currency_exchange_rate` — even when not strictly required.\
  → This ensures **consistent behavior** across all connectors.
* Use `force_currency_exchange=true` when you need full control over the applied rate.
* Keep your exchange rates rounded to **6 decimal places** for accuracy and stability.

***
