A working budget setup, and the judgement to tune it as your enterprise grows.
Universal ULB
Set a universal user-level budget that lets pooling work while still capping any one user.
Power-user overrides
Find your heaviest consumers from the AI usage dashboard and give them individual, even temporary, limits.
Spending limit & hard stop
Cap total metered charges, and know why "Stop usage when budget limit is reached" is not optional.
The right scope
Choose between cost center, organization, and enterprise budgets, and why direct user assignment matters.
Sizing & scenarios
Size budgets from real usage data, and match your structure to one of five common configurations.
Duration: 5 minutes
Step 1: Set a universal user-level budget
Set the universal ULB above the per-license value, $19 USD for Copilot Business, $39 USD for Copilot Enterprise. That headroom is what lets pooling work as intended: heavier users can draw from lighter users' unused portions, instead of everyone being capped at exactly their own license value.
What the universal budget actually does
Each figure is one licensed user. The rule is the per-license value. Switch on the Step 2 layer to override the three heaviest users on top of that universal default.
$30per user / month
$0 · all blocked$40
Step 2
$46per user / month
$0 · those users blocked$57
$19per-license value
Budget cap$30Override$46
Lighter usersHeavier users
Covered by own license
From pooled headroom
Unlocked by an individual override
Unused headroom
Blocked at the cap
Per-license value ($19)
Pooling works. Heavier users reach $42 more than a $19 cap allows. Draw $214 of $228.
Review the AI usage dashboard first, then set the universal ULB to comfortably cover typical usage with headroom for pooling.
If you're starting from zero
Pick a reasonable default, then revisit
Set a universal ULB that feels reasonable, and revisit it after your first billing cycle once the dashboard has real data to tune from.
Where to set it: Setting up budgets to control spending on metered products → Creating a budget.
Duration: 5 minutes
Step 2: Identify power users, set overrides
Once a universal ULB is in place, review your AI usage dashboard to identify your heaviest consumers, developers running frequent agent sessions, or working with large codebases, who may be blocked unnecessarily if their limit is too low.
Individual override
Takes precedence over the universal default
Increase or decrease the limit for one specific user without affecting anyone else's budget.
Temporary need?
Set an expiration date
A higher limit for one sprint or one incident should expire. GitHub removes the override on that date automatically, so the user falls back to their cost center or universal budget without any manual cleanup.
To demo this, go back a slide and switch the Step 2 layer on in the budget lab. It overrides the three heaviest users on top of the universal ULB, permanently or with an expiry date.
No usage history yet? Start with a reasonable universal ULB, then come back to this step once your AI usage dashboard shows a real consumption pattern to tune individual overrides against.
Duration: 4 minutes
Step 3: Set an enterprise spending limit
The enterprise spending limit caps your total metered charges after the shared pool is exhausted. It doesn't change how users draw from the pool, it only applies once the pool runs out and usage moves to pay-as-you-go.
01Pool available
Users draw from the shared pool, governed by user-level budgets.
02Pool exhausted
Usage moves to pay-as-you-go metered charges.
03Spending limit applies
The enterprise (or cost center) spending limit now caps further metered spend.
04Limit reached
What happens next depends entirely on the next step.
Sizing this number correctly depends on how your user-level budgets add up against your license-funded pool. That calculation is covered in Sizing & common scenarios later in this workshop.
Duration: 4 minutes
Step 4: Turn spending limits into hard stops
By default, reaching a spending limit sends a notification but does not stop usage. Charges continue to accrue without a cap until someone intervenes manually.
"Stop usage when budget limit is reached"
Enable this on every spending limit you create, enterprise-level and cost center-level, to turn it from an alert into a guardrail.
Off (default)
Alert only
Usage is not blocked. The limit is a notification, not a guardrail, and metered charges keep accruing.
On
Hard stop
Metered usage is blocked once the limit is reached. This is what most enterprises actually want when they set a spending limit.
Without this enabled, your spending limits are alerts only, not guardrails. Always enable it when creating a spending limit. User-level budgets don't need this step, they always enforce a hard stop automatically.
Duration: 4 minutes
Step 5: Monitor regularly
Budgets aren't a set-and-forget control. Check your AI usage dashboard at least monthly, and read these three signals.
Users blocked early
Your universal ULB is too restrictive, or a power user needs an individual override.
Unexpected metered charges
The pool is being exhausted before the end of the cycle. Usage patterns may have changed, revisit your spending limits.
Pool lasts all month, no blocks
This is the target state. Your budgets are well-sized, keep monitoring for drift.
The basics are now in place: universal ULB, individual overrides, a spending limit, hard stops, and a monitoring habit. The remaining steps go deeper into choosing scope and sizing budgets for your enterprise's structure.
Duration: 6 minutes
Choosing the right scope
For most enterprises, we recommend cost center budgets with users directly assigned. When users are assigned directly to a cost center, charges always follow the user, so enforcement is predictable regardless of how licenses are structured.
Scope
Use when
Who can set it
Recommended Cost center budget
You want predictable organization-level spending control as an enterprise admin.
Enterprise owners, billing managers
Organization budget
Organization owners need to set their own spending limits without enterprise admin involvement.
Organization owners
Enterprise budget
You need a failsafe that caps total metered charges for all users not covered by a narrower budget.
Enterprise owners, billing managers
If users have Copilot licenses from multiple organizations, organization budgets and cost centers that only contain organizations (not users) enforce unpredictably. The billing organization is picked at random each cycle, so spend can count against a different budget month to month. Assigning users directly to cost centers avoids this.
Already on organization budgets?
Migrating to cost centers
Create cost centers and assign users directly, not just organizations.
Set cost center budgets matching your desired spending caps.
Remove the organization budgets once cost center budgets are in place.
Duration: 7 minutes
Sizing budgets & common scenarios
The most common source of unexpected blocking: user-level budgets that collectively allow more consumption than the shared pool provides. Here's how to check.
1
Calculate the maximum total your user-level budgets allow: universal ULB × users, plus cost center ULBs × their users, plus any individual overrides.
2
Calculate your pool value: (Business seats × $19) + (Enterprise seats × $39).
3
Subtract the pool value from step 1's total. That gap is the maximum metered charge your spending limits need to cover.
Your enterprise (and cost center) spending limits should, together, cover that gap. Re-run this whenever you raise a ULB, raising it without raising the spending limit can cause the limit to block users before they reach their individual budgets.
Use your data
Size from the AI usage dashboard, not guesswork
Per-user consumption: if usage concentrates in a small group, prefer individual overrides over one high universal ULB.
Model usage patterns: if premium models drive spend, a model policy may be more effective than tightening budgets.
Monthly trends: size for the steady state; use temporary overrides for a spike (a migration, an onboarding sprint), not a permanent rebaseline.
Match your structure to a configuration:
Simple starting point
Manage shared usage responsibly
Universal ULB above the per-license value
Individual overrides for known power users
Enterprise budget as a safety net, hard stop on
Multiple business units
Budget by business unit
Cost centers scoped to each organization
Included usage control per cost center
Cost center budget + enterprise failsafe, hard stop on
Departments need different caps
Differentiate per-user limits by team
Cost centers per department, users assigned directly
Cost center ULB sets each department's default
Individual overrides only for exceptions
Most granular control
Power users within business units
Universal ULB caps most users
Individual overrides for specific power users
Cost center budgets per unit + enterprise failsafe
Duration: 2 minutes
Next steps
Pick one action to do this week: set your universal ULB, or pull your AI usage dashboard and check for early-blocked users. Then go deeper with these guides.