👤 Who is this for?

IT Admin Business Leader Finance / FinOps — This section covers chargeback strategy development, the Fabric Chargeback App, cost attribution models, reservations handling, and real-world implementation scenarios.

Chargeback

Fabric Cost Attribution & Chargeback

Attribute Fabric capacity costs back to the teams, users, and business units that consume them.

Why Chargeback Matters

In a shared-capacity model like Microsoft Fabric, multiple teams and workloads consume from the same CU pool. Without a chargeback mechanism, there is no accountability for consumption — leading to over-provisioning, wasted spend, and friction between business units and central IT.

A well-designed chargeback strategy provides:

🔑 Key Principle: Come with a Strategy

The Fabric Chargeback App is not a complete end-to-end chargeback solution. It is a tool that facilitates your existing chargeback strategy by providing the data you need to correctly apportion the costs you see on your Azure bill. You must define who gets charged, what gets charged, and how to handle edge cases (unused compute, reservations, admin uplift) before configuring the app.

Chargeback vs. Showback

💰 Chargeback

Actual financial charges are transferred to the consuming business unit. Costs appear on each team's budget. Requires executive buy-in, a clear cost model, and integration with internal finance processes.

📊 Showback

Costs are displayed to teams for awareness, but no financial transfer occurs. Useful as a first step to build transparency and maturity before moving to full chargeback. The Chargeback App supports both approaches.

The Chargeback Process

Implementing Fabric chargeback is a multi-step process that combines organizational decisions, Azure billing data, and the Chargeback App:

Chargeback Implementation Flow
1. Define Strategy Who, What, How 2. Get Total Cost Azure Cost Mgmt 3. Get Usage Split Chargeback App 4. Calculate Bills Apply cost model 5. Report & Invoice

Developing a Chargeback Strategy

Define your cost attribution model before touching any tools.

There is no one-size-fits-all approach to chargeback. What works for one organization may not be right for another. Your strategy must answer two fundamental questions:

👥 WHO Gets Charged?

Determine the attribution dimension that aligns with your organizational structure:

  • By capacity owner: Charge the team that owns each capacity (simplest when capacities map 1:1 to teams)
  • By workspace: Attribute CU usage per workspace to workspace owners
  • By domain: Group workspaces into Fabric domains that map to business units
  • By user: Track per-user CU consumption and aggregate to cost centres
  • By item: Attribute costs to specific Fabric items (notebooks, pipelines, reports)

💵 WHAT Gets Charged?

Determine which costs to include and how to handle special cases:

  • Compute only vs. compute + storage: OneLake storage is billed separately
  • Reserved vs. PAYG rates: Do some teams benefit from reservations while others don't?
  • Unused compute: Who pays for idle capacity?
  • Administration uplift: Should you add a surcharge to cover central IT costs?
  • Scale-up / overage costs: Who bears the cost of temporary scale operations?

Key Strategic Decisions

1. Handling Unused Compute

Within the capacity model there will almost always be unused compute — even with the benefits of smoothing (just like unused minutes on a phone contract). Capacities are priced such that 100% utilization isn't needed to be cost-effective. However, how you attribute unused compute is critical:

Dedicated Capacities

If individual business units own their own capacities, it is usually fairest to charge them for their unused compute too — they control the capacity lifecycle (pause/resume/scale).

Shared Capacities

If business units are spread across multiple shared capacities, combining unused compute across all capacities and apportioning it based on usage is much fairer. This avoids the situation where teams on busier capacities pay less for idle compute than those on quieter capacities — a result of admin placement decisions, not user behavior.

Central IT Absorption

Some organizations have central IT absorb unused compute costs entirely, charging business units only for what they actually consumed. This is the simplest model for users but shifts financial risk to IT.

2. Handling Reservations

Azure Reservations provide approximately 40% discounts on pay-as-you-go prices but require a 1-year or 3-year commitment. Key considerations:

💡 Blended Rate Example

If you have a 32 CU reservation and run three F16 capacities (48 CU total), the reservation covers 32 CU at the discounted rate and the remaining 16 CU are billed at PAYG. The blended cost per CU differs from both the reserved and PAYG rates. Calculate this in Azure Cost Management before feeding into the Chargeback App.

3. Administration Uplift

If capacities are created and managed by a central team, you may want to charge an uplift on Fabric compute usage to cover the costs of that central IT team (FTE costs, tooling, on-call support). This is a percentage added on top of the raw Azure cost.

4. Scale-Up, Pause/Restart & Overage Costs

Dynamic capacity management (scaling up for peak loads, pausing during off-hours, or using capacity overage) affects the total bill. Decide upfront whether these costs are absorbed centrally or distributed to the teams that triggered the demand.

Strategy Decision Matrix

Decision Option A Option B Option C
Attribution dimension By domain / business unit By workspace By user → cost centre
Unused compute Proportional to usage Capacity owner pays Central IT absorbs
Reservations Blended rate for all Reserved rate for committed teams PAYG rate for all (simplest)
Admin overhead % uplift on charges Flat monthly fee per team No uplift (absorbed)
Storage costs Included in chargeback Billed separately by workspace Central IT absorbs

The Microsoft Fabric Chargeback App

A Power BI template app that provides CU consumption data by workspace, user, item, and domain.

What the App Does

The Microsoft Fabric Chargeback App is a Power BI app available from AppSource that connects to your Fabric capacity data and provides breakdowns of CU consumption. It helps you answer: "What percentage of my capacity did each team/user/workspace consume?"

📊 Workspace View

Shows what percentage of your capacity was utilized by each workspace. Use this when workspaces map cleanly to teams or projects.

👥 User View

Shows CU consumption per user. Drill into the User Details page to see which workspaces, items, and operations each user consumed.

🏷️ Domain / Subdomain View

Shows utilization by Fabric domain. Ideal when domains map to business units. Workspaces not assigned to a domain appear under "No domain".

📦 Item View

Shows utilization by individual Fabric items (notebooks, pipelines, reports, warehouses). Useful for identifying expensive items.

What the App Does NOT Do

⚠️ Proportional vs. Absolute Usage

The Chargeback App shows proportional cost usage against a grand total of "used" capacity, not "available" capacity. If a capacity is 10% utilized by two business units — one using 6% of total compute and the other 4% — the app shows a 60-40 split, not a 6-4 split. Keep this in mind when calculating charges where unused compute is excluded.

Installation & Setup

Prerequisites

Installation Steps

  1. Go to AppSource → Microsoft Fabric Chargeback and select Get it now
    Or in Power BI service: Apps → Get apps → search "Microsoft Fabric" → select Chargeback → Get it now
  2. Sign in with your Microsoft account and select Install
  3. Open the installed app and select Connect your data
  4. Configure the connection:
    FieldValueNotes
    UTC Offset-12 to 14 (use .5 for half-hour zones)Your org's standard UTC offset
    Days Ago to Start14 or 30 daysHistorical data to load
    Advanced → Auto RefreshOn (default) or OffMidnight auto-refresh
  5. Set Authentication method to OAuth2 and Privacy level to Organizational
  6. Select Sign in and continue — initial data load may take a few minutes

App Visuals & Navigation

Considerations & Limitations

🔧 Troubleshooting

If the app shows no data or can't refresh after installation: 1) Delete the old app, 2) Reinstall the latest version from AppSource, 3) Update the semantic model credentials in the workspace settings.

Integrating with Azure Cost Management

The Chargeback App provides usage splits — Azure Cost Management provides the actual dollar amounts.

A complete chargeback workflow combines two data sources:

Azure Cost Management

Provides the total cost for each capacity — including reservation discounts, PAYG charges, pause/restart effects, and scale-up costs. This is the "how much?" side of the equation.

Key meters:

  • Fabric Capacity CU — active compute
  • Compute Pool — unused/idle CU (important for unused compute exclusion)
  • OneLake Storage — storage costs (billed separately)

Chargeback App

Provides the usage distribution — what percentage each workspace/user/domain consumed. This is the "who used it?" side of the equation.

Key metrics:

  • Grand Total % per domain/workspace/user
  • Utilization CU per entity
  • Daily utilization trends

Calculating Chargeback Amounts

Formula: Basic Proportional Chargeback
Team Charge = Total Capacity Cost × (Team CU Usage / Total CU Used)

Example:
  Total monthly cost (from Azure): $8,400
  Finance team CU usage:           40% (from Chargeback App)
  Planning team CU usage:          35%
  Operations team CU usage:        25%

  Finance charge:    $8,400 × 0.40 = $3,360
  Planning charge:   $8,400 × 0.35 = $2,940
  Operations charge: $8,400 × 0.25 = $2,100
Formula: Chargeback Excluding Unused Compute
Used Cost = Total Capacity Cost − Compute Pool Cost (from Azure meter)

Team Charge = Used Cost × (Team CU Usage / Total CU Used)

Example:
  Total monthly cost:        $16,800
  Compute Pool (unused) cost: $3,400
  Used cost:                 $13,400

  Business Unit A (60% of used): $13,400 × 0.60 = $8,040
  Business Unit B (40% of used): $13,400 × 0.40 = $5,360
  Central IT absorbs:            $3,400 (unused)
Formula: With Administration Uplift
Team Charge = (Total Cost × Team Usage %) × (1 + Admin Uplift %)

Example with 10% uplift:
  Base charge for Team A: $3,360
  With 10% uplift:        $3,360 × 1.10 = $3,696

Real-World Chargeback Scenarios

Four practical examples showing how to implement different chargeback strategies using the Chargeback App and Azure Cost Management.

🏢

Scenario 1: Charge Back to Business Units via Domains

Domain-Based F64 Reserved

Setup: An F64 capacity under a 1-year reservation costing ~$5,300/month. Runs continuously with no scale-ups, pauses, or restarts. Three business units (Finance, Planning, Operations) each have workspaces grouped using Fabric domains.

Goal: Charge each business unit proportionally to their CU consumption.

🎯 Strategy Decision

Since all three business units share one capacity, a decision must be made about unused compute. If each unit uses 20% of capacity, do they each pay 20% of the monthly price — leaving 40% unaccounted for? In this scenario, each business unit pays proportionally so that the full $5,300 is covered (i.e., they also pay for their share of unused compute).

📋 Implementation Steps

  1. Get total cost from Azure Cost Management — straightforward with a single reservation and matching capacity size ($5,300/month)
  2. Open the Chargeback App → navigate to the Domain tab to see the top N domains across all capacities
  3. Read the Grand Total % or Utilization CU for each domain (business unit)
  4. Calculate charges: Total Cost × Domain Usage %

📊 Example Calculation

Business UnitDomain % (from App)Monthly Charge
Finance45%$5,300 × 0.45 = $2,385
Planning35%$5,300 × 0.35 = $1,855
Operations20%$5,300 × 0.20 = $1,060

⚠️ Key Takeaways

  • Total cost was calculated outside the Chargeback App (Azure Cost Management)
  • With multiple capacities sharing a reservation, calculating total cost becomes more complex — you must figure out blended rates
  • A business decision was required on how to handle unused compute
  • This approach relies on domains being correctly assigned — the chargeback admin should validate domain assignments regularly
👤

Scenario 2: Charge Back via User IDs to Cost Centres

User-Based F32 PAYG

Setup: An F32 PAYG capacity with a base cost of $4,300/month, but the capacity is sometimes paused/restarted and occasionally scaled up — actual monthly cost is $5,100. Multiple shared development workspaces with users from various parts of the business.

Goal: Find each user's CU consumption, map to cost centres using an external lookup table, and charge back proportionally.

📋 Implementation Steps

  1. Get total cost from Azure Cost Management ($5,100, including scale-up and restart costs)
  2. Open the Chargeback App → navigate to the Users tab to see top N users by utilization
  3. Export user-level data using the Export Data page — get CU consumption per user
  4. Join with external mapping — match user IDs to cost centres using your HR/finance system
  5. Aggregate to cost centre level — sum CU usage per cost centre, calculate proportional charges

⚠️ Key Takeaways

  • Total cost was already known but included effects of scale-ups and pause/restarts — the admin must understand these billing implications
  • The solution was multi-faceted: Azure Cost Management + Chargeback App + external user-to-cost-centre mapping
  • Consider automating the join between Chargeback App exports and your cost centre mapping for monthly efficiency
  • Drill into the User Details page for any user to see which workspaces, items, and operations they consumed
🔀

Scenario 3: Multiple Capacities with Shared Ownership

Multi-Capacity 3× F16 + Reservation

Setup: Three F16 capacities (48 CU total). Capacity 1 is owned by Finance, Capacity 2 by Planning, Capacity 3 is co-owned by HR and Operations. A 32 CU reservation covers all three capacities, with savings apportioned equally.

Goal: Charge capacities 1 & 2 directly to their owners. Split Capacity 3 costs between HR and Operations based on workspace-level usage.

📋 Implementation Steps

  1. Calculate blended costs per capacity — the 32 CU reservation covers part of the 48 CU total. The reservation rate applies to 32 CU and PAYG applies to the remaining 16 CU. Split the reservation benefit equally across all three capacities.
  2. Capacities 1 & 2: No Chargeback App needed — send the blended cost directly to Finance and Planning respectively
  3. Capacity 3: Open the Chargeback App → use the Workspace tab (or drill down the hierarchy) to find CU usage per workspace
  4. Map workspaces to owners — HR and Operations each have a list of their workspaces assigned to Capacity 3
  5. Calculate Capacity 3 split: Blended Cost × (Team's Workspace CU / Total Capacity 3 CU)

⚠️ Key Takeaways

  • Blended reservation + PAYG costs complicated the total cost calculation — this work happens entirely outside the Chargeback App
  • An external workspace-to-team mapping was required for the shared capacity
  • The chargeback admin should cross-check workspace assignments to ensure nothing is missing
  • For dedicated capacities (1 & 2), the Chargeback App adds no value — just use Azure Cost Management
🏗️

Scenario 4: Exclude Unused Compute (Central IT Absorbs)

Domain-Based F128

Setup: An F128 capacity used by four business units, each with workspaces assigned to Fabric domains. Central IT has agreed that unused CU will not be charged to the business units — they pay only for what they actually consume.

Goal: Charge back only consumed compute to business units, with central IT absorbing unused capacity costs.

📋 Implementation Steps

  1. Get total cost from Azure Cost Management
  2. Identify the "Compute Pool" meter in the Azure bill — this represents unused CU cost
  3. Calculate used cost: Total Cost − Compute Pool Cost = Cost to distribute
  4. Open the Chargeback AppDomain tab to see proportional usage per business unit
  5. Apply proportional split to the used cost (not total cost)

📊 Example Calculation

ComponentAmount
Total monthly cost$16,800
Compute Pool (unused CU) cost−$4,200
Distributable cost$12,600
Business UnitUsage % (from App)Monthly Charge
Sales40%$12,600 × 0.40 = $5,040
Marketing25%$12,600 × 0.25 = $3,150
Engineering20%$12,600 × 0.20 = $2,520
Support15%$12,600 × 0.15 = $1,890
Central IT (unused)$4,200

⚠️ Key Takeaways

  • The key business decision was that users pay only for what they consume, not their proportional share of the capacity
  • The Compute Pool meter in Azure is critical for identifying unused compute cost
  • Remember: the Chargeback App shows proportional usage of used capacity (not available) — so the percentages from the app can be applied directly to the "used cost" figure
  • This model shifts financial risk to central IT, which must budget for the unused compute gap

Chargeback Best Practices

Organizational and technical best practices for a sustainable chargeback implementation.

Organizational Readiness

📝 Document Your Policy

Create a written chargeback policy that covers: attribution model, handling of unused compute, reservation treatment, billing cycle, dispute resolution process, and escalation path. Get executive sign-off before implementing.

👥 Stakeholder Alignment

Involve finance, IT, and business unit leaders early. Chargeback succeeds only when all parties understand and agree to the model. Run a pilot with showback before switching to actual charge transfers.

📅 Regular Review Cadence

Schedule monthly or quarterly reviews of chargeback accuracy, dispute resolution, and model adjustments. As workloads shift, the model may need updating.

Technical Best Practices

Maturity Model

LevelStageDescription
1 No Visibility One central IT budget pays for all Fabric costs. No team knows their consumption.
2 Showback Chargeback App installed. Teams receive monthly reports showing their usage percentage. No financial transfer.
3 Basic Chargeback Proportional costs are transferred to business unit budgets monthly. Simple model (e.g., by domain %).
4 Advanced Chargeback Blended reservation rates, unused compute handling, admin uplift, automated export-to-bill pipeline. Full FinOps integration.
5 FinOps Excellence Self-service cost dashboards for teams. Automated anomaly detection. Budget forecasting based on CU trends. Teams self-optimize.