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

# Billing

> One price on top of the GPU-hours the usage page already shows, at /admin/billing.

What the GPU-hours cost, at `/admin/billing`. Administrators only, and part of the commercial
edition.

It adds a **price** and re-measures nothing. The hours come from the same metering the
[Usage](/en/console/usage) page shows, because a second definition of "how much did we use"
is an argument nobody can settle.

## What you see

| Region              | What it shows                                                   |
| ------------------- | --------------------------------------------------------------- |
| **Group by**        | Team, project or person                                         |
| **Period**          | The range, as a number of days                                  |
| **Runs**            | How many runs are in the period                                 |
| **GPU-hours**       | The same hours the usage page reports                           |
| **Cost**            | Those hours at the configured rate per card type                |
| **Unpriced series** | Card types with no rate set, named rather than folded into zero |

## Which period a run counts in

A run is counted in the period it **ended**.

Slicing a long run across a period boundary would be more precise, and it would make this
month's bill move until the run finishes. What people expect of a bill is that it stops moving
once settled.

A job still going is counted for the part it has run, and labelled separately, so a big job in
flight does not make the current period look mysteriously cheap.

## Two things about the arithmetic

Money is integer micros end to end. A fraction of a cent per run, accumulated over thousands of
runs, becomes a total nobody can reconcile.

A run holding several card types splits by card count, and that is **exact rather than
approximate**: a job's pools are placed, started and released together, so there is no partial
overlap to estimate.

## What you can do

| Action                        | Effect                                                                                         |
| ----------------------------- | ---------------------------------------------------------------------------------------------- |
| Change the grouping or period |                                                                                                |
| **Set a team budget**         | `PUT /api/billing/teams/{key}/budget`. A team over its monthly budget queues rather than fails |
| Set a rate per card type      | Card types with no rate appear under unpriced series                                           |

A team that has spent its budget can ask for a one-off exception for a single run — see
[Approvals](/en/console/approvals).

## Next

[Teams](/en/console/teams) · [Usage](/en/console/usage) ·
[Working in a team](/en/guides/teams)
