| title | Setting up budgets to control spending on metered products | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| intro | Prevent overspending by setting budgets and tracking when metered usage nears or exceeds a budget threshold. | ||||||||||||||||
| versions |
|
||||||||||||||||
| redirect_from |
|
||||||||||||||||
| permissions | {% data reusables.permissions.enhanced-billing-platform %} | ||||||||||||||||
| shortTitle | Set up budgets | ||||||||||||||||
| contentType | how-tos | ||||||||||||||||
| category |
|
Budgets help you track and control spending on different products. To learn more, see AUTOTITLE.
Before you create a budget, it’s important to understand how budget types and scopes interact. Usage of metered products can count toward multiple applicable budgets at the same time, and if any budget with Stop usage when budget limit is reached enabled is exhausted, additional usage is blocked.
In this example, the organization has set a budget of $50 for the "Actions" product and a budget of $100 for one of the SKUs within the "Actions" product. The organization has used all the included quota of actions minutes and an extra $50 of billed minutes. Some of the extra use was for Linux 96-core runners so it is applied to both budgets. Overall, the organization has used the full budget for the "Actions" product of $50. Members are now blocked from using all {% data variables.product.github %}-hosted runners until the next billing cycle or until the "Actions" product budget is increased. The SKU budget for Linux 96-core runners serves no purpose and is confusing, so should be deleted.
We recommend that you avoid creating overlapping budgets for the use of a product and a SKU, or an organization and a repository, so that users are not unexpectedly blocked from using a feature that they rely on. Alternatively, you may prefer to monitor use without blocking users by disabling the "Stop usage when budget limit is reached" option.
For {% data variables.product.prodname_copilot_short %} under usage-based billing, user-level budgets add another layer to consider. A user-level budget can block a user even when the enterprise or cost center budget still has capacity. It is the first check in the evaluation sequence. When planning your budget configuration, account for how user-level budgets, cost center budgets, and the enterprise spending limit interact. See AUTOTITLE.
You can set budgets and receive alerts when your usage of a product reaches 75%, 90%, or 100% of a defined budget. Budgets can be set for a specific repository or for your whole account.
{% data reusables.user-settings.access_billing_settings_url %}
-
Click Budgets and alerts.
-
To create a new budget, click New budget.
-
Under "Budget Type" select Product-level budget, SKU-level budget, or Bundled {% data variables.product.prodname_ai_credits_short %} budget.
- To limit spending at a Product-level, in "Product-level budget" choose a product from the dropdown, for example: {% data variables.product.prodname_codespaces %}.
- To limit spending at a SKU-level, in "SKU-level budget" choose a Product and then a SKU, for example: {% data variables.product.prodname_codespaces %} and {% data variables.product.prodname_codespaces %} storage.
- To limit spending on {% data variables.product.prodname_ai_credits_short %} across all features, enable "Bundled {% data variables.product.prodname_ai_credits_short %} budget" or to limit spending for a specific feature, set a SKU-level budget for the feature (such as {% data variables.product.prodname_copilot_short %} {% data variables.product.prodname_ai_credits_short %}, {% data variables.product.prodname_spark_short %} {% data variables.product.prodname_ai_credits_short %}, or {% data variables.copilot.copilot_cloud_agent %}).
-
Under "Budget scope", set the scope of spending for this budget.
-
Under "Budget", set a budget amount.
To stop any usage and further spending once the budget limit is reached, select Stop usage when budget limit is reached, if available. This option is not available for user-level budgets, which always enforce a hard stop.
[!IMPORTANT] If you do not select Stop usage when budget limit is reached, you will be notified by email if you exceed your budget, but usage will not be stopped.
-
To receive an alert if your budget has reached 75%, 90% and 100% thresholds, select Receive budget threshold alerts under "Alerts". When the budget has reached the specific threshold, you will be notified via email and a banner on {% data variables.product.github %}. You may opt out at any time. {% data reusables.billing.budget-create-button %}
To edit or delete a budget, on the "Budget and alerts" page, click Edit or Delete next to the budget you want to edit or delete. Follow the prompts.
{% data variables.product.github %} can send you email notifications when the included usage for your plan reaches 90% and 100% during a billing period. To learn more about what these alerts cover, see AUTOTITLE.
{% data reusables.user-settings.access_billing_settings_url %}
- Click Budgets and alerts.
- Under "Included usage alerts", select or clear Receive alerts when my included usage reaches 90% and 100% to opt in or out of email notifications.
Important
{% data variables.product.prodname_copilot_short %} usage is now measured in {% data variables.product.prodname_ai_credits_short %} under usage-based billing. Existing premium request budgets have been automatically converted to {% data variables.product.prodname_ai_credit_singular %} budgets. See AUTOTITLE.
You can set budgets and receive alerts when your usage of a product or license type reaches 75%, 90%, or 100% of a defined budget. For budgets that control metered use of a product, you can also block further use when the budget is exhausted. Each budget has a scope.
- Organization budget scopes: the whole organization or a single repository within the organization
- Enterprise budget scopes:
- Metered products: the whole enterprise, a single organization, a single repository, or a single cost center
- Enterprise licenses (metered): the whole enterprise or a single cost center
- {% data variables.product.prodname_ai_credits_short %} (bundled): the whole enterprise, a single organization, a single cost center, or per user
If you are an organization owner, enterprise owner, or billing manager, any account-level budget is listed at the top of the "Budgets and alerts" page, followed by budgets for smaller scopes.
{% data reusables.billing.nav-to-org-or-ent %} {% data reusables.billing.access-org-or-ent-page %}
- Click Budgets and alerts.
- Optionally, in the enterprise view only, to filter by scope, select Scope, then choose a scope.
As the owner of an enterprise or organization account, or as a billing manager, you can set a budget at the account level, or at any level below this.
-
In the "Budgets and alerts" view, click New budget.
-
Under "Budget Type" select Product-level budget, SKU-level budget, or Bundled {% data variables.product.prodname_ai_credits_short %} budget.
- Product-level budget: Limits spending on a single product (for example, {% data variables.product.prodname_codespaces %}).
- SKU-level budget: Limits spending on a specific SKU within a product (for example, {% data variables.product.prodname_GH_secret_protection %} within {% data variables.product.prodname_GHAS %}).
- Bundled {% data variables.product.prodname_ai_credits_short %} budget: Limits spending across all SKUs that consume {% data variables.product.prodname_ai_credits_short %}, including {% data variables.product.prodname_copilot_short %}, {% data variables.copilot.copilot_cloud_agent %}, and {% data variables.product.prodname_spark_short %}. Available where overage spend is enabled.
-
Under "Budget scope", set the scope of spending for this budget.
- Enterprise: Tracks spending across all organizations, repositories, and cost centers in the enterprise.
- Organization: Tracks spending for all repositories in the organization.
- Cost center: Tracks spending for a single cost center.
- Users: Sets a per-user budget. Available when you select Bundled {% data variables.product.prodname_ai_credits_short %} budget as the budget type.
- Leave the user field empty to create a universal budget that applies to all {% data variables.product.prodname_copilot_short %}-licensed users.
- Select a specific user to create an individual budget that overrides the universal default for that user.
-
Under "Budget", set a budget amount or license count.
To stop any usage and further spending once the budget limit is reached, select Stop usage when budget limit is reached or Limit usage when budget limit is reached, if available. This option is available for metered products and for {% data variables.product.prodname_AS %} SKU-level budgets. For {% data variables.product.prodname_AS %}, this option prevents new enablement on additional repositories. It doesn't disable {% data variables.product.prodname_AS %} on repositories where it is already active. See AUTOTITLE.
[!IMPORTANT] If you do not select one of these options, you will be notified by email if you exceed your budget, but usage will not be stopped.
-
To receive an alert if your budget has reached 75%, 90% and 100% thresholds, select Receive budget threshold alerts under "Alerts". When the budget has reached the specific threshold, you will be notified via email and a banner on {% data variables.product.github %}. You may opt out at any time.
Under "Alert Recipients", select the people who will receive the alerts.
{% data reusables.billing.budget-create-button %}
{% data variables.product.github %} can send email notifications when the included usage for your account reaches 90% and 100% during a billing period. To learn more about what these alerts cover, see AUTOTITLE.
- Navigate to the "Budgets and alerts" view. See Viewing budgets.
- Under "Included usage alerts", select or clear Receive alerts when my included usage reaches 90% and 100% to opt in or out of email notifications.
[!IMPORTANT] Deleting a budget may remove any limits on spending, depending on your other existing budgets.
You can edit or delete a budget at any time, but you cannot change the scope of a budget after creating it.
- Navigate to the "Budgets and alerts" view. See Viewing budgets.
- In the list of budgets, click {% octicon "kebab-horizontal" aria-label="View actions" %} next to the budget you want to edit, and click {% octicon "pencil" aria-hidden="true" aria-label="pencil" %} Edit or {% octicon "trash" aria-hidden="true" aria-label="trash" %} Delete.
- Follow the prompts.
For {% data variables.product.prodname_copilot_short %}-specific budget guidance under usage-based billing, including user-level budgets and configuration scenarios, see AUTOTITLE and AUTOTITLE.
