Azure Native Application

Operational Continuity Through Azure CSP Transitions

Preserve tenant-wide cost reporting, Power BI dashboards, historical data, and API access through CSP transitions — without rebuilding anything.

  • Keep your existing reports running — Power BI and third-party FinOps platforms
  • Connect to your data the same way you do today — cost APIs and direct connectors work unchanged
  • Preserve tenant-wide visibility and cost history through CSP transitions
  • CSP Continuity runs entirely within your Azure tenant — no data leaves your environment

Starting at $225/month after a 30-day free trial

Built for the CSP model

CSP provides flexibility and enhanced support — and changes operational workflows, particularly around cost & usage reporting.

What changes with cost visibility under CSP

  • Tenant-wide spend visibility is restricted — only subscription by subscription spend visibility is available in the portal. This drives breakage in third party FinOps platforms and anything sourced by cost APIs.
  • The Power BI direct connection isn't supported under CSP, so reports built on it stop updating post-transition.
  • Historical cost data is wiped when the billing transition is executed, eliminating ability to report against prior periods.
  • Reservation costs show as $0 — you can't see which resources used the benefit or what unused capacity is costing you.

How CSP Continuity helps

  • Restores consolidated cost visibility across your entire tenant — every subscription, in one place.
  • Keeps third-party FinOps platforms working — produces the exact data feed they already import, in the same file format, so reports continue with no disruption.
  • Replaces the broken Power BI connector with three connection paths — SQL DirectQuery, Parquet import, and a REST API. Same column names as EA/MCA for effortless reporting continuity.
  • Provides a cross-subscription query API — collects from every subscription and unifies the results into a single endpoint that matches Microsoft's response format. Simply drop in the new connection string.
  • Preserves historical cost data by collecting and storing it independently within your tenant — your record stays intact regardless of billing changes.
  • Rebuilds reservation amortization — matching reservations to resources by SKU, region, and scope so you see true cost-per-resource.

What's different under CSP

CSP changes operational workflows related to cost. These are differences in Microsoft's billing architecture that affect how you access and report on costs.

Consolidated view moves to subscription scope

Azure Cost Management does not support management group scope for CSP subscriptions. Cost visibility is scoped to individual subscriptions — there is no tenant-wide view in the Azure portal.

Power BI Cost Management connector stops working

The built-in Azure Cost Management connector in Power BI only supports EA and direct MCA agreements. Under CSP, it stops returning data — reports built on that connector need a new data source.

Cost APIs move to subscription scope only

Under EA/MCA, you can query at billing account, department, or management group scope. Under CSP, billing scopes live in the partner's tenant and management group scope is unsupported. Every API call must target a single subscription.

Historical cost data resets

Billing transfers reset cost history in the Azure portal. Trend data, baselines, and budgets from your previous agreement don't carry over.

Reservation amortization shows $0

At subscription scope, reservation costs appear as zero for both actual and amortized views. You can't see which resources consumed the benefit or how much unused capacity you're paying for.

CSP Continuity addresses every one of these changes — designed to minimize rework and keep your existing reporting intact.

Maintain what matters

A managed application you deploy from the Azure Marketplace.
It runs entirely within your Azure tenant — fully air-gapped from the publisher with no external data transfer.

  • Existing reporting keeps working. Whether that's third-party FinOps tools, custom Power BI dashboards, or anything built on the cost APIs — you won't have to sacrifice or rebuild artifacts you've invested time and money into.
  • Never worry about losing historical data. It stays accessible directly from the Azure portal, protected from any future billing transitions.
  • Analyze your entire Azure environment in a single view — instead of troubleshooting subscription by subscription.

Core capabilities

Consolidated Cost Visibility

View and query cost and usage data across your full Azure environment — not just one subscription at a time.

Historical Cost Continuity

Retain cost history across billing transitions.

Azure Portal–Aligned Reporting

Maintain tenant-wide visibility with an in-portal dashboard for daily cost trends, subscription health, and self-service troubleshooting.

Existing Integrations

Drop-in API replacement — Power BI reports, scripts, and dashboards are designed to work with a URL swap. Parquet files are also available in blob storage for direct Power BI consumption.

Reservation Amortization

Rebuilds reservation amortization that Microsoft shows as $0 at subscription scope — matching reservations to resources by SKU, region, and scope, distributing daily amortized cost proportionally.

FinOps platform continuity

Keeps the Cost Management export feed your FinOps platform reads alive through the transition — covering platforms that read Microsoft Cost Management exports, including the feeds read by IBM Cloudability, VMware CloudHealth, and Vantage.

FinOps platform continuity

Keep your FinOps platform working

FinOps platforms connect to Azure through a daily Cost Management export that runs at your billing scope. When billing moves to your CSP partner, that export stops producing files — and there's no easy way to recreate it. CSP Continuity keeps the feed your platform reads alive through the transition, in the same file format it already ingests, so your mappings, dashboards, and chargeback keep running without a gap. Works with platforms that read Microsoft Cost Management exports, including the feeds read by IBM Cloudability, VMware CloudHealth, and Vantage.

See how it works

Three ways to access your data

All three from a single deployment — no additional tools or licenses required.

Power BI

The built-in Azure Cost Management connector only supports EA and direct MCA — it doesn't work under CSP. CSP Continuity provides two connection paths designed to replace it:

  • SQL DirectQuery — connect to the CostManagement_Usage view using the read-only PowerBIReader account. Column names match EA/MCA exports.
  • Parquet Import — import from Azure Blob Storage, partitioned by year/month/subscription. Works with Power BI and Microsoft Fabric.
  • REST API — connect via Power BI's Web connector using the same query API described below. Same request/response format as Microsoft's Cost Management API.

Same column names, same DAX measures — designed to work without rebuilding dashboards.

Column-level compatibility

The SQL views use column names that match EA and MCA exports: CostInBillingCurrency, PreTaxCost, UsageDate, SubscriptionGuid, InstanceId. Existing DAX measures should bind without changes in most cases.

Query API

Under CSP, every Cost Management API call must target a single subscription. CSP Continuity collects from every subscription and exposes a unified endpoint:

  • POST to /api/costmanagement/query with the same request body format as Microsoft's API
  • Returns data in Microsoft's exact {id, name, type, properties: {columns, rows}} format
  • Consolidated across all subscriptions — not one at a time
  • Unlimited grouping dimensions — Microsoft's API limits grouping to 2

Same request format, same response schema — most existing scripts and tools work with a URL change.

Endpoint swap
// Before — Microsoft Cost Management API
POST https://management.azure.com/
     .../query

// After — CSP Continuity
POST https://<your-app>.azurewebsites.net/
     api/query

Azure Portal Dashboard

An Azure Monitor Workbook deployed directly in the portal — tenant-wide cost visibility right where your team already works:

  • Daily cost trends across all subscriptions
  • Subscription health and permission status at a glance
  • Self-service troubleshooting and remediation guidance
  • No additional tools or licenses — it's part of the Azure portal
12 subscriptions healthy
1 subscription pending permissions

Last collection: 2 hours ago

13 months of data · 847,231 records

Feeding a third-party FinOps platform instead? CSP Continuity also reproduces the Cost Management export feed those platforms import — see FinOps platform continuity.

How it works

1

Deploy

5 minutes

Deploy from the Azure Marketplace into your tenant.

2

Configure

2 minutes

Run a single PowerShell script to grant read-only permissions.

3

Collect

Automatic

Data collection begins automatically — up to 13 months of history, typically available within hours depending on tenant size.

4

Access

Immediately

Access via API, Parquet files for Power BI, or the in-portal dashboard.

Runs entirely within your Azure tenant

Deployed as an Azure Managed Application — your data never leaves your environment.

Azure Marketplace

Your Azure Tenant

Function App

SQL Database

Storage

Log Analytics

API Layer

management.azure.com graph.microsoft.com *.monitor.azure.com

Deploys like any Azure resource

This isn't a SaaS app. It's an Azure Managed Application built entirely on native Azure services — Function App, SQL Database, Storage Account — running in your tenant, using your identity provider, and following your governance policies.

Deploys into your Azure subscription

Just like any other resource you'd deploy from the Azure portal. It lives in your tenant, managed by you.

Nothing leaves your tenant

No external endpoints, no telemetry, no callbacks. The application communicates only with management.azure.com, graph.microsoft.com, *.monitor.azure.com (for the in-portal dashboard), and marketplaceapi.microsoft.com (metered billing — subscription count only, no cost data).

Uses Azure RBAC and Entra ID

Your existing access policies apply. Authentication and authorization work exactly the way they do for every other Azure resource.

Read-only access to cost data

The application cannot modify resources, subscriptions, or spending. It reads cost and reservation data — nothing more.

Secrets encrypted at rest

All secrets encrypted at rest by the Azure platform. Managed identity authentication — no credentials in code. Azure AD authentication (EasyAuth) on all endpoints. Publisher access configurable as JIT (just-in-time) only.

Try it free for 30 days

Deploy the full solution into your Azure tenant today. No credit card surprises — the base price is $0 and no charges are emitted during the trial. Billing starts on the 1st of the month after your trial ends.

Small

1–5 subscriptions

$225 /month

after your 30-day trial

  • All capabilities included
  • Cancel anytime
  • Deploys entirely within your Azure tenant
Start Free 30-Day Trial

Medium

6–15 subscriptions

$495 /month

after your 30-day trial

  • All capabilities included
  • Cancel anytime
  • Deploys entirely within your Azure tenant
Start Free 30-Day Trial

Enterprise

16+ subscriptions

$1,495 /month

after your 30-day trial

  • All capabilities included
  • Cancel anytime
  • Deploys entirely within your Azure tenant
Start Free 30-Day Trial

Automatic tier selection. You don't pick a tier. The app counts your active subscriptions each month and applies the matching rate.

Predictable flat fees. Every tier is a fixed monthly amount — no per-subscription charges, no usage metering, no surprises.

Infrastructure cost is separate. Azure resources (App Service B1 plan, Storage Account, SQL Database Standard S0) run in your tenant at ~$28–35/month, paid directly to Microsoft.

Available in Azure Marketplace. Cancellation takes effect at the end of your billing period.

Frequently asked questions

Does any data leave my Azure tenant?
No. All data is collected, stored, and served within your tenant. The application makes no outbound calls except to Azure's own management APIs (management.azure.com, graph.microsoft.com, and *.monitor.azure.com for the in-portal dashboard). There are no telemetry endpoints, no analytics, and no callbacks to the publisher.
How is this different from Azure Cost Management?
Azure Cost Management has four structural limitations for CSP customers that this application addresses: (1) No consolidated view — Cost Management does not support management group scope for CSP subscriptions; we consolidate all subscriptions into a single database, dashboard, and API. (2) No reservation amortization — at subscription scope, reservation usage shows $0; we build our own amortization by matching reservations to resources. (3) No billing scope access — CSP billing scopes live in the partner's tenant; we collect from subscription scope and provide the consolidated views that billing scope would have given you. (4) No management group API support — even the Cost Details API doesn't support management group scope for any agreement type; we call it per-subscription and unify the results.
Will my existing Power BI reports work?
The application provides three connection methods designed to be compatible with existing reports: (1) SQL DirectQuery to the CostManagement_Usage view — column names match EA and MCA exports (CostInBillingCurrency, PreTaxCost, UsageDate, SubscriptionGuid, InstanceId, ConsumedQuantity, Currency, ServiceName), so existing DAX measures should bind without changes. (2) Parquet import from Azure Blob Storage — partitioned by year/month for efficient loading into Power BI or Microsoft Fabric. (3) REST API — same request/response format as Microsoft's Cost Management Query API. If you have an existing Cost Management connector report, changing the data source to the SQL DirectQuery connection should work without rebuilding your visualizations in most cases.
How does the free trial work?
Deploy CSP Continuity from the Azure Marketplace. Your first 30 days are completely free — no charges at all. Billing starts on the 1st of the month after your trial ends. There's nothing to cancel if you decide it's not for you.
How is my tier determined?
The app counts all Azure subscriptions visible to its managed identity, minus any you manually exclude. Your tier is based on this count: 1–5 subscriptions is Small ($225/month), 6–15 is Medium ($495/month), and 16 or more is Enterprise ($1,495/month). You never have to pick a plan.
When does billing start?
After your 30-day trial, billing starts on the 1st of the following month. For example, if you deploy on May 15th, your trial runs through June 14th, and your first charge appears on your July invoice.
What happens if I add subscriptions mid-month?
Nothing changes until the next 1st. Your tier is reassessed monthly, not in real time. No mid-month billing adjustments.
Can I exclude subscriptions to lower my tier?
Yes, but excluded subscriptions don't get cost data collected. You lose visibility into those subscriptions' spending. The tier is based on the count of non-excluded subscriptions visible to the managed identity.
Why can't I just use management groups with CSP?
Microsoft's Cost Management explicitly does not support management group scope for CSP subscriptions. If you try, you get: "Management group does not have any valid subscriptions." There is no workaround, no alternative scope, and no announced timeline for support. This application is the workaround.
We're planning a CSP migration. Should we deploy before or after?
We recommend deploying before. If you deploy while still on EA or MCA, the application collects up to 13 months of historical data at your current negotiated rates. When you migrate to CSP, that historical data stays in your tenant — even though it disappears from the Azure portal. After the migration, the application continues collecting at the new rates. Under normal operating conditions, you get a continuous timeline showing the transition and the historical comparison that no other tool provides.
What happens during the CSP billing transfer?
The application is designed to keep running. CSP transfer is a billing-only change — subscription IDs, resources, RBAC role assignments, and managed identity are all preserved. The Cost Management APIs may be briefly unavailable (typically 24-48 hours) while Microsoft reconfigures the billing scope. During that window, the application marks affected subscriptions as temporarily errored and retries on the next daily collection run. Historical data is untouched throughout.
What happens if I cancel?
Billing stops at the end of the current period. Your data remains in your tenant until you delete the managed application resource. Cancelling means you lose the consolidated view and return to subscription-by-subscription visibility. If you deployed before a CSP migration, cancelling also means losing access to the pre-migration historical data that no longer exists in the Azure portal.
What Azure resources does it deploy?
A Function App (B1 App Service plan, ~$13/month), a Storage Account (Standard LRS), an Azure SQL Database (Standard S0, ~$15/month), a Log Analytics workspace, and an Azure Monitor Workbook. Total infrastructure cost is approximately $28–35/month.
Deployment failed — what should I check?
The most common deployment failures are: (1) the microsoft.operationalinsights resource provider is not registered on your subscription — see the Deployment Prerequisites section on our Support page; (2) no App Service quota in the selected region — request a quota increase under "App Service" in your subscription's Usage + quotas blade; (3) SQL provisioning restricted in the selected region — try a different region. Most enterprise subscriptions will not encounter these issues.
What permissions does it need?
Cost Management Reader (read-only cost data) and Reservations Reader (read-only reservation data). Both are read-only — the application cannot modify any Azure resources. Permissions are granted by running a single PowerShell script in Azure Cloud Shell.
How does reservation amortization work without billing scope?
Microsoft only provides reservation attribution at billing scope, which CSP customers can't access. The application collects reservation orders and daily utilization summaries via the Reservations API, then matches them to usage records by SKU flexibility group, region, and scope. The daily amortized cost is distributed proportionally across matched resources. Unused capacity appears as synthetic records so you can see how much reservation spend is going to waste.

CSP Continuity is designed to work across a wide range of Azure environments. Results may vary based on tenant configuration, Microsoft API availability, and CSP partner setup. CSP Continuity is not affiliated with, endorsed by, or certified by IBM, VMware, Vantage, or any FinOps platform vendor; product names identify compatibility targets only and are trademarks of their respective owners. See our Terms of Use for details.