FinOps
Cloud Cost Showback vs Chargeback: Building an Internal Cloud Billing System
The Goal: Cost Accountability Without Bureaucracy
Internal cloud billing — whether showback or chargeback — drives cost-conscious behaviour in engineering teams. The challenge is making it accurate enough to be credible without becoming an administrative burden.
Showback vs Chargeback: The Key Difference
| Feature | Showback | Chargeback |
|---|---|---|
| Teams see their costs? | Yes | Yes |
| Teams pay from their budget? | No | Yes |
| Finance integration required? | No | Yes |
| Behavioural change driven? | Moderate | Strong |
| Implementation complexity? | Low | High |
| Recommended starting point? | Yes | After 6 months showback |
Phase 1: Implement Showback (Months 1-6)
- Enable tagging: Enforce Team, Environment, Project, CostCentre tags on all resources
- Build visibility: Create team-level cost dashboards in AWS Cost Explorer or Azure Cost Management
- Monthly review cadence: Send each team their monthly cloud spend report
- Anomaly alerts: Enable team-level budget alerts so teams know immediately when spend spikes
Phase 2: Move to Chargeback (Months 6+)
- Agree allocation methodology: How to handle shared infrastructure (proportional by direct spend? fixed allocation?)
- Finance system integration: Export AWS/Azure billing data to your ERP system
- Budget assignment: Give each team a cloud budget line item in their P&L
- Regular reconciliation: Monthly reconciliation between cloud bills and internal charges
Handling Shared Resources
Not everything can be tagged to a specific team. Handle shared costs through:
| Resource Type | Allocation Method |
|---|---|
| Transit Gateway / hub networking | Fixed split by team (e.g., equal share) |
| Security tools (GuardDuty, Sentinel) | Proportional to team's direct compute spend |
| Logging infrastructure | Proportional to log volume generated |
| Shared development tooling | Centralised as platform team cost |
| Data transfer egress | Tag at resource level where possible; remainder to shared pool |
Internal Unit Pricing
Consider setting internal "shadow prices" for common resource types — this simplifies chargeback and smooths out cloud pricing volatility:
| Resource | Internal Price | Basis |
|---|---|---|
| vCPU-hour (Linux) | $0.06 | Blended On-Demand/RI |
| GB RAM-hour | $0.008 | Blended pricing |
| GB object storage | $0.025/month | S3 Standard |
| GB egress | $0.09 | Pass-through |
Start with showback — visibility alone changes behaviour. Once teams understand their spend, the conversation naturally moves toward accountability. Chargeback without showback first creates confusion and resentment.
Ready to Calculate Your Cloud Costs?
Use TCOIQ's free comparison tool or build a full inventory across all 5 clouds.