> ## 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](https://docs.tuneplane.ai/en/console/usage.md) 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](https://docs.tuneplane.ai/en/console/approvals.md).

## Next

[Teams](https://docs.tuneplane.ai/en/console/teams.md) · [Usage](https://docs.tuneplane.ai/en/console/usage.md) ·
[Working in a team](https://docs.tuneplane.ai/en/guides/teams.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.