Allocating cloud costs across teams is one of the most debated topics in FinOps. Every organization eventually faces the same question: should we show departments what they spend, or actually bill them for it? The answer shapes your entire cost governance culture, and getting it wrong creates either apathy (nobody cares about costs) or friction (departments hoard resources to dodge charges).
This guide breaks down both models clearly, including when to use each, how to implement them, and how to handle the edge cases that most articles skip over.
What is Cloud Showback?
Showback is the practice of producing detailed reports showing each business unit what they consumed and what it cost, without any financial responsibility being transferred any financial responsibility. The charges stay in the central IT or cloud budget. Departments see the numbers, but their own P&L is untouched.
The goal is transparency and awareness. When a marketing team sees that their campaign environments cost $12,000 last month, they start thinking differently about cloud resources, even without a direct financial penalty.
How showback works in practice
- Cloud usage data is collected from your provider billing APIs (AWS Cost and Usage Report, Azure Cost Management, GCP Billing Export)
- Resources are tagged by team, project, application, or cost center
- Costs are aggregated and allocated to each business unit based on those tags
- Reports are distributed on a regular cadence (monthly, bi-weekly) to department leads
- No actual budget transfer occurs. It stays informational

What is Cloud Chargeback?
Chargeback takes showback one step further: departments are actually billed for their cloud consumption. Their budgets are debited, and finance records the transfer. Cloud costs become a real operating expense at the business unit level rather than a centralized IT overhead.
This creates direct financial accountability. When Development’s budget takes a hit every time engineers leave environments running overnight, behavior changes, and it changes quickly.
How chargeback works in practice
- Same tagging and cost allocation as showback
- Costs are validated and approved against agreed-upon allocation rules
- Finance performs internal budget transfers or journal entries at month-end
- Departments receive invoices or internal charge statements
- Budget owners are responsible for managing their cloud spend within their allocation

Showback vs Chargeback: Side-by-Side Comparison
| Dimension | Showback | Chargeback |
|---|---|---|
| Financial impact | None; costs stay in central IT budget | Direct; costs move to department budgets |
| Accountability level | Awareness and transparency | Full financial ownership |
| FinOps maturity fit | Crawl / early Walk | Walk / Run |
| Implementation complexity | Low to medium | Medium to high |
| Cultural effect | Collaborative, low friction | High accountability, risk of friction |
| Best for | Teams new to FinOps, building tagging foundations | Mature orgs with reliable tagging and executive buy-in |
| Holori support | Multi-cloud dashboards, virtual tags, custom reports | Automated cost allocation, tag-based billing exports |
The Three Chargeback Models (and When to Use Each)
Not all chargeback implementations work the same way. Once an organization decides to move beyond showback, they need to choose a specific cost allocation model. There are three main approaches, each with different trade-offs.
Usage-based chargeback is the most precise model. Each team pays exactly for what they consume, derived from billing export data (AWS CUR, Azure Cost Management, GCP Billing Export), which tracks usage at the resource level: compute hours, storage GBs, data transfer, API calls. This is the gold standard for fairness because there are no estimates or approximations. The downside is complexity: you need reliable tagging across every resource type and a system that can map raw usage data to teams accurately. AWS CUR, Azure Cost Management exports, and GCP Billing Export all provide the granular data this model requires, but they need to be normalized and reconciled before you can allocate costs reliably across providers. This is precisely where external FinOps platforms like Holori add value: they ingest billing data from all three providers, normalize it into a consistent format, and apply your allocation rules automatically, removing the spreadsheet work that makes usage-based chargeback painful to maintain at scale.
Fixed-rate (flat fee) chargeback assigns a predetermined monthly cost to each team regardless of actual consumption. Think of it like an internal subscription: a team running production workloads on AWS might be charged a flat $8,000/month based on their expected usage profile, adjusted quarterly. This model is predictable and easy to budget for, which finance teams love. The problem is that it can feel arbitrary and discourages teams from optimizing. If you pay the same amount whether you run 10 instances or 20, there is no financial incentive to right-size.
Hybrid chargeback combines both approaches. Direct, attributable costs are charged on a usage basis, while shared infrastructure (networking, monitoring, security tooling, Kubernetes control planes) is covered by a fixed platform fee split evenly across teams. This is the most commonly adopted model in mid-to-large enterprises because it balances precision with simplicity. Teams understand what they can directly control and optimize, while the platform fee is treated like a utility cost: predictable and not worth disputing.
For most organizations starting chargeback for the first time, the hybrid model is the right choice. It avoids the complexity of 100% usage-based accounting while still creating meaningful financial accountability where it matters most.
A Concrete Example: How One SaaS Team Made the Transition
Consider a mid-size SaaS company with three main teams: Platform Engineering, Product, and Data Science, all sharing an AWS and GCP environment. Their annual cloud spend is around $1.8M.
In year one, they ran showback only. Monthly cost reports revealed that Data Science was responsible for about 40% of total cloud spend, mostly from GPU instances used for model training. The team was surprised. They had no idea their experiments were that expensive. Platform Engineering discovered they were running three NAT gateways that only one team used. These findings came purely from the showback reports, with no financial consequence attached.
After eight months of showback, tagging coverage reached 87%. At that point, the company moved to a hybrid chargeback model. Direct compute, storage, and data transfer costs were allocated on a usage basis. A shared platform fee of $12,000/month was split equally across the three teams to cover networking, monitoring, and Savings Plans amortization.
The behavioral shift was immediate. Within the first quarter of chargeback being live, Data Science implemented spot instance usage for non-critical training jobs, cutting their GPU spend by 31%. Product Engineering started shutting down staging environments on weekends. Total cloud waste dropped measurably, not because anyone mandated it, but because the costs were now real to each team’s budget owner.
This kind of outcome is typical. Showback creates awareness; chargeback creates urgency.
The Hard Part: Handling Shared Costs
Neither model works cleanly out of the box for shared infrastructure. Shared Kubernetes clusters, networking, support contracts, Reserved Instances, and Savings Plans all present a common problem: who pays for them?
There are three standard approaches:
Proportional split: Each department pays a percentage of shared costs proportional to their direct consumption. Simple, reasonably fair, widely used.
Fixed fee: Shared infrastructure is treated like a utility, with a flat monthly allocation per team regardless of usage. Easier to budget for but can feel arbitrary.
Exclusion (showback only): Shared costs are shown as a separate line item for visibility but not allocated. Used during early FinOps implementation when tagging is incomplete.
Commitment-based discounts like Reserved Instances and Savings Plans deserve special attention. These are typically purchased centrally because pooling maximizes discount coverage. The standard approach is to pass the discounted rate to consuming teams and absorb any unused commitment centrally, or to split the amortized cost proportionally. Whatever you choose, document it and communicate it before rolling out chargeback or departments will push back hard.
This is where many FinOps teams hit a wall: shared cost logic is hard to maintain in spreadsheets and breaks the moment your cloud environment changes. Holori handles this at the platform level, letting you define custom allocation rules for shared resources across AWS, Azure, and GCP and applying them automatically every billing cycle. Virtual tags make it possible to retroactively group untagged shared resources without touching your infrastructure, which is critical when tagging coverage is still maturing.

When to Use Showback
Showback is the right starting point when:
- You are in the early stages of FinOps and tagging is still inconsistent
- You want to build cost awareness without triggering budget politics
- Business units have no established mechanism for receiving internal charges
- You are preparing the organization for chargeback and need to establish trust first
- You operate in a non-profit or public sector context where internal billing is bureaucratically complex
Most organizations spend 6–18 months in showback mode before transitioning to chargeback. This period is valuable. It surfaces tagging gaps, misattributed costs, and organizational misalignments that would create chaos if chargeback went live too early.
When to Use Chargeback
Chargeback is the right move when:
- You already have 80%+ of your cloud spend accurately tagged and attributable
- Leadership wants real cost ownership at the product or business unit level
- Cloud costs are large enough to materially affect departmental P&Ls (typically $500K+ annually)
- You have executive sponsorship across both engineering and finance
- Departments have the autonomy to make their own optimization decisions
Skipping showback and jumping straight to chargeback is a common mistake. Teams that don’t understand their spending pattern before being charged for it tend to respond with confusion and resentment rather than optimization.
Can You Do Both? The Hybrid Approach
Yes, and it is actually the most common pattern in mature FinOps programs.
The typical progression:
- Showback first: establish tagging hygiene, educate teams, build reporting trust
- Soft chargeback: allocate costs to department budgets for tracking purposes but without hard consequences; teams see the impact on their “virtual budget”
- Hard chargeback: full financial transfer with real budget consequences
Many organizations also run a mixed model permanently: chargeback for teams with well-tagged, high-spend workloads, and showback for shared services, R&D, or teams without dedicated cloud budgets.
Cloud Provider Tools for Cost Allocation Data
Before you can run either showback or chargeback, you need reliable cost data at the resource level. Each major cloud provider has a native export that forms the foundation of your allocation pipeline.
AWS Cost and Usage Report (CUR) is the most granular billing dataset AWS offers. It breaks down every charge by resource ID, usage type, and time period, and can be exported to S3 on a daily or monthly basis. CUR is the standard data source for AWS showback and chargeback implementations. For organizations using AWS Organizations, you can pull a consolidated CUR across all member accounts, which is essential for multi-account environments where each team runs in its own account.
Azure Cost Management provides usage and cost data through the Exports feature, delivering CSV files to a storage account on a scheduled basis. Azure also supports cost allocation rules natively within the portal, allowing you to split shared subscription costs across management groups or subscriptions. For organizations on the EA or MCA billing model, the billing scope determines what data you can access and how granularly.
GCP Billing Export to BigQuery is GCP’s equivalent, exporting detailed usage records into a BigQuery dataset that can be queried directly. GCP’s resource hierarchy (organization, folders, projects) makes it relatively straightforward to associate costs with teams if your project structure mirrors your org structure.
The core challenge in multi-cloud environments is that these three datasets have different schemas, different cost concepts (on-demand vs. committed use discounts vs. Reserved Instances), and different levels of granularity. Normalizing them into a single allocation model manually is where most FinOps teams spend a disproportionate amount of time, and where a platform like Holori eliminates significant operational overhead.
This is also where the FinOps Open Cost and Usage Specification (FOCUS) becomes relevant. FOCUS is an open standard developed by the FinOps Foundation that defines a common schema for cloud cost and usage data across providers. Organizations adopting FOCUS can normalize AWS CUR, Azure exports, and GCP billing data into a consistent format, making multi-cloud showback and chargeback dramatically easier to implement and maintain. As of 2024, major providers have begun publishing FOCUS-compliant exports, and FinOps platforms are increasingly adopting it as the baseline data model.
How Holori Supports Showback and Chargeback
Holori is built for organizations running multi-cloud environments where cost data is fragmented across AWS, Azure, GCP and more. A few capabilities that directly support showback and chargeback:
Unified cost visibility: A single dashboard aggregating spend across cloud providers, eliminating the manual consolidation that makes multi-cloud showback painful.
Virtual tags: Resources that were deployed without proper tags can be retroactively grouped using virtual tags. This is critical for organizations with tagging debt; you don’t have to wait for perfect tagging hygiene to start building accurate reports.
Custom cost allocation rules: Define how shared resources, committed spend, and untaggeable costs are distributed across teams. These rules are reusable and versioned, so your allocation logic doesn’t live in a spreadsheet.
Automated reporting: Scheduled cost reports by department, project, or environment delivered on your cadence, without manual export and formatting.
Chargeback-ready exports: Cost allocation data can be exported in formats compatible with finance systems for internal billing workflows.
Implementation Checklist
Before going live with either model, validate these foundations:
- Tagging strategy defined and enforced (at minimum: team, environment, project, application)
- Shared resource allocation method agreed upon with finance
- Commitment-based discount (RI/Savings Plans) treatment documented
- Reporting cadence and distribution list established
- Department leads have been briefed and understand what they will see
- (For chargeback) Finance has a mechanism for internal budget transfers
- (For chargeback) Escalation path defined for disputes
Conclusion– Cloud Showback vs Chargeback ?
Showback and chargeback are not competing options; they are stages on the same maturity curve. Start with showback to build transparency and fix your tagging foundation. Transition to chargeback when your organization has the technical accuracy and cultural readiness to make financial accountability meaningful rather than punitive.
The goal in either case is the same: make cloud costs visible, attributable, and actionable so that every team is equipped to make smarter decisions about what they build and how they run it.
Holori provides the multi-cloud visibility, virtual tagging, and automated allocation capabilities to support both models, from your first showback report to a fully automated chargeback workflow.
Frequently Asked Questions
Can showback and chargeback coexist in the same organization?
Yes. Large organizations often apply chargeback to mature product teams with reliable tagging while keeping showback for shared services, central platform teams, or new business units still building their cloud hygiene.
What tag coverage do I need before launching chargeback?
Most FinOps practitioners recommend 80% or higher of spend being attributable before going live with hard chargeback. Below that, too many costs land in an “untagged” bucket that creates allocation disputes.
How do we handle untagged resources in a chargeback model?
Common approaches: allocate untagged costs proportionally across all teams, charge them to the team that owns the account, or establish a centralized “unallocated” cost center that gets reviewed monthly until tagging improves.
Does chargeback actually change behavior?
Yes, consistently. When departments see cloud costs hit their own budget, idle resource shutdown rates, rightsizing adoption, and Reserved Instance coverage all improve. The financial signal is simply more motivating than a report.
What’s the difference between chargeback and a cost allocation tag?
A cost allocation tag is a technical mechanism for attributing costs. Chargeback is a financial and organizational process. Tags are a prerequisite for chargeback, but chargeback also requires finance processes, budget structures, and organizational agreements that go far beyond tagging.
How do FinOps teams handle Reserved Instance costs in chargeback?
The most common approach is to pass the discounted (amortized) rate to consuming teams and centrally absorb the cost of unused commitment. This ensures teams benefit from the discount while shielding them from waste they didn’t create.



