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

# Live rates

> Where Omneo asks the Currencies extension for the current exchange rate, how fixed rates take its place, and what happens when no rate is available.

Some conversions happen at the moment Omneo needs them rather than when a Transaction arrives. For these, Omneo asks the Currencies extension for today's rate between two currencies, unless you have configured a fixed rate. Each converted record keeps the rate it used, so the value stays auditable after rates move.

## Tier points across regions

The `tier-point.create.with.region` [Reaction action](/dev-guides/reactions/actions) issues tier points into the Profile's region. With `convert_currency` set to `true`, the amount is converted from the Transaction's `currency` into the currency of the Profile's region:

| Configuration | Rate used |
| - | - |
| `exchange_rates` passed on the action | Fixed. `exchange_rates` maps each currency to its value in one common currency, and the rate is the Transaction currency's value divided by the Profile currency's value. A currency missing from the table leaves the amount unconverted. |
| No `exchange_rates`, and `transaction_region` differs from `profile_region` | Live. Today's rate from the extension. |
| No `exchange_rates`, and both regions are the same | None. The amount is issued as transacted. |

If the live rate cannot be obtained, the tier points are issued at face value (a rate of `1`). The tier point's `meta` records `transaction_currency`, `profile_currency`, `exchange_rate` and `exchange_rate_date`.

## Region switches

When a Profile moves to a different region and its tier is defined per region, Omneo moves the Profile onto the matching tier in the new region. It then adds one adjustment tier point that converts the Profile's tier points from the last year into the new region's currency.

| Configuration | Rate used |
| - | - |
| Tenant setting `exchange_rates` is set, for example `{"GBP: AUD": 1.89}` | Fixed. Each pair is written once as `"FROM: TO"`. The opposite direction is derived by inverting it. A pair the setting does not price leaves the tier points unconverted. |
| Tenant setting `exchange_rates` is not set | Live. Today's rate from the extension. |

If no rate can be found, no adjustment is made and the tier points stay as they were. The adjustment tier point carries `is_converted: true` in its `meta`, so a later switch only converts tier points earned after it.

## Omneo Clienteling

Profile aggregation blocks in Omneo Clienteling can show spend figures in the store's local currency. The store currency comes from the location's `clienteling.currency_code` custom field, or from its country. Clienteling asks the extension for today's rate from your default currency to the store currency, and falls back to yesterday's rate when today's is not yet published. A block configured with its own fixed rate table uses that table instead.

## Related

* [Currencies overview](/extensions/currencies/overview)
* [Daily market rates](/extensions/currencies/market-rates)
* [Localisation](/concepts/profiles/localisation)
* [Tiers](/concepts/incentives/tiers)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.