Del via


How do I manage Azure savings plan billing?

Microsoft introduced an Azure savings plan for compute services. This plan enables customers to save money by committing to an hourly spend on Azure compute services for either one or three years. To ensure your plan aligns with actual usage and costs, Partner Center now provides streamlined invoice and reconciliation line items. The daily rated usage data model is updated with new attributes to make the reconciliation process easier and faster.

File New column Description
Daily rated usage reconciliation (closed and open periods) BenefitId Unique identifier for each Azure savings plan.
BenefitOrderId Links daily charges to monthly costs (matches ReservationOrderId in the invoice reconciliation).
BenefitType To isolate savings plan charges, filter with SavingsPlan.
API New attribute Description
Billed and unbilled daily rated usage reconciliation API v2 (GA) BenefitId Unique identifier for each Azure Savings Plan.
BenefitOrderId Links daily charges to monthly costs (matches ReservationOrderId in the invoice reconciliation).
BenefitType To isolate savings plan charges, filter with SavingsPlan.

How do I identify Azure savings plan charges?

To identify Azure savings plan charges, follow these steps:

  • In your daily rated usage reconciliation line items, filter the BenefitType field by "SavingsPlan."
  • These line items show zero charges in the BillingPreTaxTotal field since savings plan discounts are applied to them.

How do I find out the cost efficiency?

To find out the cost efficiency, follow these steps:

  1. Match identifiers:

    • Link the BenefitOrderId (from daily rated usage line items) with the ReservationOrderId (in invoice reconciliation line items).
    • Cross-reference these IDs in your reports to align daily consumption with monthly savings plan costs.
  2. Calculate savings:

    • Pay-as-you-go charges reflect standard rates without discounts.
    • Compare pay-as-you-go costs to your savings plan rates to quantify your savings.

Tip

Use only designated attributes: Rely on only BenefitOrderId and BenefitType to track savings plan details—other fields might not provide accurate matches.

Important

Partner earned credit (PEC) exclusion: PEC doesn't apply to usage eligible for savings plans.

Where can I see the savings plan usage in the Azure portal?

To see the daily usage of your Azure savings plan in the Azure portal:

  1. Go to your customer view.
  2. Select the savings plan you bought to check how much you used it in the last week, month, quarter, or any date range.

How do I reconcile the charges with the utilization percentage?

To monitor how well your savings plan matches actual usage, use the Azure portal's "Utilization over time" feature. Follow these steps to adjust charges and maximize value:

  1. Step 1: Identify underutilized plans: To avoid <100% spending, filter plans with less than 100% utilization using BenefitOrderId.
  2. Step 2: Map covered resources: To ensure resources are correctly aligned with your plan's scope, check the ResourceURI in daily usage line items.
  3. Step 3: Verify daily coverage: To confirm resources incur no daily charges under the savings plan, sort daily usage data by UsageDate and look for BenefitType = "SavingsPlan".
  4. Step 4: Find overcommitments: To catch overages early and adjust usage or plans, check for BenefitType = "Charge".

How do I verify the effective rate of a savings plan?

To see the effective rate of a savings plan, you can either:

How do I verify effective rate, unused utilization, and amortized data?

To understand your savings plan usage, review the amortized data for your subscription, resource group, or specific resource.

To download the amortized data, use the instructions provided in the export cost data with an Azure Storage account SAS key.

  1. Once downloaded, identify the savings plan's resourceId in the data. These attributes are different from the Partner Center daily rated usage data. See the attribute mapping table for the mapping. This mapping ensures you correctly interpret the data and avoid any confusion.

  2. To make it easier, sort or filter the transactions by date to quickly find the relevant charges. Check the charges for the resources. If the pricingModel is "SavingsPlan," it means there's no charge.

  3. Review the effectivePrice and costInBillingCurrency for the effective rate and charges.

  4. To find out the unused hours in your Azure savings plan:

    • Filter by productOrderId to find the order ID.
    • Look for the chargeType labeled "UnusedBenefits" to see any unused benefits in your plan.
    • Check the quantity value. If the value is more than zero, it means there are unused hours for that day. This quantity shows how much of your savings plan is still unused.

How do I figure out the costs of the savings plan?

Here's an example of how much you can save with our hourly savings plan, designed to offer significant discounts compared to pay-as-you-go rates:

Example

  • If you buy a savings plan at $0.1/hour, you're billed this amount first for the hours it covers instead of the pay-as-you-go rate of $0.3264/hour for the VM, due to the discount.
  • This commitment translates to savings of $0.2264/hour, which is approximately 69% discount.
  • Moreover, by committing to a year, you receive an extra discount of 31.43%, paying only $0.22381248/hour.
Committed $$ per hour (A) Pay-as-you-go rate per hour (B) Savings plan rate per hour (C) Savings plan discount % (D) Total hours per day (E) Savings plan hours per day (G) Pay-as-you-go hours per day (G)
0.10 (A) 0.3264 (B) 0.22381248 (C) 31.43 (D) 24 (E) 10.72326262 (E x S) 13.27673738 (E – F)
Assume the VM ran for 1 hour. Apply the same calculation to cover the full 24-hour day.
Savings plan Pay-as-you-go Total
Quantity 0.446802609 (S) 0.553197391 (P) 1 7.8336**(M)**
Effective costs with the savings plan 1 0.180563628 (J) 0.280563628 (K) 6.733527082**(L)**
Savings 1.100072918**(N)**
Savings % 14.04%

Calculation of savings

  • The savings plan covers 0.10 (A) ÷ 0.22381248 (C) hours per hour of VM usage, which is 0.446802609 (S) hours.
  • Every hour the VM runs, the savings plan covers 0.1 (A) ÷ 0.22381248 (C) hours per hour of VM usage, which is 0.446802609 (S) hours. For the remaining 0.553197391 (P) hours, you pay the pay-as-you-go rate of $0.180563628 (J), or 0.553197391 (P) x 0.3264 (B).

Overall cost

  • You're billed $0.280563628 (K) per hour, which includes $0.10 (H) for the savings plan and $0.180563628 (J) for the usage exceeding the savings plan commitment.
  • Running the VM for 24 hours results in a daily cost of $6.733527082 (L), based on 24 hours multiplied by $0.280563628 (K). This cost includes both the savings plan rate and the pay-as-you-go rate for usage exceeding the savings plan commitment.

Cost analysis

These steps provide a detailed comparison of costs between a pay-as-you-go model and a savings plan for a virtual machine (VM) over a 24-hour period.

Variables and assumptions

Variable Description Value
A Committed cost per hour $0.10
B Pay-as-you-go rate per hour $0.3264
C Savings plan rate per hour $0.22381248
D Savings plan discount rate 31.43%
E Total hours per day 24

Calculations

Step 1: Determine savings plan quantity (S)

Formula: S = A ÷ C
Calculation: 0.1 ÷ 0.22381248 = 0.446802609
Variable Description Calculation Value
S Savings plan quantity A ÷ C 0.446802609

Step 2: Determine pay-as-you-go quantity (P)

Formula: P = 1 - S
Calculation: 1 - 0.446802609 = 0.553197391
Variable Description Calculation Value
P Pay-as-you-go quantity 1 - S 0.553197391

Step 3: Calculate daily hours distribution

Formula: F = E x S, G = E - F
Calculations:
Savings plan hours = 24 x 0.446802609 = 10.72326262
Pay-as-you-go hours = 24 - 10.72326262 = 13.27673738
Variable Description Calculation Value
F Savings plan hours E x S 10.72326262
G Pay-as-you-go hours E – F 13.27673738

Step 4: Calculate total pay-as-you-go cost per day without the savings plan (M)

Formula: M = B x E
Calculation: 0.3264 x 24 = 7.8336
Variable Description Calculation Value
M Total pay-as-you-go cost B x E 7.8336

Step 5: Calculate effective costs with savings plan per day (K)

Formula: J = B x P, K = A + J
Calculations:
J = 0.3264 x 0.553197391 = 0.180563628
K = 0.1 + 0.180563628 = 0.280563628
Variable Description Calculation Value
J Effective pay-as-you-go cost/hour B x P 0.180563628
K Total effective cost/hour A + J 0.280563628

Step 6: Calculate daily costs with savings plan (L)

Formula: L = K x E
Calculations:
L = 0.280563628 x 24 = 6.733527082
Variable Description Calculation Value
L Total cost per day K x E 6.733527082

Step 7: Calculate total savings (N)

Formula: N = M - L
Calculation: 7.8336 - 6.733527082 = 0.11000736
Variable Description Calculation Value
N Savings amount M - L 1.100072918
Savings percentage (N ÷ M) x 100 14.04%

Results summary

By utilizing the savings plan, the effective cost for 24 hours of VM usage is reduced from $7.8336 (pay-as-you-go) to $6.733527082, resulting in:

  • Savings amount: $1.100072918
  • Savings percentage: 14.04%

This analysis demonstrates the cost efficiency of using a savings plan for committed workloads, highlighting the financial benefits.

How do I map amortized and daily rated usage data attributes for comparing costs?

The Azure portal's amortized data and the Partner Center's daily usage data help you compare your savings plans charges and usage. These two data sources might not match exactly due to differences in calculation methods or reporting times. However, they can still provide a useful estimate of your savings plan's benefits.

Azure portal amortized data attribute Partner Center daily rated data attribute
invoiceId InvoiceNumber
previousInvoiceId N/A
billingAccountId N/A
billingAccountName N/A
billingProfileId N/A
billingProfileName N/A
invoiceSectionId N/A
invoiceSectionName N/A
partnerTenantId PartnerId
partnerName PartnerName
resellerName N/A
resellerMpnId N/A
customerTenantId CustomerId
customerName CustomerName
costCenter N/A
billingPeriodEndDate N/A
billingPeriodStartDate N/A
servicePeriodEndDate ChargeStartDate
servicePeriodStartDate ChargeEndDate
date UsageDate
serviceFamily N/A
productOrderId BenefitOrderId
productOrderName N/A
consumedService ConsumedService
meterId MeterId
meterName MeterName
meterCategory MeterCategory
meterSubCategory MeterSubCategory
meterRegion MeterRegion
productId ProductId + SkuId
productName ProductName
subscriptionId EntitlementId
subscriptionName EntitlementDescription
publisherType N/A
publisherId PublisherId
publisherName PublisherName
resourceGroupName ResourceGroup
resourceId ResourceURI
resourceLocation ResourceLocation
location N/A
effectivePrice EffectiveUnitPrice
quantity Quantity
unitOfMeasure UnitType
chargeType N/A
billingCurrency BillingCurrency
pricingCurrency PricingCurrency
costInBillingCurrency PricingPreTaxTotal
costInPricingCurrency PricingCurrency
costInUsd N/A
paygCostInBillingCurrency N/A
paygCostInUsd N/A
exchangeRatePricingToBilling PCToBCExchangeRate
exchangeRateDate PCToBCExchangeRateDate
isAzureCreditEligible N/A
serviceInfo1 ServiceInfo1
serviceInfo2 ServiceInfo2
additionalInfo AdditionalInfo
tags Tags
partnerEarnedCreditRate PartnerEarnedCreditPercentage
partnerEarnedCreditApplied N/A
PayGPrice N/A
frequency N/A
term N/A
reservationId N/A
reservationName N/A
pricingModel BenefitType
unitPrice UnitPrice
benefitId BenefitId
benefitName N/A
provider N/A