FinOps hubs Open, extensible, and scalable cost governance for the enterprise.

Deploy Learn more

On this page

FinOps hubs are a reliable, trustworthy platform for cost analytics, insights, and optimization – virtual command centers for leaders throughout the organization to report on, monitor, and optimize cost based on their organizational needs. FinOps hubs focus on 3 core design principles:

  • Be the standard
    Strive to be the principal embodiment of the FinOps Framework.
  • Built for scale
    Designed to support the largest accounts and organizations.
  • Open and extensible
    Embrace the ecosystem and prioritize enabling the platform.

We are very early in our journey. Today, FinOps hubs extend Cost Management by exporting cost details to a consolidated storage account and addressing a few of the inherent limitations that make exports more difficult to use. In their most basic form, FinOps hubs enable more Power BI reporting options. On the more advanced end, FinOps hubs are a foundation for you to build your own cost management and optimization solution.

💵 Estimated cost: $25 per $1M in cost

Exact cost of the solution may vary. Cost is primarily for data storage and number of times data is ingested. Pipelines will run once a day per export.

FinOps hubs requires an Enterprise Agreement (EA) or Microsoft Customer Agreement (MCA) account (including Cloud Solution Provider subscriptions). If you have a Microsoft Online Services Agreement (MOSA, aka PAYG) or a Microsoft internal subscription, you will need to use FinOps hubs 0.1.1. Please note Power BI reports have not been tested extensively with MOSA and MS Internal subscriptions. Speak to a Microsoft representative or file a billing support request to ask about migrating your subscription to Microsoft Customer Agreement.

🙋‍♀️ Why FinOps hubs?

Many organizations that use Microsoft Cost Management eventually hit a wall where they need some capability that isn’t natively available. When they do, their only options are to leverage one of the many third party tools or build something from scratch. While the cost management tooling ecosystem is rich and vast with many great options, they may be overkill or perhaps they don’t solve specific needs. In these cases, organizations export cost data and build a custom solution. But this comes with many challenges, as these organizations are not generally staffed with the data engineers needed to design, build, and maintain a scalable data platform. FinOps hubs seeks to provide that foundation to streamline efforts in getting up and running with your own homegrown cost management solution.

FinOps hubs will streamline implementing the FinOps Framework, are being designed to scale to meet the largest enterprise needs, and will be open and extensible to support building custom solutions without the hassle of building the backend data store. FinOps hubs are designed for and by the community. Please join the discussion and let us know what you’d like to see next or learn how to contribute and be a part of the team.

Join the conversation Learn how to contribute

🌟 Benefits

  • Clean up duplicated data in daily Cost Management exports (and save money on storage).
  • Convert exported data to parquet for faster data access.
  • Connect Power BI to subscriptions, resource groups, and other scopes.
  • Connect Power BI to Azure Government and Azure China.
  • Connect Power BI to Microsoft Online Services Agreement (MOSA) subscriptions1.
  • Report on multiple subscriptions, resource groups, or billing accounts.
  • Streamlined deployment and management with PowerShell.
  • Full alignment with the FinOps Open Cost and Usage Specification (FOCUS).
  • Coming soon: Ingest data from subscriptions in multiple tenants into a single storage account.
  • Coming soon: Ingest data into Azure Data Explorer.

1) MOSA (or PAYG) subscriptions are only supported in FinOps hubs 0.1.x. FinOps hubs 0.2 requires FOCUS cost data from Cost Management exports, which are not supported for MOSA subscriptions. Please contact support about transitioning to a Microsoft Customer Agreement account.

📦 What’s included

The FinOps hub template includes the following resources:

  • Storage account (Data Lake Storage Gen2) to hold all cost data.
  • Data Factory instance to manage data ingestion and cleanup.
  • Key Vault to store the Data Factory system managed identity credentials.

Once deployed, you can report on the data in Power BI or by connecting to the storage account directly.

Screenshot of the cost summary report Screenshot of the services cost report Screenshot of the commitment discounts coverage report

Browse reports See the template

➕ Create a new hub

FinOps hubs 0.2 is a breaking change. To upgrade an existing hub instance, please refer to the Upgrade guide.

  1. Register the Microsoft.EventGrid and Microsoft.CostManagementExports resource providers. Learn more.
  2. Deploy the finops-hub template. Learn more.

  3. Create a new FOCUS cost export using the following settings:

    • Type of data = Cost and usage details (FOCUS)

      FinOps hubs 0.2 requires FOCUS cost data. While FOCUS is fully supported, the option to export FOCUS cost data from Cost Management is currently in preview and has not rolled out to everyone yet. In order to create and manage FOCUS exports, please use the Exports preview link.

    • Dataset version = 1.0-preview(v1)
    • Frequency = Daily export of month-to-date costs

      Configuring a daily export starts in the current month. If you want to backfill historical data, create a one-time export and set the start/end dates to the desired date range.

    • File partitioning = On
    • Overwrite data = Off

      While most settings are required, overwriting is optional. We recommend not overwriting files so you can monitor your ingestion pipeline using the Data ingestion report. If you do not plan to use that report, please enable overwriting.

    • Storage account = (Use subscription/resource from step 1)
    • Container = msexports
    • Directory = (Use the resource ID of the scope1 you’re exporting without the first “/”)
  4. Run your export.
    • Exports can take up to a day to show up after first created.
    • Use the Run now command at the top of the Cost Management Exports page.
    • Your data should be available within 15 minutes or so, depending on how big your account is.
  5. Download one or more of the available Power BI starter templates from the latest release:
  6. Connect Power BI to your hub

If you need to deploy to Azure Gov or Azure China, please use FinOps hubs 0.1.1. Instructions are the same except you will create an amortized cost export instead of a FOCUS export.


If you run into any issues, refer to the Troubleshooting guide.

1) A “scope” is an Azure construct that contains resources or enables purchasing services, like a resource group, subscription, management group, or billing account. The resource ID for a scope will be the Azure Resource Manager URI that identifies the scope (e.g., “/subscriptions/###” for a subscription or “/providers/Microsoft.Billing/billingAccounts/###” for a billing account). To learn more, see Understand and work with scopes.

🛫 Get started with hubs

After deploying a hub instance, there are several ways for you to get started:

  1. Customize the built-in Power BI reports.

    Our Power BI reports are starter templates and intended to be customized. We encourage you to customize as needed. Learn more.

  2. Create your own Power BI reports.

    If you’d like to create your own reports or add cost data to an existing report, you can either copy queries from a pre-built report or connect manually using the Azure Data Lake Storage Gen2 connector.

  3. Connect to Microsoft Fabric for advanced queries.

    If you use OneLake in Microsoft Fabric, you can create a shortcut to the ingestion container in your hubs storage account to run SQL or KQL queries directly against the data in hubs. Learn more.

  4. Access the cost data from custom tools.

    Cost data is stored in an Azure Data Lake Storage Gen2 account. You can use any tool that supports Azure Data Lake Storage Gen2 to access the data. Refer to the data dictionary for details about available columns.

  5. Apply cost allocation logic, augment, or manipulate your cost data using Data Factory.

    Data Factory is used to ingest and transform data. We recommend using Data Factory as a cost-efficient solution to apply custom logic to your cost data. Do not modify built-in pipelines or data in the msexports container. If you create custom pipelines, monitor new data in the ingestion container and use a consistent prefix to ensure they don’t overlap with new pipelines. Refer to data processing for details about how data is processed.

    Keep in mind this is the primary area we are planning to evolve in upcoming FinOps toolkit releases. Please familiarize yourself with our roadmap to avoid conflicts with future updates. Consider contributing to the project to add support for new scenarios to avoid conflicts.

  6. Generate custom alerts using Power Automate.

    You have many options for generating custom alerts. Power Automate is a great option for people who are new to automation but you can also use Data Factory, Functions, or any other service that supports custom code or direct access to data in Azure Data Lake Storage Gen2.

No matter what you choose to do, we recommend creating a new Bicep module to support updating your solution. You can reference finops-hub/main.bicep or hub.bicep directly to ensure you can apply new updates as they’re released.

If you need to change hub.bicep, be sure to track those changes and re-apply them when upgrading to the latest release. We generally don’t recommend modifying the template or modules directly to avoid conflicts with future updates. Instead, consider contributing those changes back to the open source project. Learn more.

If you access data in storage or are creating or customizing Power BI reports, please refer to the data dictionary for details about the available columns.

🔐 Required permissions

Required permissions for deploying or updating hub instances are covered in the template details.

You will need one or more of the following to export your cost data:

Scope Permission
Subscriptions and resource groups Cost Management Contributor
EA billing scope Enterprise Reader, Department Reader, or Account Owner (aka enrollment account)
MCA billing scope Contributor on the billing account, billing profile, customer (CSP partners only), or invoice section

For additional details, refer to Cost Management documentation.

  • 📊 Power BI reports – Accelerate your reporting with Power BI starter kits.
  • 📒 Cost optimization workbook – Central hub for cost optimization.
  • 🖥️ PowerShell module – Automate and manage FinOps solutions and capabilities.
  • 🌐 Open data – Data available for anyone to access, use, and share without restriction.

Table of contents

This site uses Just the Docs, a documentation theme for Jekyll.