Skip to main content

How to Set Up Team Showback with AWS Cost Categories

A Team cost category that reads the team tag, catches whole accounts by rule, and spreads shared platform spend with a split charge rule.

Showback means each team sees what it spent, without an internal invoice attached. On AWS the native building block is a cost category: a set of ordered rules that label every cost line item with a value such as checkout or platform. Tags alone leave gaps (untagged volumes, data transfer, support); a cost category lets you close them with account and service rules.

Before you start

  • Cost categories can only be created in the management account of an AWS Organization (or a standalone account).
  • The team tag should already be activated as a cost allocation tag. If it is not, follow activating tags for cost data first.
  • Write down which accounts belong wholly to one team. Account rules are more reliable than tags for those.

1. Draft the rules

Rules are evaluated in order and the first match wins, so put the specific rules first. Save as team-rules.json:

Terminal window
[
{ "Value": "data-platform",
"Rule": { "Dimensions": { "Key": "LINKED_ACCOUNT", "Values": ["444455556666"] } } },
{ "Type": "INHERITED_VALUE",
"InheritedValue": { "DimensionName": "TAG", "DimensionKey": "team" } }
]

The first rule sends everything in one account to data-platform. The second is an inherited-value rule: any line item carrying a team tag gets the tag’s value as its category value, so new teams appear without editing the rules.

2. Create the cost category

Terminal window
aws ce create-cost-category-definition \
--name Team \
--rule-version CostCategoryExpression.v1 \
--rules file://team-rules.json \
--default-value unallocated

Anything that matches no rule lands in unallocated, which becomes your to-do list. Changes apply from the start of the current month, and processing can take up to 24 hours; the status reads Processing until it switches to Applied.

3. Split the shared costs

Add a split charge rule (console: Billing and Cost Management › Cost categories › Team › Edit) with a shared value such as platform as the source and the product teams as targets. Pick an allocation method: Proportional to each team’s own spend, Fixed percentages you define, or Even split. Split charges change what each team is shown, not what AWS bills.

4. Verify

Terminal window
aws ce describe-cost-category-definition --cost-category-arn arn:aws:ce::111122223333:costcategory/EXAMPLE

Confirm ProcessingStatus, then in Cost Explorer group by Cost category: Team for last month. Totals across all values, including unallocated, should equal the account total.

5. Publish it on a cadence

Showback only works if teams see it regularly and can drill in. A monthly Cost Explorer saved report per team is enough to start; showback versus chargeback covers when to move to recharging.

Team showback in ZopNight

ZopNight builds showback from teams you define and the resources assigned to them, across AWS, GCP and Azure at once. A resource shared by several teams has its cost split equally between them, resources with no owning team are tracked as unattributed so totals still reconcile, and the Reports page’s Teams tab breaks each team down by provider and resource type with a trend chart. Tag attribution sits on the Tags tab beside it, where each tag value receives the full cost rather than a split. Billing sync refreshes the numbers so billed cost replaces list-price estimates where it exists.

Stop watching the waste.
Start cutting it.

See. Find. Fix. Automatic.

Connect your first cloud account in under 5 minutes. See your first remediation in under 7. No credit card required.

CDCR connect detect classify remediate
full audit every action traceable
read-only default access
Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console· Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console·