An Azure savings plan is a commitment to spend a fixed amount every hour on eligible services for one or three years; in return Azure bills usage in the plan's scope at savings plan prices instead of pay-as-you-go, up to the size of that commitment. Microsoft offers two variants, the savings plan for compute this page covers and a savings plan for databases. The commitment is charged every hour whether usage occurs or not, and an hour not filled is lost. For the bill, savings plans lower the price of compute load that moves between services and regions, and their value rests on usage filling the commitment in every hour.

How it works

You buy an hourly commitment for one or three years, paid up front or in 12 or 36 equal monthly instalments at the same total. In the purchase dialogue the field is called "Hourly commitment in USD". Savings plan prices are set in US dollars for Microsoft Customer Agreement and Microsoft Partner Agreement customers and in local currency under an Enterprise Agreement; billing is always in the local invoice currency. Under a Microsoft Customer Agreement paid in another currency, monthly amounts therefore move with that month's exchange rate (invoice currency and exchange rates). Only Enterprise Agreement, Microsoft Customer Agreement and Microsoft Partner Agreement customers can buy, and only their subscriptions receive the discount.

The savings plan for compute applies to the infrastructure cost of Azure Virtual Machines, Azure App Service, the Azure Functions premium plan, Azure Container Instances, Azure Dedicated Host, Azure Container Apps and Azure Spring Apps for Enterprise, and to infrastructure of other services running on eligible compute. It does not cover software, networking or storage. The savings plan for databases, by contrast, covers infrastructure and software IP cost of services such as SQL Database, SQL Managed Instance, Azure Database for PostgreSQL and MySQL, and Cosmos DB; reserved capacity for databases and managed services deals with those services. Discounts vary by product and term, not by the size of the commitment.

Order of application

Every hour Azure applies the plan to eligible usage in scope, starting with the product that gets the largest discount against pay-as-you-go. The savings plan price times the quantity is deducted from the hourly commitment until it is used up; the rest pays pay-as-you-go. Matching Azure reservations apply before any plan, because they are narrower and usually carry deeper discounts. With several plans, three-year plans go before one-year plans and narrower scopes before wider ones. Where an Azure Consumption Discount price is lower than the savings plan price, Azure uses the lower one and deducts it from the commitment.

Two features set the plan apart from reservations. First, Azure includes usage reported up to 48 hours after an hour when applying the benefit for that hour; within that window charges can change and utilisation can briefly exceed 100%. Second, price changes take effect on the first day of a month for every active plan, whenever it was bought.

Scope and end of term

As with reservations there are four scopes, processed in this order: resource group, subscription, management group (its subscriptions in the same enrolment or billing profile as the purchasing subscription) and shared, meaning every subscription in the enrolment or billing profile across all Microsoft Entra tenants. The scope can be changed after purchase without touching the term.

All purchases are final: a savings plan can be neither cancelled nor exchanged, not even for a reservation. Conversely, reservations for Virtual Machines, Dedicated Hosts and App Service can be traded in for a compute plan, and database reservations for a database plan, up to 100 reservations per purchase. As read on 2026-10-16, the trade-in page repeats that reservations bought from 2027-02-01 can no longer be exchanged where savings plans cover the service; Microsoft states that trade-in itself is unchanged. Automatic renewal is off by default, and pay-as-you-go applies after the term ends. Exchange, cancellation and expiry has the details, and cloud commitment discounts compared by type the choice between plan and reservation.

What it means for your cost

Cost Management delivers savings plans for Enterprise Agreement and Microsoft Customer Agreement customers in two datasets:

LineActual costAmortized cost
PurchaseChargeType = Purchase, PricingModel = SavingsPlannot included
Covered usageChargeType = Usage, PricingModel = SavingsPlan, EffectivePrice = 0EffectivePrice = prorated cost of the plan
Unused commitmentnot includedChargeType = UnusedSavingsPlan, quantity and amount per day
Uncovered usagePricingModel = OnDemandthe same
LinkBenefitId, BenefitName, ProductOrderIdthe same fields

Actual cost shows the purchase as the invoice does: in the purchase month when paid up front, on the monthly anniversary of the purchase when paid monthly. Amortized cost spreads the plan over the days of the term as it does for reservations and assigns it to the resources that received the discount; the unused part is assigned to no subscription. In cost analysis, grouping by pricing model separates savings plan from on-demand cost, and grouping by benefit shows individual plans; Azure Cost Management and Billing describes the views.

The portal shows utilisation per plan under Savings plans for the last day and the last seven days, with its history; billing administrators also find it under Cost Management + Billing and through the Benefit Utilization Summary API. Commitment coverage and utilisation explains how the two measures are read together.

Compared with AWS Savings Plans:

AspectAzure savings plan for computeAWS Compute Savings Plans
Commitmentamount per hour (USD in the purchase dialogue), 1 or 3 yearsUSD per hour, 1 or 3 years
Precedencereservations firstReserved Instances first
Prices during the termcan change on the first of a monthstay the same
Exitnonereturn up to USD 100 hourly commitment within seven days in the same calendar month, subject to a quota

Where it goes wrong

  • Commitment planned in euros. Symptom: the monthly charge differs from the amount planned. Cause: under a Microsoft Customer Agreement the commitment is set in USD and billed in local currency at that month's rate.
  • A reservation on the same usage. Symptom: plan utilisation drops after a reservation is bought. Cause: reservations apply first and take usage from the plan.
  • Utilisation read too early. Symptom: an hour's charges change afterwards and utilisation briefly shows above 100%. Cause: Azure includes usage reported up to 48 hours later.
  • Software assumed to be covered. Symptom: Windows licence charges continue although the plan is fully used. Cause: the compute plan covers infrastructure only.
  • Prices assumed to be fixed. Symptom: the saving on a steady load changes from one month to the next. Cause: savings plan prices can change on the first of a month for every active plan.

Example

On 2026-10-16 the Linux virtual machines pricing page showed, for a D2s v5 (2 vCPUs, 8 GiB) running Ubuntu in the Germany West Central region, in euros per hour:

Pricing modelPrice per hourSaving shown on the page
Pay as you goEUR 0.1012
Savings plan, 1 yearEUR 0.0769about 24%
Savings plan, 3 yearsEUR 0.0557about 45%

A full hour of this VM thus draws EUR 0.0769 or EUR 0.0557 from the commitment, not the pay-as-you-go price. Microsoft converts the euro prices from US dollars and calls them estimates.

Sources

Read on 2026-10-16. Microsoft What are savings plans?, How a savings plan discount is applied, Savings plan scopes, Buy a savings plan, View savings plan cost and usage details, View savings plan utilization after purchase, Savings plan cancellation policies, Self-service trade-in for savings plans, View amortized benefit costs, Linux Virtual Machines pricing.