Azure budgets cost nothing and charge nothing: a budget compares the actual or forecast cost of a scope with an amount once a day and sends emails at thresholds or triggers an action group, cost alerts gather budget, credit, quota and anomaly alerts in one list, scheduled alerts send saved cost views, and Azure Advisor computes recommendations and a score from utilisation and list prices. What makes any of them effective is not price but reach: no budget stops a resource, no alert arrives before the next daily run, and every Advisor saving is computed at retail prices.

Pricing dimensions

The table lists the mechanisms as dimensions: what each checks, in which scope it applies, what it triggers and what it cannot do. The cross-provider concept is in budgets, the threshold logic in budget alerts and thresholds.

MechanismScope and basisWhat it triggersWhat it cannot do
BudgetManagement group, subscription, resource group; EA: billing account, department, enrolment account; MCA: billing account (in USD), billing profile, invoice section, customer; reset monthly, quarterly, annually, for pay-as-you-go, MSDN and Visual Studio subscriptions also per billing month; filters such as resource group, service, meter or tag; the basis is actual cost including reservation and purchase lines, without amortisationEvaluation every 24 hours against data available after 8 to 24 hours; email normally within an hour of the evaluation; after its expiry date the budget is deletedResources stay untouched; a scope with several currencies is not evaluated; for a new subscription up to 48 hours can be missing
Thresholds on actual and forecast costAt least one threshold in percent of the budget with an email address, up to five thresholds and five addresses per budget, range 0.01 to 1,000 percent; type "Actual" or "Forecasted"A budget alert in the alert list and by email; roles as recipients and other languages only through the Budgets APIThe forecast is Microsoft's model, not your own plan
Action groupSubscription and resource group only; up to five action groups per rule; notification by email, SMS, push to the Azure app, voice call; actions: Automation runbook, Azure Functions, Event Hubs, ITSM, Logic Apps, webhook and secure webhookThe only link from a budget to an action, such as a runbook that shuts resources downNot on billing scopes; SMS, voice, push and email are rate-limited
Credit alertEA only; 90 and 100 percent of the Azure prepaymentAutomatic email to the account owners and an entry in the alert listNot configurable, no other thresholds
Department quota alertEA only; spending quota per department, at 50 or 75 percent for instanceEmail to the department ownersNo stop, no evaluation below the department
Anomaly alertSubscription scope only; daily check 36 hours after the end of the day in UTC against a forecast from the last 60 days; up to five rules per subscription; needs Cost Management ContributorOne email per detected anomaly at the time of detection, with the resource groups with the largest changes and a portal linkNot for resource groups, billing scopes or Azure Government; no second send, no action group
Scheduled alertAny saved cost view; built-in views in USD only; up to 20 recipients; daily, weekly, monthly, after invoice close or custom; end date at most a year ahead; optionally a CSV linkOne email with a chart and a link, the CSV link valid on the day of sending, the data for seven days, at most 15,000 rowsNo threshold, no comparison; not for management groups or table views
Advisor cost recommendationsPer subscription: shutting down or resizing VMs and scale sets (shutdown at P95 of maximum CPU under 3 percent, P100 of average CPU of the last three days up to 2 percent and network egress under 2 percent over seven days; look-back 7 to 90 days selectable), unattached disks, gateways without a connection, unprovisioned ExpressRoute circuits, empty App Service plans, Cosmos DB autoscale and empty containers, Log Analytics commitment tier and Basic Logs, reservations and Savings PlansOne recommendation with an estimated saving, selectable by CPU threshold per subscriptionSaving at retail prices without your own discounts; existing reservations and Savings Plans are not considered; no recommendation for resources without utilisation data
Reservation recommendationsHourly usage of the last 7, 30 and 60 days, simulation with and without a reservation, the quantity with the highest saving; considers existing reservations and Savings PlansIn Advisor only per subscription and with a three-year term where available; the whole billing scope only in the purchase dialogue under ReservationsRegularly shut-down VMs produce no recommendation; after a purchase the update takes up to three days, up to five for the shared scope
Advisor scorePer category 0 to 100 percent, the overall value as the mean; the cost value weights the retail price of the assessed resources, long-open recommendations count more, dismissed ones drop outUpdated at least once a day; after an implementation it takes at least 24 hoursSays nothing about the size of the spend; does not distinguish production from development
Purchase optionsAdvisor's reservation and Savings Plan recommendations lead into the purchaseAzure reservations, Azure Savings PlansThe purchase itself is a decision of the commitment strategy

Invoices, exports and APIs

Invoices. None of these mechanisms appears on the invoice, and none changes it. A budget reads the cost data the export carries too, in the actual cost view; whoever wants to measure only Azure consumption without purchases filters the budget on PublisherType Azure and ChargeType Usage. On an MCA, a budget at billing account level evaluates in USD, at billing profile, invoice section and customer in the billing currency; the account types are described in Azure billing accounts.

Exports. The data a budget evaluates is available after 8 to 24 hours for EA and MCA, after up to 72 hours for pay-as-you-go; the same rhythm applies to the export, whose structure Azure cost exports describes. Advisor computes its saving with the pay-as-you-go rates, that is what the export carries as PayGPrice, not with UnitPrice or EffectivePrice; whoever checks the recommendation multiplies by their own rate. The alert list in the portal shows every alert with type, date, status (active or dismissed) and scope, and a dismissed alert can be reactivated.

8 to 24 hours on EA and MCA,up to 72 on pay-as-you-goUsageThe cost data, as theexport carries itA budget evaluates it in theactual cost view, filtered toAzure usage if wantedAn alert by email, or an actiongroup that runs somethingAn Advisor recommendationIts saving at pay-as-you-go rates,the export's PayGPriceMultiplied by your own ratebefore it counts
A budget evaluates the same delayed data the export carries, and Advisor's saving is at pay-as-you-go rates until multiplied by your own

APIs. Budgets are created through the Budgets API of the Consumption interface, the Azure CLI (az consumption budget), PowerShell (without notifications) or a Resource Manager template; MCA customers are told to use the REST API. Anomaly and scheduled alerts are scheduled actions, the anomaly rule with the kind InsightAlert and the view ms:DailyAnomalyByResourceGroup; Microsoft recommends a service principal, because the email is only sent while the creator still has read rights. Reservation recommendations come from the Reservation Recommendations API of the Consumption interface, action groups are created as Microsoft.Insights/actionGroups. What the portal offers beyond that is in Azure Cost Management.

Levers

Configuration. One budget per subscription with a threshold on actual and one on forecast cost is the minimum; the forecast threshold warns before the money is spent, the actual one proves it. Only the action group turns the alert into an action, such as a runbook that stops development VMs; the guardrails for that are described in guardrails and approval thresholds. One anomaly rule per subscription catches what a monthly budget misses, namely a daily jump within the budget; the concept is in anomaly detection. A weekly scheduled alert with a saved view by resource group brings the figures to the teams without them opening the portal (report subscriptions and delivery).

yesnoA subscriptionOne budget: a threshold onforecast cost that warns beforethe money is spent, one onactual cost that proves itShould somethinghappen?An action group: a runbookthat stops development VMsAn email to the ownerOne anomaly rule beside it, forwhat a monthly budget misses;finance one budget on thebilling profile
One budget per subscription with a forecast and an actual threshold, an action group where something should happen, and an anomaly rule beside it

Purchase option. Advisor's reservation and Savings Plan recommendations are a starting point, not an order: they apply per subscription and with a three-year term, and the shared scope shows only in the purchase dialogue. After a purchase, wait three days before checking the second commitment form.

Architecture. Budgets follow the hierarchy: one budget on the billing profile for finance, one per subscription for the teams, one per resource group only where an action group is to hang. Advisor's resizing recommendations belong in the rightsizing process, those on unattached disks and empty gateways in the one for idle and orphaned resources; dismissed recommendations disappear from the score too, so tidying up pays in both directions.

Where it goes wrong

  • The budget stopped nothing. A budget only notifies; without an action group with a runbook the resource keeps running, and action groups exist only on subscription and resource group.
  • The alert came a day late. Data is available after 8 to 24 hours and evaluated every 24 hours; an anomaly is checked 36 hours after the end of the day. For reactions within hours a budget is the wrong tool.
  • The budget does not match the invoice. Pay-as-you-go subscriptions bill from the sign-up day; a calendar-month budget compares a different period. Set the reset to the billing month.
  • The MCA budget is in dollars. At billing account level Azure evaluates in USD even when the invoice comes in EUR; budgets in EUR belong on the billing profile.
  • Several currencies, no alert. A management group with subscriptions in different currencies is not evaluated, and the alert stays silent.
  • The anomaly email stays away. The creator has lost their read rights, the rule has expired, or on indirect EAs and partner MCAs the policy for showing costs is off; the sender is Microsoft's no-reply address at microsoft.com.
  • The Advisor saving is wrong. It is computed at retail prices and ignores reservations and Savings Plans; on a change of VM family the recommendation can raise costs when reservations exist for the old family.
  • Scheduled alert with the wrong currency or month. Built-in views send USD, and "after invoice close" needs a view on the previous month, otherwise only the first days of the current month arrive.

Example

A set-up example with Microsoft's documented limits, without amounts: for a production subscription a monthly budget is created with the wanted amount, reset monthly, expiry date a year ahead; the thresholds are 80 and 100 percent of actual cost and 100 percent of forecast cost, three of at most five, with a distribution list as the recipient, at most five addresses. An action group with email and webhook hangs on the budget, the development subscription gets the same structure plus a runbook that stops VMs. On both subscriptions one anomaly rule each is created, two of five possible, with Cost Management Contributor as the creator. A saved view "cost per resource group, previous month" goes weekly to up to 20 recipients with a CSV link, end date a year ahead. In Advisor the look-back for the VM recommendations is set to 30 days, which takes up to 48 hours, and the reservation recommendation is checked in the purchase dialogue with the shared scope instead of in Advisor. The example shows that the limits (five thresholds, five addresses, five anomaly rules, 20 recipients, one year of validity, a 24-hour rhythm) decide the set-up, not the budget amount.

Sources

Read on 2026-10-21. Microsoft Learn: Tutorial: create and manage budgets, monitor usage and spending with cost alerts, identify anomalies and unexpected changes in cost, save and share customized views, create and manage action groups in Azure Monitor, understand Cost Management data, understand usage details fields, optimize VM or VMSS spend by resizing or shutting down underutilized instances, cost recommendations, Azure Advisor, Advisor score, Azure reservation recommendations, EA billing administration on the Azure portal.