Showback and chargeback use the same data pipeline. The difference is consequence: showback tells each team what its Claude usage cost; chargeback actually debits that team's budget. Skipping straight to chargeback is tempting — it feels more serious — but it front-loads every political and technical dispute onto a system that hasn't earned trust yet. When the first invoice is wrong (and the first invoice is always a little wrong), you want the stakes to be a correction in a dashboard, not a reversal in the general ledger.
Why read-only first
Attribution has a maturation period. Early on, credentials get shared, experiments run under the wrong workspace, and some spend is genuinely unattributable — on the first-party Claude API, for example, Default Workspace usage surfaces with workspace_id: null and Workbench (console) usage with api_key_id: null. Showback surfaces these leaks while they're cheap to fix.
Rates need shaking out. A correct model rates input, output, cache writes, and cache reads separately, applies batch discounts and regional premiums, and handles time-bounded pricing (Claude Sonnet 5's introductory $2/$10 per million tokens ends August 31, 2026, when it becomes $3/$15). Each of those is a bug you'd rather find in a report than in an invoice.
Behavior changes anyway. The bulk of showback's value arrives without any billing: teams that see their number trend against peers start caching system prompts and routing easy tasks to Haiku 4.5 on their own. Chargeback adds enforcement, not most of the savings.
Structuring the showback report
A monthly (or weekly) report per team needs five elements:
| Element | Content |
|---|---|
| Headline | This period's cost, last period's, and percent change |
| Composition | Split by model, and by token category — input / output / cache write / cache read |
| Drivers | Request volume vs. tokens-per-request: which one moved the number |
| Unit economics | Cost per business unit — per ticket, per document, per session (how to define it) |
| Unattributed remainder | Spend no team claimed, published deliberately — shrinking it is a goal |
On the first-party Claude API, the Admin Usage and Cost API supplies this nearly turnkey: the usage endpoint breaks token consumption down by model, workspace, and service tier in buckets from one minute to one day, and the cost endpoint returns daily USD amounts groupable by workspace. On Bedrock, Vertex, and Foundry that API isn't available, so the report is assembled from cloud billing data plus your own response-level token logs — the platform-specific mechanics are in the Bedrock, Vertex, and Foundry billing guides.
Guardrails while you're still read-only
Showback doesn't cap anything, so pair it with the platform's native limits. On the Claude API, usage tiers already impose monthly spend caps (Start $500, Build $1,000, Scale $200,000), you can set your own organization spend limit below the tier cap, and workspaces can carry their own spend and rate limits below the organization's. Note the edges: no limits on the Default Workspace, batches may slightly exceed a workspace's configured spend limit due to concurrent processing, and Claude Platform on AWS has no spend limits at all — there you rely on AWS billing controls and anomaly alerting.
When to graduate to chargeback
Four tests, all of which should hold for two or three consecutive cycles: the unattributed remainder is small and stable (low single-digit percent); your computed totals reconcile against the actual invoice within an agreed tolerance; no team has an open dispute about its number; and finance has signed off on the rate card, including how negotiated discounts are distributed. When all four hold, the switch to chargeback is an accounting decision, not an engineering project — the pipeline is already the one described in building a chargeback model. Some organizations rationally stop at showback forever; if visibility alone keeps spend on forecast, the ledger complexity may never pay for itself.
Where to go next
Build the data layer with token logging for FinOps, then the finance-facing artifact with finance-ready cost reporting.