> ## Documentation Index
> Fetch the complete documentation index at: https://docs.costgraph.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Sub-accounts and Tenancy

A **sub-account** is the unit inside a provider that a charge belongs to. It answers "who is this spend for" in a way the provider itself recognises: a GCP project, a Grafana stack, a GitHub user, one of your own customers behind an AI gateway.

## The type is provider-relative

There is no fixed list of sub-account types. Each provider names its own tenancy unit, and CostGraph keeps the provider's word for it rather than flattening everything into one term.

| Provider                    | Type          | Names                                              |
| --------------------------- | ------------- | -------------------------------------------------- |
| AWS                         | `Management`  | An account under the payer                         |
| GCP, DigitalOcean, Scaleway | `Project`     | A project                                          |
| Grafana Cloud               | `Stack`       | A stack                                            |
| GitHub                      | `User`        | A member                                           |
| CostGraph                   | `Tenant`      | Your tenant, on your own CostGraph bill            |
| AI gateways                 | `sub_account` | The customer the gateway attributed the request to |

Where a provider names the type itself, that word is theirs and we keep it. Elsewhere we follow the provider's own hierarchy: [Datadog](/costgraph/integrations/datadog) treats the paying org as the billing account and each sub-org as a sub-account, and [Cursor](/costgraph/integrations/cursor) uses the member's email address.

This is why the dashboard shows the type next to the name. `acme` on its own is ambiguous; `Project acme` is not.

## Where it comes from

* **Provider integrations** pick it up for you, following whatever hierarchy the provider exposes.
* **AI gateways** attribute each request to the customer that made it. See [AI gateways](/costgraph/integrations/ai-gateways), which also covers labelling requests the gateway could not attribute itself.
* **Pushing your own cost data** lets you set it per row, so two customers on the same product and period stay separate. See [multi-tenancy in FOCUS push](/costgraph/integrations/focus-push).

## On the dashboard

Turn on the **Sub-accounts** column in the cost breakdown. Each row then shows its largest sub-accounts as chips, and expanding one adds a row per sub-account.

Those rows carry the same measures as the row above them, not just dollars: usage quantity and unit, unit price, and billed, list and contracted cost. That is the point of tenancy in CostGraph - what a customer cost you is only half the question, and what they consumed is the half that says whether the cost is justified. A tenant whose spend doubled while its usage stayed flat is a rate problem; one whose usage doubled with it is simply growth.

Two measures are deliberately withheld when they would be arithmetic rather than fact. A rolled-up "N more" line reports a quantity only when every sub-account inside it shares one usage unit, and a unit price only when that quantity exists - summing hours and gigabytes into one number, or dividing by it, would invent a figure the bill does not contain.

Two things are worth knowing about how the breakdown reads:

* **Rows with no tenancy show a dash.** Plenty of spend legitimately has no sub-account. A provider that reports none, or an account-level fee that belongs to nobody in particular, is shown as blank rather than invented.
* **"Unassigned" only appears where something else is attributed.** When part of a row carries a sub-account and part does not, the remainder is called out, because that gap is the difference between your bill and what tenancy can explain. When nothing in the row is attributed, there is no gap to report.

Clicking a sub-account in the breakdown narrows the whole view to it. Sub-account is also a grouping and a filter in its own right, so you can lead with it rather than reaching it through a provider.
