# Currency settings

# Currency settings

Cloud providers invoice in the currency of the account, so one workspace can hold costs in several
currencies at once. Every cost record keeps the currency it was billed in. What a workspace decides
is how those costs are presented: in their own currencies, or converted into one.

Open **Settings**, then **Workspaces**, and select the workspace. The **Currency settings** card
holds two settings, and a third appears once conversion is enabled.

## Display preference

The currency costs fall back to where no billing currency applies: an empty date range, a new
budget, an alert threshold. It never relabels a cost that was billed in another currency, because
the billing currency is what the provider invoiced.

The display preference can be changed only while currency conversion is disabled. Once conversion
is on, the conversion currency decides, and the preference is shown greyed out.

## Currency conversion

Set **Currency conversion** to **Enabled** and choose the currency to convert into. Every cost
figure in the workspace is then converted into it, and each figure names the currency it came from,
the amount before conversion, the rate and the method.

With conversion **Disabled**:

- A date range whose costs are all in one currency reads in that currency.
- A date range that mixes currencies shows one total per currency and no combined total, because
  adding an amount in dollars to an amount in euros produces a number that means nothing. Cost
  reports and the dashboard say so where a single total would otherwise be.
- A budget counts only the costs already in its own currency and lists the rest as not counted.

## Exchange rate dates

Once conversion is enabled, choose which published rates it uses. For the most accurate results,
use the method your provider bills you by.

| Option | What it uses |
|---|---|
| Monthly average | The mean of the daily rates published across the charge's month. The current month moves a little with each publication until the month closes. |
| Daily rate | The rate published for the charge's own day. A day the source does not publish, such as a weekend, uses the last published rate before it. |

## Where the rates come from

Costfluent converts with the European Central Bank's euro reference rates, published on business
days at about 16:00 CET. Rates are stored exactly as the ECB publishes them, as units of a currency
per euro, and every other pair is derived through the euro. Costfluent does not accept
customer-supplied exchange rates: a figure is only defensible if its source is one you can check
yourself.

When no rate exists for a currency in the range you are looking at — a currency the ECB does not
quote, or a range older than the rates loaded — the amount is listed as not converted rather than
added to the total at a guess.

## Reading a converted figure

A converted report carries a note under its total, for example:

> $120.00 converted to €96.00. Converted to EUR at the mean of the ECB daily rates across the
> month. 1 EUR = 1.25 USD.

**Settings**, then **Exchange rates**, shows what is in force for the workspace, and previews the
rate between any two currencies with the date it was published on.

## Exchange rate policy

On the Scale plan, an exchange rate policy can be recorded for a workspace. A policy names the
method, the rate source and the period it applies to, and it overrides the workspace settings while
it is in force, so a figure from a closed month keeps the method that produced it after the policy
changes. Policies are set by Costfluent with your finance team and are read-only in the console.

## Public API

Workspace currency settings and the published rates are available through the Public API. See
[Authentication](/api/authentication) for tokens, and the [API Reference](/api) for the full
schemas.

Read a workspace's currency settings:

```bash
curl -H "Authorization: Bearer $COSTFLUENT_API_TOKEN" \
  https://api.costfluent.com/api/v1/workspaces/wsp_example
```

Convert into euros by the monthly average:

```bash
curl -X PUT \
  -H "Authorization: Bearer $COSTFLUENT_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"enableCurrencyConversion": true, "conversionCurrency": "EUR", "conversionMethod": "MonthlyAverage"}' \
  https://api.costfluent.com/api/v1/workspaces/wsp_example
```

Pull the rates a report converted by:

```bash
curl -H "Authorization: Bearer $COSTFLUENT_API_TOKEN" \
  "https://api.costfluent.com/api/v1/exchange-rates?from=2026-09-01&to=2026-09-30&targetCurrency=USD"
```

Cost data and cost summaries take an optional `workspaceId`, which decides whose currency settings
present the figures. Without it, every figure stays in its billing currency:

```bash
curl -H "Authorization: Bearer $COSTFLUENT_API_TOKEN" \
  "https://api.costfluent.com/api/v1/costs?workspaceId=wsp_example&startDate=2026-09-01&endDate=2026-09-30"
```
