Multi-cloud cost reporting in one currency means showing AWS, Azure and Google Cloud cost in a single reporting currency, although each provider delivers its data in a currency of its own. AWS shows cost in Cost Explorer in US dollars only; Azure and Google Cloud show it in the billing account's currency. Once a report adds these amounts up, every converted figure depends on a rate source and a rate date. Without both in the report, a change in the total cannot be split into usage and exchange rate, and two reports on one month give two totals.

How it works

How each provider sets the invoice currency, the pricing currency and its rate is covered in invoice currency and exchange rates. What matters for a report is which amounts the data already carries converted, and in which direction:

ProviderConsoleConverted amounts and rates in the data
AWSCost Explorer in US dollars only; the Bills page adds the invoice currency where it differsno rate field; line_item_currency_code names the line's currency, USD by default
Azurecost analysis in the billing currency; with several currencies, converted to USD automatically, never to another currencyMCA: CostInPricingCurrency, costInUsd, paygCostInUsd, ExchangeRatePricingToBilling, ExchangeRateDate; FOCUS export: x_BilledCostInUsd, x_EffectiveCostInUsd, x_BillingExchangeRate, x_BillingExchangeRateDate
Google Cloudreports in the Cloud Billing account's currencycurrency and currency_conversion_rate, the rate from US dollars to the local currency; cost divided by it gives USD; x_CurrencyConversionRate in the FOCUS export

All three providers can therefore be taken back to US dollars; none delivers euros or pounds for all. AWS's Cloud Intelligence Dashboards guidance takes this route itself: the dashboards are in USD by default, and the customer supplies a rate file from public sources, monthly averages in its example. On Azure, costInUsd is documented for the Microsoft Customer Agreement (MCA) only.

FOCUS does not do the conversion for you. BillingCurrency must match the invoice currency, and the specification carries amounts in other currencies only in the currencies of billing: since 1.2 in the pricing currency, such as PricingCurrencyEffectiveCost, and since 1.4 in the payment currency, PaymentCurrencyBilledCost in the Invoice Detail dataset. FOCUS 1.4 has no exchange rate column, and none of these columns follows your reporting currency.

Rate source

In the EU the European Central Bank's euro reference rates are the obvious candidate. The ECB posts them around 16:00 CET on every working day except TARGET closing days, sets them in a daily concertation between central banks, and covers the US dollar and the pound sterling among others. By its own note they serve information, not transactions; a management report needs exactly that, a source every reader can look up. On its data portal the ECB also keeps monthly series per currency, as the average of the daily values and as the end-of-period value. For a UK company reporting in pounds, the dollar to pound rate follows from the two euro rates of the same day.

Rate date

MethodRateSuitsWhat it costs
Daily ratethe rate of the usage daydaily reports, anomaliesdays without a reference rate need a rule
Monthly averagethe average of the daily ratesmonthly reports, trendsfinal only after month end
End of periodthe last rate published in the monthcomparison with period-end valuesone day decides the whole month
The provider's rateAzure ExchangeRateDate, on Google one rate from the start of the monthmatching the invoiceseveral rates in one total

What it means for your cost

In the reporting currency a month's change has three sources: usage and prices in the pricing currency, the provider's rate for invoices in euros or pounds, and your own rate for everything the report converts itself. With C as the month's amount in US dollars and k as the rate in euros per dollar, the change splits into (C₁ − C₀) × k₀ for usage and price and C₁ × (k₁ − k₀) for the rate. A report that also computes the current month at the previous month's rate shows the second part on its own; comparing two months more generally is covered in period comparison.

The main decision is the starting amount per provider. Taking the amount in invoice currency adopts the provider's rate for euro invoices and converts only the rest: the total matches the invoices but mixes rates from different sources and dates. Taking each provider in its pricing currency and converting everything at one rate treats all providers alike, but then departs from every euro invoice; the difference is a reconciling item, not an error. The first route serves reconciliation with the books, the second the trend. A rate policy records these decisions:

DecisionOptionsWhat is recorded
Reporting currencyEUR, GBP, USDone per report
Rate sourceECB reference rate, the provider's rate, the bank's ratename and where to find it
Rate datedaily, monthly average, end of periodper reporting cadence
Starting amountinvoice currency or pricing currencyper provider and agreement type
Cost basisbilled or effective costthe same for every provider
Difference to the invoicea reconciling item of its ownamount and cause per month
Change to the policyapplies from a named monthdate and reason

Which rate applies in the books is for the company's accounting policy and its tax adviser or auditor to decide; the report's policy only states what the report calculates with. A budget's planning rate is covered in exchange rate policy for budgets, paying the AWS invoice in euros in the guide pay AWS in euros.

Where it goes wrong

  • Converted twice. Symptom: Google or Azure cost sits apart from the invoice by the dollar rate. Cause: the amounts were already in euros, as currency or BillingCurrency shows, and were converted again as dollars.
  • The dollar view taken for euros. Symptom: Azure cost analysis with "All costs in USD" shows a different total from the invoice. Cause: with several currencies, cost analysis normalises to US dollars only.
  • No dollar column. Symptom: an Enterprise Agreement export of actual or amortized cost has no amount in USD. Cause: costInUsd and paygCostInUsd are documented for MCA only; the FOCUS export schema lists x_BilledCostInUsd without that restriction.
  • A blended rate. Symptom: the total moves although no provider consumed more. Cause: part of the total carries the provider's rate and part your own, at different rate dates.
  • A rate without a date. Symptom: a report from the start of the month cannot be recalculated. Cause: it states no rate source or rate date.
  • Cost bases mixed. Symptom: one provider jumps in the month of a reservation purchase. Cause: it enters the total at billed cost while the others enter at effective cost.

Example

For September 2026 the ECB published a monthly average of 1.1513 US dollars per euro and an end-of-month value of 1.1355. An AWS amount of A US dollars therefore gives A ÷ 1.1513 = 0.8686 × A euros at the average and A ÷ 1.1355 = 0.8807 × A euros at the month-end rate, about 1.4% more for the same usage. For pounds the month-end rate was 0.85463 pounds per euro; the same amount gives A × 0.85463 ÷ 1.1355 = 0.7526 × A pounds. None is wrong; they follow from different rate dates, so a report states its own.

Sources

Read on 2026-10-16. AWS exploring your data using Cost Explorer, understanding your bill, CUR 2.0 line item columns and AWS spend in local currency (Cloud Intelligence Dashboards); Microsoft understand usage details fields, FOCUS cost and usage details file schema and customize views in cost analysis; Google Cloud structure of standard data export, structure of FOCUS data export, local currency for billing and payments and Cloud Billing reports; FOCUS 1.4 Billing Currency, Pricing Currency Effective Cost and Payment Currency Billed Cost; European Central Bank euro foreign exchange reference rates, monthly US dollar per euro series on the data portal as average and end of period and September 2026 monthly average and month-end values for USD and GBP.