Multi-cloudAllocation6 min read

Handle currency in multi-cloud cost reports

Sources checked September 7, 2026Varies by scope
On this page
THE SHORT ANSWER

Keep BilledCost and EffectiveCost with their BillingCurrency, and keep PricingCurrencyEffectiveCost separate when the export provides it. As a recommended reporting control, document any conversion rule and retain source amounts, currencies, rate, and rate date before aggregating into a reporting currency.

Why this is worth a look

FOCUS defines BilledCost as the cost invoiced by the invoice issuer in BillingCurrency. EffectiveCost is the cost recognized for resources, services, or contract commitments in a charge period, also in BillingCurrency. PricingCurrencyEffectiveCost is a conditional metric representing the PricingCurrency-denominated equivalent of EffectiveCost, with the same pricing adjustments, amortizations, and exclusions. Keep these denominations distinct, then apply a documented reporting policy when a combined currency view is needed.

Run this check

CHECKLIST

A read-only checklist for a named reporting entity and billing-period window before building a multi-currency report. It requires no cloud permissions or account access. Record source amounts and currencies in their source units, and keep any custom converted amount separate from FOCUS fields.

Multi-cloud currency conversion control
Reporting entity: ________________________________
Billing period or charge-period window: ___________
Reporting currency: ______________________________
Recommended conversion policy, source, and owner: _
Rate direction and effective-date rule: ___________
Rounding precision and stage: ____________________
Policy version: __________________________________

Source fields to verify in this export
EffectiveCost with BillingCurrency: [ ]
BilledCost with BillingCurrency: [ ]
PricingCurrencyEffectiveCost checked as conditional: [ ]
PricingCurrency checked before using PricingCurrencyEffectiveCost: [ ]
ServiceProviderName availability checked: [ ]
BillingAccountId availability checked: [ ]
InvoiceId and InvoiceIssuerName availability checked: [ ]

Recommended custom reporting fields, separate from source fields
reporting_currency: ______________________________
fx_rate_to_reporting_currency: ____________________
fx_rate_date: ____________________________________
converted_amount: ________________________________
conversion_policy_version: _______________________

Controls
Confirm included amounts use the documented source currency: [ ]
Do not treat PricingCurrencyEffectiveCost as BillingCurrency: [ ]
For an issued invoice, reconcile BilledCost by InvoiceId and InvoiceIssuerName against the corresponding invoice, within the Rounding Variance Tolerance: [ ]
As an additional diagnostic policy, compare currency groupings only after the whole-invoice reconciliation: [ ]
For variance analysis, retain available usage, pricing, discount, and exchange-rate fields and document the comparison assumptions: [ ]
For Microsoft exports, record x_BillingExchangeRate and its determination date when supplied: [ ]

How to confirm it

  1. 01

    Verify the source schema

    For each export, check the exact fields ServiceProviderName, BillingAccountId, InvoiceId, and InvoiceIssuerName. Confirm that EffectiveCost and BilledCost are retained with BillingCurrency. Treat PricingCurrencyEffectiveCost as conditional and verify that PricingCurrency is present before using it.

  2. 02

    Choose the cost basis

    Use BilledCost when the report needs invoiced cost, invoice reconciliation, budgeting, or cash-based forecasting. Use EffectiveCost when the report needs cost based on resources, services, or contract commitments recognized in the charge period, including accrual-based reporting and allocation.

  3. 03

    Record a reporting policy

    Before creating a reporting view, record the reporting currency, rate source and owner, rate direction, effective-date rule, rounding precision, and policy version. This is a recommended reporting control, not a FOCUS requirement. Keep the original amount and currency alongside any custom converted amount.

  4. 04

    Aggregate and reconcile carefully

    Apply the documented conversion rule only after confirming the source denomination for each included amount. For an issued invoice, reconcile the sum of BilledCost for the InvoiceId and InvoiceIssuerName to the corresponding invoice, allowing the Rounding Variance Tolerance. If useful, use currency grouping only as an additional diagnostic policy, not as a replacement for the whole-invoice comparison.

  5. 05

    Investigate variance explicitly

    As recommended analysis practice, do not attribute a variance from currency columns alone. If the investigation needs usage, pricing, discounts, or exchange rates, retain the available related fields, define the comparison grain and rate direction, and label a baseline-rate comparison as an assumption rather than a complete attribution.

Before making changes

Assumptions: the dataset follows the cited FOCUS fields, the reporting entity and time window are defined, and the team can identify any provider-specific fields. The conversion, retention, rounding, and variance-analysis controls in this guide are recommended reporting policies, not stated FOCUS requirements. PricingCurrencyEffectiveCost is conditional, so an export may not provide it. Microsoft documents x_BillingExchangeRate as the rate for converting pricing currency to billing currency and documents when that rate was determined.

Ignore this guide when every included amount already uses the report's required currency and your reporting policy confirms that no further conversion or currency comparison is needed.

Primary sources