Set team budgets

Give each team a monthly per-person budget and an overage pool, and push those limits to Claude, ChatGPT, and Cursor.

Budgets set a monthly spending ceiling for each team and each person on it. Tokenize tracks spend against the budget on Budgets. Where you've connected a provider that supports per-user limits, Tokenize also writes each person's ceiling to that provider as a hard limit.

Who can do this: Everyone in the organization can open Budgets and see the teams they're allowed to see. Admins can set budgets for any team. Managers can set budgets for teams in their own reporting line. Other members can view but not edit. See Roles and permissions.

Before you start

Budgets follow your team structure, which comes from your directory. If Budgets shows "No teams to show", an admin needs to connect a directory first. Click Set up teams to open Settings → Directory Sync. See SSO and directory sync.

Teams can be nested (for example, Engineering and Engineering / Platform). Each team is led by its manager, and that person's row on the team page is where the team's budget is set.

How a budget is built

A team budget has two parts:

  • Per person (USD): the monthly amount each member gets.
  • Overage allowance (USD): a shared pool on top of the per-person amounts. The team lead hands it out to people or sub-teams.

The total team budget is per person × number of members + overage allowance. The popover shows this total before you save.

A nested team inherits its parent's per-person amount unless you set its own. The field shows "Inherited from parent: $X / person" when that applies. A nested team can't have a higher per-person amount than its parent, and its total can't go over the parent's total budget.

Any overage you don't hand out counts toward the team lead's own personal ceiling.

Set a team budget

  1. Go to Budgets. Click a team to open its page.
  2. On the team lead's row, click Set budget.
  3. Enter Per person (USD). For a top-level team, you can also enter Overage allowance (USD).
  4. Click Save budget.

If the amounts break a rule, a warning explains why and Save budget stays disabled. For example: "Per-person can't exceed Engineering's $2,000/person."

Hand out overage from the pool

On a team page, click Allocate on a person's row to open Allocate from overage pool. The popover shows how much of the pool is left.

  • On a direct report's row, enter Personal overage (USD). This raises that person's ceiling.
  • On a sub-team manager's row, enter the sub-team's team overage (USD). This sets that sub-team's overage pool. In the sub-team's own Set budget popover, this shows as Team overage.

Click Save allocation. You can't hand out more than the pool holds. If you try, you'll see "Only $X remains in [team]'s overage pool."

Reading the Budgets page

The top of the page shows Budget, Current Spend, Budget remaining, and Forecast for the current month. Forecast estimates where spend will land by the end of the month at the current pace. Budgets run on calendar months in UTC.

The table shows each team's spend against its budget. The bar turns red when spend goes over budget. Overages shows how much of the pool has been handed out, or how much a person received "from pool".

Which providers get hard limits

Tokenize writes per-person limits to three providers only:

ProviderCredential you need
Claude EnterpriseA Claude Enterprise key with read:spend_limits and write:spend_limits. See Connect Anthropic.
ChatGPT / OpenAI EnterpriseAn OpenAI Enterprise key with the Usage limits (Write) permission. See Connect OpenAI.
CursorA Cursor team Admin API key. See Connect Cursor.

Claude Platform (Console API keys), OpenAI Platform, and OpenRouter have no per-user limits. Spend from those still counts on Budgets, but nothing is blocked there.

How the limit is applied:

  • Tokenize matches each person to their provider accounts by email (or their Claude account). People it can't match get no provider limit.
  • If a person uses more than one of these providers, their ceiling is split evenly across them. For example, a $1,000 ceiling with Claude and Cursor becomes $500 on each.
  • Cursor takes whole dollars and ChatGPT Enterprise takes whole credits. Tokenize rounds down, so the provider limit never exceeds the budget.
  • Tokenize regularly checks the provider limits and resets any that have drifted from the budget.

What you see after saving

After you save, the popover reports what happened at the provider:

MessageWhat to do
"Budget saved. Provider limits were applied."Nothing.
"Budget saved. No provider limit change was needed."Nothing. No one's ceiling changed.
"Budget saved. Only some provider limits were applied."Check the per-provider lines below the message. Some people may not match a provider account.
"Budget saved. The provider denied the limit change. Check this key's write permissions in Settings."The key can read but not write limits. Replace it in Settings → Providers with a key that has write access.
"Budget saved. Provider limits could not be applied."The provider rejected the request or couldn't be reached. Tokenize retries automatically.
"Budget saved. We could not confirm whether provider limits were applied. Check their current values before trying again."Look at the limits in the provider's admin console before saving again.

The budget itself is always saved, even when the provider step fails.

When someone reaches their budget

When a person's spend for the month reaches their ceiling, Tokenize records a Personal budget reached alert. If Slack is connected, it also messages the alert channel and sends a direct message to the person's manager. Teams and the organization get alerts at 80% and 100%. See Alerts.

On Claude Enterprise, ChatGPT Enterprise, and Cursor, the provider enforces the limit. What the person sees when they hit it is up to that provider. On other providers, nothing is blocked and the alert is the only signal.