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

# Multi-currency reporting

> Display ad data in workspace or teamspace currency, override exchange rates, and understand conversion priority.

<Note>
  **Access**. Teamspace-level currency settings can be turned on upon request — by default, all teamspaces in a workspace use the workspace's default currency. To enable teamspace-level currency, contact the Adriel team.
</Note>

A workspace can ingest ad spend in multiple currencies and display every widget in one chosen reporting currency. Conversion happens at the moment a widget renders, using either daily exchange rates from Fixer.io or user-defined custom rates.

## Where currency is set

Currency lives at two levels:

* **Workspace currency** — the default reporting currency for the entire workspace.
* **Teamspace currency** — an optional override for a single teamspace. Teams that report in different currencies (agency client teamspaces, regional teams) typically set this per teamspace.

There is no widget-level currency setting. Every widget inherits from its teamspace, which falls back to its workspace.

## Resolution priority

When a widget renders, the reporting currency is chosen in this order:

1. **Teamspace currency** — used if set on the widget's teamspace.
2. **Workspace currency** — used otherwise.

If neither resolves, or if the data source's underlying currency is a mix of multiple currencies (such as an ad account with transactions in several currencies), values are shown without conversion.

## Setting up

1. Open **Settings → Exchange Rate Setting** for the workspace, or open the teamspace drawer and choose **Exchange Rate Setting**.
2. Pick a base currency.
3. Add additional currency pairs as needed.
4. Click **Save**. Changes apply on the next widget render.

## Exchange rate sources

Two sources feed the conversion engine:

* **Fixer.io** — daily exchange rates, refreshed automatically every 4 hours.
* **Custom exchange rates** — user-defined rates per currency pair per month, scoped to either the workspace or a specific teamspace.

Custom rates are useful for finance reconciliation, where the company books transactions at a fixed monthly rate that differs from market spot rates.

## Custom exchange rates

Custom rates can be defined month by month, and prefilled from Fixer.io's historical data up to 60 months back. Two scopes are supported:

* **Workspace scope** — applies across the entire workspace.
* **Teamspace scope** — applies only inside one teamspace.

### Teamspace overrides are all-or-nothing per currency pair

When a teamspace defines custom rates for a currency pair — even for a single month — the workspace-level rates for that pair are ignored entirely inside that teamspace. There is no per-month merge between teamspace and workspace rates for the same pair.

## Conversion edge cases

* A data source whose underlying values mix multiple source currencies cannot be auto-converted. Values from that source render unchanged.
* A custom rate of `0` results in zero in both directions of the pair — useful only to deliberately suppress conversion.

## Troubleshooting

<AccordionGroup>
  <Accordion title="A widget is showing values in the wrong currency">
    Resolution order is teamspace first, then workspace. Confirm the teamspace currency setting; if it's set but should not be, clear it to fall back to workspace. If the data source contains mixed source currencies, values pass through without conversion regardless.
  </Accordion>

  <Accordion title="A custom rate that was set is being ignored">
    Two common causes: (1) the rate was set at workspace scope but a teamspace-scope rate exists for the same currency pair — teamspace overrides workspace entirely for that pair; (2) the rate is set for a month outside the widget's date range — confirm the month coverage.
  </Accordion>

  <Accordion title="Numbers don't match a custom rate that was set">
    Custom rates are matched by the rate's month against the row's date. If a row falls outside any defined month, the dashboard falls back to the Fixer.io rate for that day. Add a custom rate for the missing month, or prefill from Fixer.io to lock in historical values.
  </Accordion>

  <Accordion title="A currency conversion looks wrong on a teamspace">
    A teamspace custom exchange rate is a manual setting. If it's set incorrectly (for example, 1 JPY = 0.1 KRW when it should be 1 JPY = 10 KRW), the converted values are off by that factor. Update the teamspace exchange rate setting and the conversion displays correctly.
  </Accordion>
</AccordionGroup>

Questions on enabling multi-currency or migrating an existing workspace: contact `support.global@adriel.com`.
