Billing
Settings → Billing shows what your organization's license allows, how much of it you've used, and what you'll be billed on top of your subscription for a month. Super admins and the billing role can open it. The license itself is managed by Measured Cloud, so the page is read-only: to change a limit or a term, contact the billing contact it names. How licenses and limits work, and how they're enforced, is covered in Licenses and limits.
What the page shows
Pick a month at the top. Every calendar month (UTC) since your organization was created is listed, back to 24 months. The page then shows:
- Agreement. The agreement name, plan, term (with "ends in N days" when fewer than 60 days remain), the billing contact, a link to the signed agreement, and the overage agreement reference.
- Limits. One line per limit, showing usage against the limit, with No limit when there is none.
- Hard limits (workspaces, users, data sources) always show today's count, whichever month you pick, and always block at the limit.
- Metered limits (runs and native AI spend) show the chosen month's usage. Each shows its mode: Blocks at limit or Overage billed.
- For a metered limit in overage mode, the line shows what went over the limit as quantity × rate = amount. The page totals these as Overage this period.
- AI usage. Requests, input and output tokens, and estimated cost for the month, split into the built-in AI engine (native) and your own LLM provider (BYO), with a per-model table. This section was Settings → AI usage, and the old address now opens it (
/settings/billing#ai). - Warnings. For the current month, the same 80 % and 100 % notices the app shows elsewhere (see Warnings).
Download statement (CSV) saves the chosen month as a CSV file with the same figures: the agreement, one row per limit (used, limit, mode, overage quantity, rate and amount), the AI lines, the warnings that fired and the overage total.
How the figures are worked out
- Runs are counted the same way the run limit counts them. A run the license refused (Skipped — license limit) isn't counted, and an asset's or rule's Run counts once.
- AI spend is estimated from a per-model price table, in USD per million input and output tokens. A call is priced at the rate in effect on the day it was made. A price change applies only from its effective date, so a past month keeps the rates it was costed at.
- BYO LLM calls are display only. Your own provider bills you for them, so they never count toward the AI limit and are never part of the overage total.
- Overage comes from the overage ledger. Each run or AI call over a limit in overage mode is written to the ledger when it happens, at the agreement's rate at that moment. A later change to the rates doesn't change a past month. The rate on a statement line is the one the ledger recorded.
For the platform operator
The admin console has two related views:
- Overage report (from the Organizations list). Every organization's overage for a month, for invoicing: runs over the limit × rate, native AI dollars over the limit × rate, and the agreement, billing contact and reference. It can also be downloaded as a CSV file.
- Pricing. The LLM price table. It has one row per model and effective date, and a
*row that prices any model without its own row. To change a price, add a row for the model effective from the date the new price applies. Rows dated before the current month price months that may already be invoiced, so they're locked. Every change is recorded in the platform audit log. Each organization whose license meters AI spend also gets a record of the change in its own audit log.
API
GET /api/v1/organizations/{org_id}/billing/statement?month=YYYY-MMreturns the statement as JSON. Addformat=csv, or sendAccept: text/csv, to get the CSV. See the API reference.