Data hall aisle of server racks behind a desk with a closed laptop and a calculator

Azure Cost Management: How to Set Budgets, Alerts and Exports, and What Each Discount Saves

By The Uptime Report Team · Last reviewed: October 2026

Azure cost management runs in Microsoft Cost Management, free with Azure: set budgets and alerts first, then cut rates with reservations (up to 72% off) or savings plans (up to 65%), per Microsoft’s October 2026 pricing pages.

Key takeaways

  • Budgets never stop resources on their own; Microsoft’s documented fix chains a subscription or resource group budget to an action group, a Logic App and a runbook that stops VMs at 80% and 100% (Microsoft Learn).
  • Every 3-year reservation we priced across 8 Linux size and region pairs saved 60.5% after rounding, 11.5 points under Microsoft’s “up to 72%” (Azure Retail Prices API, October 2026).
  • Reservations do not discount the Windows license: on a Windows D4s v5 it is $134.32 of the $274.48 monthly bill until Azure Hybrid Benefit removes it (Microsoft Learn).
  • From February 1, 2027, new VM reservations cannot be exchanged, and refunds stay capped at USD 50,000 per 12 months (Microsoft Learn).
  • Azure Advisor flags a VM for shutdown when P95 CPU stays under 3%, average CPU over the last 3 days peaks at 2% or less, and outbound network stays under 2% for 7 days (Microsoft Learn).
  • CSP customers see no Azure costs until their partner enables the cost visibility policy, and then only at retail rates (Microsoft Learn).
79.8%
Cut on a Windows D4s v5 bill from Hybrid Benefit plus a 3-year reservation ($274.48 to $55.36 a month)
Azure Retail Prices API, Oct 2026
39.5%
Share of hours a D4s v5 must run before a 3-year reservation beats pay-as-you-go
Azure Retail Prices API, Oct 2026
$50,000
Cap on cancelled reservation commitments per 12-month rolling window
Microsoft Learn, Oct 2026

What is Azure cost management, and what does Microsoft Cost Management include?

Azure cost management is the job of tracking, allocating and cutting Azure spend. Microsoft’s own tool for it, Microsoft Cost Management, “is available at no additional cost as part of Azure” on supported offers, per the Microsoft Cost Management product page (October 2026). It bundles cost analysis, budgets, alerts, exports and cost allocation, and Azure Advisor feeds it rightsizing and commitment recommendations.

Feature What it does Documented limit or timing Source
Cost analysis Breaks spend down by subscription, resource group, tag, meter and service Cost and usage data typically available within 8 to 24 hours Microsoft Learn, budgets tutorial
Budgets Emails when actual or forecasted cost crosses a % of budget At least 1 and up to 5 thresholds, up to 5 email addresses; thresholds from 0.01% to 1000% Microsoft Learn, budgets tutorial
Budget action groups Calls automation (email, Azure app push, Functions, webhooks) at a threshold Subscription and resource group scopes only Microsoft Learn, budgets tutorial
Anomaly alerts Flags a day whose cost falls outside a forecast built on the last 60 days Subscriptions only; runs 36 hours after the UTC day ends Microsoft Learn, anomaly detection
Scheduled alerts Emails a saved cost view daily, weekly or monthly, optionally with a CSV Recipients need no Azure portal access Microsoft Learn, Cost Management overview
Credit alerts (EA only) Warns as Azure Prepayment is consumed Fires at 90% and 100% of the credit balance Microsoft Learn, cost alerts
Exports Writes cost, price sheet and reservation datasets to Azure Storage Up to 10 exports per create flow; reruns pull up to 13 months of history Microsoft Learn, exports tutorial
Tag inheritance Copies subscription and resource group tags onto usage records Applied to the current month within 24 hours Microsoft Learn, tag inheritance
Cost allocation rules Reassigns shared costs to other subscriptions, resource groups or tags EA, MCA-E and MCA-online only; excludes reservations and savings plans Microsoft Learn, cost allocation
Azure Advisor (cost) Recommends shutting down or resizing underused VMs 7-day lookback by default, configurable to 14, 21, 30, 60 or 90 days Microsoft Learn, Advisor VM recommendations

A budget never stops a resource. Microsoft’s budget tutorial says “Resources aren’t affected, and your consumption isn’t stopped” when a threshold is crossed. The only built-in hard stop is the Azure spending limit, and Microsoft says it “isn’t available for subscriptions with commitment plans or with pay-as-you-go pricing”; it exists on free accounts (a USD 200 limit) and credit-based subscriptions such as Visual Studio.

How do you set up budgets and alerts in Microsoft Cost Management?

Open the subscription or resource group in the Azure portal, select Budgets, set an amount and reset period, then add at least one percentage threshold with an email recipient. Add a forecasted alert so the warning lands before the money is spent. Microsoft allows up to five thresholds and five recipients per budget and evaluates budgets every 24 hours, per its Create and manage budgets tutorial.

  1. Open the scope. Sign in to the Azure portal, open Subscriptions, pick the subscription and select Budgets in the menu. For a resource group: Cost Management + Billing > Subscriptions > your subscription > Resource groups > your resource group > Budgets > Add.
  2. Filter and name it. Check the scope, add filters such as a resource group or the Virtual Machines service, and type a budget name.
  3. Pick the reset period. Monthly, Quarterly or Annually follow the calendar. Pay-as-you-go, MSDN and Visual Studio subscriptions can instead use Billing month, Billing quarter or Billing year to match the invoice.
  4. Set an expiration date. The budget resets to the same amount each period and is deleted when it expires.
  5. Enter the amount. The portal suggests one from the highest forecasted cost. Quarterly and annual amounts are split evenly across the months.
  6. Add alert conditions. For each line choose Type (Actual or Forecasted), a % of budget between 0.01% and 1000%, and up to five email addresses. Add azure-noreply@microsoft.com to approved senders.
  7. Attach an action group (optional). Select Manage action group to trigger automation; this works on subscription and resource group budgets only.
  8. Add an anomaly alert. From Azure Home select Cost Management, confirm the subscription scope, then Cost alerts > + Add > Alert type: Anomaly. This needs the Cost Management Contributor role or higher, per Microsoft’s anomaly guide.

A starting alert set for one subscription

The five lines below are our suggested starting configuration, not a Microsoft default. They use all five thresholds a budget allows: one forecasted line for early warning and four actual-cost lines that escalate from the subscription owner to finance and, at 100%, to an action group. Adjust the percentages to the client’s tolerance.

Alert line Type Threshold Who receives it Microsoft rule it relies on
1 Forecasted 100% Subscription owner, MSP service desk Forecasted alerts fire when the projection exceeds the threshold
2 Actual 50% Subscription owner Thresholds accepted from 0.01% to 1000%
3 Actual 80% Owner and finance contact Up to 5 email addresses per budget
4 Actual 100% Owner, finance, action group Action groups on subscription and resource group scopes
5 Actual 120% Account manager Up to 5 thresholds per budget

How fast does each cost signal arrive?

No Cost Management signal is real time. Cost data typically lands 8 to 24 hours after the usage, budgets are evaluated every 24 hours and emails go out within an hour of an evaluation. Stacked, spend at hour 0 can be visible by hour 24, caught by the next evaluation by hour 48 and emailed by hour 49 (our arithmetic on the budgets tutorial).

Worst case: how long a budget takes to react to spendOur arithmetic on Microsoft’s documented windows (budgets tutorial, accessed October 2026)data lands 8 to 24 h0 h12 h24 h36 h48 hHour 0Spend is incurredHour 24Cost data visible (8 to 24 h)Hour 48action group is calledHour 49Alert email sent (within 1 h)
Worst case, a budget reacts to spend up to 48 hours later and emails within 1 more hour: our arithmetic on Microsoft’s documented 8 to 24 hour data lag, 24-hour evaluation and 1-hour email windows. Source: Microsoft Learn budgets tutorial, accessed October 2026.
Signal Measured from Documented delay Source
Budget email A budget evaluation Within 1 hour Microsoft Learn, budgets tutorial
Export data The export run start Within 4 hours (the whole export process can take up to 24 hours) Microsoft Learn, exports tutorial
Cost and usage data in cost analysis The usage 8 to 24 hours Microsoft Learn, budgets tutorial
Budget evaluation Interval between evaluations Every 24 hours Microsoft Learn, budgets tutorial
Inherited tags on current-month usage Enabling tag inheritance Within 24 hours Microsoft Learn, tag inheritance
Anomaly detection run The end of the UTC day 36 hours Microsoft Learn, anomaly detection
All Cost Management features Creation of a new subscription Up to 48 hours Microsoft Learn, budgets tutorial
Invoice finalization The end of the billing period Starts after 72 hours Microsoft Learn, Cost Management overview

Microsoft’s own pages disagree on budgets for a new subscription. The Cost Management data page says “at subscription creation time you can immediately configure a budget”, while the budgets tutorial says a new subscription “can’t immediately create a budget” and may need up to 48 hours. Create each landing subscription at least two days before cutover so its budget is in place either way, and add that step to the wave plan in your public cloud migration runbook.

How do you allocate Azure costs with tags?

Turn on tag inheritance so subscription and resource group tags are stamped onto every child resource’s usage records, then group cost analysis by tag. Microsoft applies inherited tags to the current month within 24 hours, and the setting works on Enterprise Agreement (EA), Microsoft Customer Agreement (MCA) and Microsoft Partner Agreement (MPA) Azure plan accounts, per its tag inheritance guide.

  1. Open Cost Management (not Cost Management + Billing) at an EA billing account, MCA billing profile or subscription scope.
  2. Under Settings (Configuration, Manage billing profile or Manage subscription), edit Tag inheritance and turn on automatic application of subscription and resource group tags.
  3. Pick the winner on a clash: resource tags by default, or the inherited tag if your tagging lives at subscription level.

Inherited tags are written to usage records, not to the resources, so an Azure Policy rule that audits untagged resources still flags them. Shared costs such as a hub network need cost allocation rules (Settings > Configuration > Cost allocation), which split cost by fixed whole-number percentages or in proportion to compute, storage, network or total cost. The invoice itself does not change.

For MSPs the catch is scope: Microsoft lists cost allocation rules for EA, MCA-E and MCA-online customers only, and they exclude reservations and savings plans. A CSP customer on an Azure plan gets tag inheritance but not allocation rules, so chargeback for those tenants runs on tags exported into your own reporting.

How do you export Azure cost data on a schedule?

Create a Cost Management export that writes cost files to an Azure Storage account daily or monthly, as CSV (optionally Gzip) or Parquet (optionally Snappy). Microsoft says data should land within 4 hours of a run starting (the whole process can take up to 24 hours), and an existing export can be rerun for up to 13 months of history in one-month chunks, per the exports tutorial.

  1. In Cost Management pick a billing scope, then Exports > + Create and a template.
  2. Add datasets (up to 10 per flow): cost and usage details in FOCUS format, which combines actual and amortized cost, plus price sheet or reservation data if you resell commitments.
  3. Point it at a blob or file storage account and choose the format; partitioning is always on and schedules run in UTC.

Partners exporting from the partner billing account or a customer tenant need an active subscription in the CSP tenant, and storage firewalls work only in the same tenant, not for cross-tenant exports (Microsoft Learn, exports tutorial). For CSP clients, export monthly to a storage account the client owns: Microsoft says cost history stays with the old billing account when a client moves to a new partner, and those files are what your PSA or billing tool, the kind compared in our MSP software guide, needs for chargeback.

Which Azure discounts save the most, by Microsoft’s own numbers?

Spot Virtual Machines carry the highest stated discount, up to 90%, followed by Azure Hybrid Benefit stacked with reservations (up to 80% for Windows Server, up to 85% for SQL Server), Azure Reservations alone (up to 72%) and Azure savings plan for compute (up to 65%). Where Microsoft footnotes a maximum, it rests on one specific resource, usually a single VM in East US, per its pricing pages as of October 2026.

Mechanism Microsoft’s stated maximum What the maximum is based on Commitment or catch Source
Azure Reservations (VMs) Up to 72% (range 36% to 72%) One M64ls VM, SUSE Linux, East US, 3-year term, January 2026 prices 1 or 3 years for one size family and region; Windows license not covered Azure Reserved VM Instances page
Azure savings plan for compute Up to 65% (range 11% to 65%) One M64dsv2 VM, Ubuntu, East US, 3-year term, January 2026 prices Fixed $/hour for 1 or 3 years; unused commitment for an hour expires Azure savings plan page
Azure savings plan for databases Up to 35% (range 0% to 35%) One Azure SQL Database serverless, 1-year term, March 2026 prices Fixed $/hour for database services Azure savings plan page
Azure Hybrid Benefit, Windows Server Up to 80% with Reserved VM Instances Combined with a reservation, versus pay-as-you-go Software Assurance or subscription licenses; minimum 8 core licenses per VM Azure Hybrid Benefit page
Azure Hybrid Benefit, SQL Server Up to 85% Versus the pay-as-you-go rate Enterprise or Standard core licenses with active Software Assurance or qualifying subscriptions Azure Hybrid Benefit page
Azure Hybrid Benefit, Linux (RHEL, SLES) Up to 76% One D2s v3 VM, East US, 3-year reservation, October 2022 prices Active Red Hat or SUSE subscriptions Azure Hybrid Benefit page
Spot Virtual Machines Up to 90% Varies with region, VM type and spare capacity Eviction with up to 30 seconds’ notice (best effort); no SLA Azure Spot VMs page; Microsoft Learn
Azure Dev/Test pricing Windows VMs billed at Linux rates; SQL Database up to 55% “Up to 57 percent for a typical web app dev/test environment” Visual Studio subscribers; not on monthly (cloud) subscriptions Azure Dev/Test pricing page

Two fine-print rules change the math. Reservation discounts “apply only to the infrastructure costs and not to the software costs”, so a Windows VM without Hybrid Benefit still pays its Windows meter (Microsoft Learn). Savings plan for compute likewise “doesn’t cover software, networking, or storage charges” (Microsoft Learn, savings plan overview).

Reservation or savings plan: what order does Microsoft recommend?

Microsoft’s decision guide says reservations give the greatest savings for stable workloads that will not change instance family or region, and savings plans suit workloads that move between families, services or regions. It recommends a five-step order that removes waste before any commitment is bought:

  1. Right-size first: “Discounts reduce rates, not waste.”
  2. Exchange underutilized reservations into better-fitting ones.
  3. Trade in underutilized reservations for savings plans when usage is variable.
  4. Buy new reservations only for stable, well-understood workloads.
  5. Add savings plans last, sized to a clean, optimized baseline.

Exchange rules tighten soon. From February 1, 2027, new reservations for services that savings plans support, including Azure Virtual Machines, are not exchangeable; reservations bought before that date keep one final exchange. Refunds stay capped at USD 50,000 of cancelled commitment in a 12-month rolling window per billing profile or enrollment, and Microsoft charges no early termination fee for now (Microsoft Learn, exchanges and refunds).

What does one D4s v5 VM cost under each discount?

A Standard_D4s_v5 Linux VM (4 vCPUs, 16 GiB of memory) in East US lists at $0.192 an hour pay-as-you-go, or $140.16 a month at 730 hours. A 3-year reservation, $1,993 for the term, brings that to $55.36 a month, 60.5% less; a 1-year reservation at $1,038 saves 38.3%. All prices come from the Azure Retail Prices API on October 20, 2026.

Method: we queried the free, unauthenticated Retail Prices API with api-version 2023-01-01-preview, the only version that returns savings plan rates. Reservation rows carry the total price for the term even though their unitOfMeasure field reads “1 Hour”, so we divided by 12 or 36 months. A month is 730 hours (8,760 hours in a 365-day year divided by 12). Spot prices move with capacity; the $0.040531 rate is a snapshot.

Option Price in the API Per month Per year Saving per year vs pay-as-you-go Saving
Pay-as-you-go $0.192 per hour $140.16 $1,681.92 $0 0%
Savings plan, 1 year $0.1316736 per hour $96.12 $1,153.46 $528.46 31.4%
Reservation, 1 year $1,038 per term $86.50 $1,038.00 $643.92 38.3%
Savings plan, 3 years $0.0883584 per hour $64.50 $774.02 $907.90 54.0%
Reservation, 3 years $1,993 per term $55.36 $664.33 $1,017.59 60.5%
Spot (evictable, snapshot) $0.040531 per hour $29.59 $355.05 $1,326.87 78.9%

A commitment is paid whether the VM runs or not, so the real question is how many hours it runs. Pay-as-you-go cost rises with every hour; a 1-year reservation wins above 61.7% of the year’s hours ($1,038 divided by $1,681.92), a 3-year reservation above 39.5%, a 1-year savings plan above 68.6% and a 3-year savings plan above 46.0%, assuming no other usage absorbs the savings plan commitment (our arithmetic on the API prices).

Share of hours the VM runs Pay-as-you-go per year Cheapest option at that share
25% $420.48 Pay-as-you-go (below every break-even)
50% $840.96 3-year reservation ($664.33); a 3-year savings plan ($774.02) also beats pay-as-you-go
75% $1,261.44 Any commitment; 3-year reservation lowest at $664.33
100% $1,681.92 3-year reservation at $664.33
When a commitment beats pay-as-you-go: Standard_D4s_v5 Linux, East USAnnual cost by share of the year’s hours the VM runs. Azure Retail Prices API list prices, October 2026$0$300$600$900$1,200$1,500$1,8000%25%50%75%100%Share of hours the VM runs in a yearPay-as-you-go $1,681.9268.6%Savings plan, 1 year $1,153.4661.7%Reservation, 1 year $1,038.0046.0%Savings plan, 3 years $774.0239.5%Reservation, 3 years $664.33
A Standard_D4s_v5 Linux VM in East US must run more than 39.5% of the year’s hours before a 3-year reservation beats pay-as-you-go, and more than 61.7% for a 1-year reservation. Source: Azure Retail Prices API list prices, October 2026.

The Windows version: why Hybrid Benefit matters more than the term

The same VM running Windows lists at $0.376 an hour, $274.48 a month. Of that, $0.184 an hour ($134.32 a month) is the Windows license, which no reservation discounts. Azure Hybrid Benefit removes it, and Hybrid Benefit plus a 3-year reservation brings the bill to $55.36, 79.8% less, close to Microsoft’s “up to 80%” claim on the Hybrid Benefit page.

Option Compute per month Windows license per month Total per month Saving vs Windows pay-as-you-go
Windows pay-as-you-go $140.16 $134.32 $274.48 0%
3-year reservation, no Hybrid Benefit $55.36 $134.32 $189.68 30.9%
Hybrid Benefit, pay-as-you-go compute $140.16 $0 $140.16 48.9%
Hybrid Benefit + 1-year reservation $86.50 $0 $86.50 68.5%
Hybrid Benefit + 3-year reservation $55.36 $0 $55.36 79.8%
Dev/Test subscription (Windows at Linux rate) $140.16 $0 $140.16 48.9%

Hybrid Benefit has its own floor: Microsoft requires a minimum of 8 Windows Server core licenses per VM, so this 4-vCPU D4s v5 still consumes 8 (Microsoft Learn, Azure Hybrid Benefit for Windows Server). Switching an existing VM’s license type only changes a metadata flag and does not restart it. The Windows VM pricing page puts it plainly: “Azure covers the cost of the OS, while you pay for just the VM compute costs.” The benefit lasts only for the Software Assurance or subscription license term; when that lapses Microsoft says you must renew, disable the benefit or deprovision, so track renewal dates beside the support dates in our Windows Server end of life tracker.

Do other VM sizes and regions get closer to Microsoft’s headline discounts?

No. Across 6 Linux sizes in East US and West Europe, every 3-year reservation the API prices saved 60.5% after rounding (60.48% to 60.51%), 11.5 points under Microsoft’s “up to 72%”, and 3-year savings plans saved 45.0% to 56.2% against “up to 65%”. West Europe D-series savings plans saved 9 points less than East US, per the Retail Prices API on October 26, 2026.

VM size (Linux) Region Pay-as-you-go per hour 1-year reservation 3-year reservation 3-year savings plan Points below 65%
D2s v5 East US $0.096 38.3% 60.5% 54.0% 11.0
D4s v5 East US $0.192 38.3% 60.5% 54.0% 11.0
D4as v5 East US $0.172 38.3% 60.5% 54.1% 10.9
E4s v5 East US $0.252 41.0% 60.5% 52.7% 12.3
F4s v2 East US $0.169 No API price No API price 56.2% 8.8
B2s East US $0.0416 No API price No API price 54.9% 10.1
D2s v5 West Europe $0.115 38.3% 60.5% 45.0% 20.0
D4s v5 West Europe $0.23 38.3% 60.5% 45.0% 20.0
D4as v5 West Europe $0.208 38.3% 60.5% 45.0% 20.0
E4s v5 West Europe $0.304 38.3% 60.5% 52.7% 12.3
F4s v2 West Europe $0.194 No API price No API price 48.2% 16.8
B2s West Europe $0.048 No API price No API price 45.0% 20.0
Real 3-year discounts vs Microsoft’s headline, 6 Linux VM sizes in 2 regionsPercent saved vs pay-as-you-go. Azure Retail Prices API list prices, October 26, 20263-year reservation3-year savings planRows with one dot: the API lists no reservation price for that size40%45%50%55%60%65%70%75%Microsoft max 72%Microsoft max 65%D2s v5, East USD4s v5, East USD4as v5, East USE4s v5, East USF4s v2, East USB2s, East USD2s v5, West EuropeD4s v5, West EuropeD4as v5, West EuropeE4s v5, West EuropeF4s v2, West EuropeB2s, West Europe
Every 3-year reservation priced saved 60.5%, 11.5 points under Microsoft’s 72%; 3-year savings plans saved 45.0% to 56.2% against Microsoft’s 65%. Source: Azure Retail Prices API, October 26, 2026.

For a client quote, that means modelling 60.5% for a 3-year reservation and 45% to 56% for a 3-year savings plan on general-purpose Linux sizes, not Microsoft’s maximums. West Europe also lists the D4s v5 at $0.23 an hour, 19.8% above East US, so a region move can outweigh the commitment choice.

What do Azure Advisor cost recommendations check?

Azure Advisor flags a VM for shutdown when the P95 of maximum CPU stays under 3%, the P100 of average CPU over the last 3 days is 2% or less, and outbound network stays under 2% across 7 days. It recommends a smaller SKU only when the new size keeps utilization under set ceilings, per Microsoft’s Advisor VM recommendation rules.

Advisor rule Threshold Lookback Source
Shut down: CPU P95 of max CPU under 3%, and P100 of average CPU over the last 3 days at or under 2% 7 days by default Microsoft Learn
Shut down: network Outbound network under 2% 7 days Microsoft Learn
Resize, user-facing workload P95 CPU and outbound network at or under 40%; P99 memory at or under 60% on the new SKU 7 days by default Microsoft Learn
Resize, non user-facing workload P95 CPU and outbound network at or under 80%; P99 memory at or under 80% on the new SKU 7 days by default Microsoft Learn
Lookback options 7, 14, 21, 30, 60 or 90 days; changes take up to 48 hours Configurable Microsoft Learn
Reservation purchase recommendations Based on the last 30 days of usage 30 days Azure Reserved VM Instances FAQ

Treat the dollar figure on a resize recommendation as a ceiling. Microsoft says the recommendations “don’t take into account the presence of Reserved Instances (RI) / Savings plan purchases”, so listed savings can exceed what is possible, and a cross-series resize can raise cost if the old size was reserved. Check reservation coverage before acting, and match it to the downtime rules in the client’s uptime commitments.

How do MSPs run Azure cost management for CSP customers?

For Cloud Solution Provider (CSP) partners, Microsoft Cost Management works only for subscriptions moved to the Azure plan under a Microsoft Customer Agreement. Admin agents and billing admins see invoiced costs in the partner tenant; customers see nothing until the partner enables the cost visibility policy, and then they see pay-as-you-go retail rates, per Microsoft’s Cost Management for partners guide.

View Who can use it Prices shown Budgets Source
Partner billing account scope Admin agent, billing admin Pretax invoiced cost across all customers, in USD Set in USD Microsoft Learn
Billing profile scope Admin agent, billing admin Pretax cost in billing currency; filter by InvoiceID Set in billing currency Microsoft Learn
Customer scope (partner tenant) Admin agent, billing admin One MCA customer’s pretax cost Set in billing currency Microsoft Learn
Customer tenant, policy on Any user with Azure RBAC on the subscription Retail pay-as-you-go; reservation usage shows zero; no partner discounts or credits Subscription and resource group Microsoft Learn
Customer tenant, policy off (default) Customer and reseller users (partner admin agents keep access) No Cost Management data for customer users None for customer users Microsoft Learn
  1. Sign in to the partner tenant, open Cost Management + Billing and select the billing scope.
  2. Select Customers and pick the customer (the list does not appear if you are signed in to the customer tenant).
  3. Set the cost visibility policy for Azure usage charges to Yes. Admin agents can set it for many customers through the Update Customer API.

What keeps partner earned credit switched on?

Partner earned credit (PEC) depends on access, not on the invoice. Microsoft requires an active Microsoft AI Cloud Partner Program agreement and an eligible Azure RBAC role on the customer’s resources, set up through admin on behalf of (AOBO), Azure Lighthouse or named accounts, and it calculates PEC daily. Microsoft’s own example shows a 15% PEC turning a USD 10 unit price into USD 8.5 (Partner Center, how PEC is calculated).

Customers can remove that access at any time, and Microsoft says partners who “coerce customers to assign them appropriate access for the sole purpose of earning partner earned credit” risk losing eligibility (Partner Center, PEC overview). AOBO is also not recreated automatically after a subscription transfer. Month-end check: in the partner tenant’s cost analysis, group by PartnerEarnedCreditApplied, list each customer showing False, and compare that subscription’s Access control (IAM) assignments against your eligible role.

What should a managed Azure agreement spell out?

Write down five things the Microsoft documents leave to the partner and client: who holds access, who owns commitments, which rate the client is quoted, what automation may stop, and where cost history lives. Each line below maps to a Microsoft rule that bites when the contract is silent.

  • Access: the partner identity and RBAC role on each subscription, since PEC is recalculated daily from that access.
  • Commitments: who pays for a reservation bought on the customer’s scope. Refunds are capped at USD 50,000 per 12 months per Microsoft Partner Agreement customer, and VM reservations bought after February 1, 2027 cannot be exchanged, so a 3-year term can outlive a 1-year contract (Microsoft Learn).
  • Rates: whether quotes follow the retail pay-as-you-go view the client sees in the portal or your invoice price, as set out in your managed IT services pricing.
  • Auto-stop authority: which resource groups a budget runbook may stop, and at which threshold.
  • Data: a monthly export to client-owned storage, because cost history does not follow a client to a new partner.

Which Azure cost lever should you pull first?

Remove idle resources first, then move interruptible work to Spot, apply Hybrid Benefit and Dev/Test pricing, and only then buy commitments. For a D4s v5 in East US, a 1-year reservation needs the VM running more than 61.7% of hours to beat pay-as-you-go, and a 3-year reservation more than 39.5%, based on Retail Prices API list prices for October 2026.

If your situation is Do this Threshold behind it Source
VM P95 CPU under 3% and outbound network under 2% over 7 days Shut down or delete; no discount fixes idle spend Advisor shutdown rule Microsoft Learn
Workload survives eviction with up to 30 seconds of notice (batch, CI, rendering) Run it on Spot VMs Up to 90% off; no SLA Microsoft Learn, Spot VMs
Windows Server or SQL Server licenses with active Software Assurance Turn on Azure Hybrid Benefit before any commitment License is $0.184 of the $0.376 hourly Windows rate on D4s v5 Retail Prices API
Non-production work and users with Visual Studio subscriptions Use a Dev/Test subscription Windows VMs billed at Linux rates Azure Dev/Test pricing
Same size and region for a year, running more than 61.7% of hours (round to 62%) Buy a 1-year reservation $1,038 vs $1,681.92 pay-as-you-go per year Retail Prices API
Same size and region for 3 years, running more than 39.5% of hours (round to 40%) Buy a 3-year reservation; exchanges end for new VM reservations on February 1, 2027 $1,993 vs $5,045.76 pay-as-you-go over 36 months Microsoft Learn
Steady hourly spend, but VM families or regions change Buy a savings plan sized to the lowest steady hourly spend Unused hourly commitment expires Microsoft Learn
You need spend to stop at a cap Wire a budget to an action group and a stop-VM runbook (recipe below); budgets alone stop nothing Spending limit exists only on credit-based subscriptions Microsoft Learn
Which Azure cost lever to pull firstAnswer top to bottom. Thresholds from Microsoft Learn and our D4s v5 East US arithmetic, October 2026Advisor: P95 CPU under 3% and outboundnetwork under 2% over 7 days?Shut down or delete the VMYesNoCan the workload survive evictionwith up to 30 seconds of notice?Spot VM (Microsoft: up to 90% off)YesNoWindows Server or SQL Server licenseswith active Software Assurance?Turn on Azure Hybrid Benefit,then continue downYesNoNon-production, and the users holdVisual Studio subscriptions?Dev/Test pricing: Windows VMsbilled at Linux ratesYesNoSame VM size and region for a year,running over 62% of hours?Reservation: 1 year above 62% of hours,3 years above 40% for 36 monthsYesNoSteady hourly spend, but VM familiesor regions keep changing?Savings plan sized to thelowest steady hourly spendYesNoStay on pay-as-you-go; keep budgets and alerts on
Idle resources first, commitments last: Microsoft’s right-size-first order applied to one D4s v5 VM. Sources: Microsoft Learn and Azure Retail Prices API, October 2026.

How do you make an Azure budget actually stop VMs?

Chain four pieces: a budget, an Azure Monitor action group, a Logic App that reads which threshold fired, and an Azure Automation runbook that stops VMs. Microsoft’s budget scenario stops VMs in a noncritical resource group at 80% of a monthly budget and every VM at 100%. It reacts only after the up-to-48-hour lag shown earlier.

  1. Automation account and runbook. Create an Azure Automation account with a managed identity (Run As accounts “retired on 30 September 2023”, per Microsoft Learn) and give that identity at least the Virtual Machine Contributor role on the target scope. Import the Stop Azure V2 VMs runbook from the Runbook gallery, now served from Microsoft’s Azure Automation GitHub organization; its README says it signs in with the system-assigned identity.
  2. Two webhooks. Create webhook “Optional” with the noncritical resource group as its parameter and webhook “Complete” with none. Copy both URLs at creation: Microsoft says they cannot be viewed again.
  3. Logic App. Trigger: When an HTTP request is received. Parse JSON on the budget payload, then branch on NotificationThresholdAmount: at least 0.8 and below 1 posts to Optional; 1 or more posts to Complete. Add an email action to each branch. With a single threshold, Microsoft says you can call the runbook straight from the action group and skip the Logic App.
  4. Action group. Monitor > Alerts > Manage actions > add an action group with a Logic App action pointing at step 3.
  5. Budget. Create the budget at subscription or resource group scope (action groups work nowhere else), add actual-cost thresholds at 80% and 100%, attach the action group, and filter to Publisher Type: Azure and Charge Type: Usage so a reservation purchase cannot trip it (budgets tutorial).
Making a budget stop VMs: the pattern in Microsoft’s budget scenarioMicrosoft Learn, Manage costs with budgets, accessed October 20261. BudgetSubscription or resourcegroup scope only.Actual cost thresholds80% and 100%2. Action groupAzure MonitorLogic App actioncalled when athreshold is met3. Logic AppParse JSON payload;read NotificationThresholdAmount (0.8 or 1)4a. Webhook Optional0.8 up to below 1:stop VMs in Optional RG4b. Webhook Complete1 or more:stop all remaining VMsLimits to plan for:Action groups work only on subscription and resource group budgets; budgets are evaluated every 24 hours.The runbook stops VMs only. Deallocated VMs stop compute billing; disks and networking keep charging.Run As accounts retired on 30 September 2023: give the Automation account a managed identity instead.Filter the budget to Publisher Type: Azure and Charge Type: Usage so a reservation purchase cannot trip it.
Microsoft’s budget scenario stops noncritical VMs at 80% of budget and all VMs at 100%, through an action group, a Logic App and an Automation runbook. Source: Microsoft Learn, Manage costs with budgets, accessed October 2026.

Check that the runbook deallocates. Microsoft’s Stop-AzVM reference says the -StayProvisioned switch “stops a virtual machine, but does not deallocate it. The account is charged for the stopped virtual machine.” Even deallocated VMs keep paying for disks and networking (Microsoft Learn, VM states and billing), and the recipe touches VMs only, so App Service plans and databases keep billing.

How we compiled this

We compiled this from 36 primary Microsoft sources: 26 Microsoft Learn and 2 Partner Center articles, 7 Azure pricing and product pages and Microsoft’s Stop Azure V2 VMs runbook README, plus Azure Retail Prices API queries for 6 Linux VM sizes in East US and West Europe, all accessed October 20 to 26, 2026. Prices are Microsoft list prices in USD; monthly, annual and break-even figures are our arithmetic at 730 hours a month. We did not test any tool or customer tenant, and negotiated EA, MCA and CSP prices will differ.

Frequently asked questions

How do I enable Azure Cost Management?

The switch sits in a different place for each agreement. On an MCA, a Billing Profile Owner sets Billing profiles > Policies > Azure charges to Yes. On an EA, an Enterprise Administrator turns on “Account owners can view charges” (and the department equivalent). Then assign Cost Management Reader at subscription or resource group scope (Microsoft Learn). CSP customers need their partner to enable the cost visibility policy.

Why can’t I see my costs in Azure Cost Management?

Check four things. A new subscription can take up to 48 hours before all features work; classic CSP subscriptions and offers such as Azure for Students and Microsoft Azure Sponsorship aren’t supported; summarized data covers only the last 13 months; and costs from before an offer change disappear (Microsoft Learn, Cost Management data). On an EA, the view-charges setting must also be on.

Does Azure Cost Management include Microsoft 365 charges?

Partly, and only for specific offers. Microsoft says Cost Management “includes costs associated with New Commerce products like Microsoft 365 and Dynamics 365 that are invoiced along with Azure” (Microsoft Learn). Support costs are excluded, costs are estimates until invoiced and ignore credits, and MOSA (web direct) accounts exclude Marketplace and reservation purchases, showing only usage.

Can I connect Azure Cost Management to Power BI?

Yes, if you have a direct MCA or an EA. The Microsoft Cost Management connector for Power BI Desktop needs Enterprise Administrator (read-only) on an EA, or Contributor on an MCA billing account or profile, and handles up to an estimated USD 5 million of raw cost details (Microsoft Learn). Other agreements, including CSP, should load scheduled exports into Power BI instead.

What is the difference between Azure Cost Management and Azure Advisor?

Microsoft Cost Management reports and controls spend: cost analysis, budgets, alerts, exports and allocation. Azure Advisor recommends changes, such as shutting down a VM whose P95 CPU stays under 3% for 7 days (Microsoft Learn), and Microsoft’s reservation recommendations use your last 30 days of usage (Azure Reserved VM Instances FAQ). Microsoft pulls Advisor cost recommendations into Cost Management and updates them daily.

Is Azure Cost Management free?

Yes for supported offers. Microsoft says Microsoft Cost Management “is available at no additional cost as part of Azure” on paid subscriptions and free trials (Microsoft, October 2026). You pay only for what you build around it, such as the storage account that receives exports or the Logic App and Automation runbook a budget triggers.

Sources

  1. Microsoft, Microsoft Cost Management product page. Accessed October 2026.
  2. Microsoft Learn, What is Microsoft Cost Management. Accessed October 2026.
  3. Microsoft Learn, Tutorial: Create and manage budgets. Accessed October 2026.
  4. Microsoft Learn, Use cost alerts to monitor usage and spending. Accessed October 2026.
  5. Microsoft Learn, Identify anomalies and unexpected changes in cost. Accessed October 2026.
  6. Microsoft Learn, Group and allocate costs using tag inheritance. Accessed October 2026.
  7. Microsoft Learn, Create and manage Azure cost allocation rules. Accessed October 2026.
  8. Microsoft Learn, Tutorial: Create and manage Cost Management exports. Accessed October 2026.
  9. Microsoft Learn, Azure Advisor: resize or shut down underutilized VMs. Accessed October 2026.
  10. Microsoft Learn, Get started with Cost Management for partners. Accessed October 2026.
  11. Microsoft Learn, Decide between a savings plan and a reservation. Accessed October 2026.
  12. Microsoft Learn, What are Azure savings plans for compute. Accessed October 2026.
  13. Microsoft Learn, Self-service exchanges and refunds for Azure Reservations. Accessed October 2026.
  14. Microsoft Learn, Software costs not included with Azure Reserved VM Instances. Accessed October 2026.
  15. Microsoft Learn, Use Azure Spot Virtual Machines. Accessed October 2026.
  16. Microsoft Learn, Azure Hybrid Benefit for Windows Server. Accessed October 2026.
  17. Microsoft Learn, Azure spending limit. Accessed October 2026.
  18. Microsoft Learn, Azure Retail Prices REST API overview. Accessed October 2026.
  19. Microsoft, Azure Retail Prices API query: Standard_D4s_v5, eastus. Accessed October 2026.
  20. Microsoft, Azure Reserved Virtual Machine Instances pricing page. Accessed October 2026.
  21. Microsoft, Azure savings plan for compute pricing page. Accessed October 2026.
  22. Microsoft, Azure Hybrid Benefit offer page. Accessed October 2026.
  23. Microsoft, Azure Spot Virtual Machines product page. Accessed October 2026.
  24. Microsoft, Azure Dev/Test pricing page. Accessed October 2026.
  25. Microsoft, Windows Virtual Machines pricing page. Accessed October 2026.
  26. Microsoft Learn, Dsv5 sizes series. Accessed October 2026.
  27. Microsoft Learn, Manage costs with budgets (budget scenario). Accessed October 2026.
  28. Microsoft Learn, Assign access to Cost Management data. Accessed October 2026.
  29. Microsoft Learn, Understand Cost Management data. Accessed October 2026.
  30. Microsoft Learn, Create visuals with the Cost Management connector in Power BI Desktop. Accessed October 2026.
  31. Microsoft Learn, Migrate from Run As accounts to managed identities. Accessed October 2026.
  32. Microsoft Learn, Stop-AzVM (Az.Compute) reference. Accessed October 2026.
  33. Microsoft Learn, States and billing status of Azure Virtual Machines. Accessed October 2026.
  34. Microsoft Partner Center, Partner earned credit overview. Accessed October 2026.
  35. Microsoft Partner Center, How partner earned credit is calculated. Accessed October 2026.
  36. Microsoft, Azure Retail Prices API (6 VM sizes, eastus and westeurope). Accessed October 2026.
  37. Microsoft Learn, Use existing runbooks and modules (Runbook gallery). Accessed October 2026.
  38. Microsoft Azure Automation on GitHub, Stop Azure V2 VMs runbook README. Accessed October 2026.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *