microsoft / microsoft/finops-toolkit

Add USD currency filter to FinOps Toolkit Power BI and ADX dashboards for MCA customers

Open
#2,040 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Tool: FinOps hubs Tool: Power BI
Dominant language
PowerShell
Stars
603
Forks
248
Avg merge
7d 11h
Merged PRs (30d)
11

Description

⚠️ Problem
Customers in Brazil using the Microsoft Customer Agreement (MCA) are facing recurring challenges with cost analysis, budgeting, and invoice reconciliation due to currency handling in the FinOps Toolkit dashboards.

Azure services under MCA are priced in USD, while many Azure Portal and FinOps Toolkit Power BI / ADX dashboards default to local currency (BRL). For Brazilian customers—especially in regulated and public sector environments—financial controls, budgeting, and contractual reconciliation must be performed in USD, not FX‑converted values.

The FinOps Hub data model already includes USD-based columns (e.g. x_BilledCostInUsd, x_EffectiveCostInUsd, x_ListCostInUsd, x_ContractedCostInUsd). However, the out-of-the-box Power BI and ADX dashboards do not provide a native way to filter or switch between USD and local currency.

As a workaround, customers have manually customized the Power BI reports to use USD columns. The issue is that every time the FinOps Hub or Power BI reports are updated, these customizations must be reapplied, creating recurring operational overhead, rework, and risk of inconsistency.
This makes it difficult to:

Reliably reconcile Azure costs with official MCA invoices
Perform accurate FinOps analysis under FX volatility
Support budgeting, forecasting, chargeback, and showback in USD
Treat FinOps Toolkit dashboards as a stable “source of truth” in Brazil

This is not an isolated case and has been repeatedly reported by Brazilian customers after migrating from EA to MCA.

🛠️ Solution
Enhance the FinOps Toolkit Power BI and ADX dashboards to natively support currency selection, allowing users to switch between:

USD (contractual currency)
Local currency (FX-converted)

Proposed outcome:

Introduce a currency selector or filter (USD vs local currency) at the report level
Ensure all core dashboards (Cost Summary, Invoicing & Chargeback, Rate Optimization, etc.) consistently respect this selection

Make USD-based analysis a first-class, supported scenario, without requiring post-deployment customization

This should be a reporting-layer enhancement only. No changes to ingestion or schema are required, as the USD columns already exist in the FinOps Hub tables.

ℹ️ Additional context

Brazilian customers, especially in the public sector, operate under strict financial and audit requirements where FX variation cannot be embedded into cost tracking.

Manual Power BI customization is not sustainable, as it must be redone after each FinOps Hub or report update.

Forcing customers to maintain forks or custom reports fragments adoption and reduces the value of the standardized FinOps Toolkit.

This scenario is also relevant to other FX-sensitive markets where USD is the contractual reference currency.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the existing Power BI and ADX dashboard definitions and review how the USD columns such as x_BilledCostInUsd and x_EffectiveCostInUsd are exposed. Implement and validate a report-level currency choice across Cost Summary, Invoicing & Chargeback, Rate Optimization, and other core dashboards, with both USD and local-currency views consistently respecting the selection.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure
Domain
analytics, cloud
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.