Track and cap team AI spend in Claude, Copilot and OpenAI
Export your team's AI spend and set hard caps in the Claude, GitHub Copilot and OpenAI admin pages, then track it all in one sheet in about 45 minutes.

What you need
Step 1: Export 90 days of Claude spend
6 minClaude's spend report shows who and which model drives the bill.
- Sign in to Claude as an Owner or Primary Owner and go to Settings > Analytics.
- Scroll to How much is Claude costing? and click Export spend report.
- Pick Last 90 Days, then click Download.
- Billed through the Claude Console instead? Open its Cost page for the same view.
You should see a CSV with one row per person and model, with net spend in US dollars.
The spend report is empty?
On seat-based plans, it only shows usage credits, the spend past each seat's allowance.
Spend data refreshes daily and runs one day behind.
Step 2: Cap Claude spend for the team and each person
6 minThe seat allowance is the default ceiling. Usage credits let people work past it at API rates, up to your limits.
- Go to Organization settings > Usage. In Usage credits, click Enable if it's off.
- Under Usage and spend limits, click Adjust limit, enter a monthly amount and click Set spend limit.
- In Spend limits by user, click ... next to a member, then Edit limit. Enter an amount and click Set limit.
You should see a monthly limit in place of Unlimited, and an MTD Spend column for each member.
A developer sees "You've hit your individual spend limit"?
Their usage credits reached the limit you set. Raise it in Organization settings > Usage, or they wait for the monthly reset.
On Claude Console billing, open Workspaces, select the Claude Code workspace and click Spend limits.
Step 3: Pull Copilot usage and set a budget
8 minCopilot now counts usage in AI credits, and only a budget stops paid usage once the shared pool runs out.
- In your organization or enterprise, click Billing & Licensing, then open AI usage under Usage.
- Click Get usage report, set the dates and click Email me the report.
- Open Budgets and alerts, click New budget and pick Bundled AI credits budget.
- Set the scope and amount, select Stop usage when budget limit is reached and Receive budget threshold alerts, then click Create budget.
You should see your new budget in the Budgets and alerts list, with spend shown against the amount.
Usage kept going past the budget?
Without Stop usage when budget limit is reached, a budget only sends emails. Edit the budget and select that option.
Enterprises can also set per-user budgets with the Users scope. User budgets always stop usage at the limit.
Step 4: Export OpenAI API costs and set a hard limit
6 minOn the OpenAI API, a spend limit only tracks spending until you turn on the hard limit.
- Sign in to platform.openai.com, pick your organization and select Usage in the sidebar.
- Select Export, choose Cost data, group by line item, pick CSV and select Download.
- Go to Organization limits. In Spend, select Edit spend limit.
- Enter the Monthly spend limit, turn on Enforce a hard limit and select Save. Repeat in each project's Limits page.
You should see a monthly limit under Spend for the organization and for each project.
Requests now fail with a 429 error?
Check
error.code.organization_spend_limit_exceededorproject_spend_limit_exceededmeans a cap was reached, so raise it or wait for the monthly reset.Enforcement isn't instant, so recorded spend can pass a hard limit by a little.
Step 5: Build one tracker for every tool
10 minOne sheet with every cap next to real spend shows which teams are close to a limit.
- Make a sheet with one row per team and tool, using the columns below.
- Each Monday, paste in the latest totals from the Claude, GitHub and OpenAI exports.
- Fill the Percent used column with the formula below.
- Highlight any row above 80% so its owner can act early.
Your columnsTeam | Tool | Owner | Monthly cap (USD) | Spend this month (USD) | Percent used | Last updated Percent used, row 2: =E2/D2
You should see each team's spend and cap side by side, with rows near a limit highlighted.
The totals don't match the invoice?
OpenAI exports use UTC dates, and Claude spend runs a day behind. Compare whole months, not single days.
To automate this later, use the Claude Enterprise Analytics API, GitHub's billing usage API or OpenAI's Costs API. Keep admin keys out of the sheet.
Step 6: Review monthly and move routine work to cheaper models
8 minA short monthly review turns the tracker into decisions about seats, caps and models.
- Find seats and projects with almost no spend, and remove or downgrade them.
- Raise a cap only when a team hit it doing work that paid off.
- In Claude Code, use Sonnet for most coding and keep Opus for hard design work. Developers switch with
/model.
You should see a short list of seats to cut, caps to change and tasks to move to cheaper models.
A developer hit a weekly limit in Claude Code mid-task?
That limit is shared across models, so switching models won't help. With usage credits on, they can run
/usage-creditsto ask you for more.For simple subagent tasks, set
model: haikuin the subagent's configuration. Developers can run/usageto see what uses the most.
You get
Hard caps in every AI tool your team pays for, and one sheet that shows spend against each cap
Try next
Did this guide work for you?
Thanks. It helps us fix the steps.


