Get started with Cost Management for partners

Cost Management is natively available for direct partners that onboarded their customers to a Microsoft Customer Agreement and purchased an Azure Plan. This article explains how partners use Cost Management features to view costs for subscriptions in the Azure Plan. It also describes how partners enable Cost Management access at retail rates for their customers.

The global admin and admin agents with direct partners and indirect providers can access Cost Management in the partner tenant and manage costs at invoiced prices.

Resellers and customers can access Cost Management in the customer tenant and view consumption costs for each individual subscription, where costs are computed and shown at retail rates. However, they must have Azure role-based access control (RBAC) access to the subscription in the customer tenant to view costs. The cost visibility policy must get enabled by the provider for the customer tenant.

Customers can use Cost Management features when enabled by their Cloud Solution Provider (CSP) partner.

CSP partners use Cost Management to:

  • Understand invoiced costs and associate the costs to the customer, subscriptions, resource groups, and services.
  • Easily understand your Azure costs in cost analysis by analyzing customer, subscription, resource group, resource, meter, service, and many other dimensions.
  • View resource costs that have Partner Earned Credit (PEC) applied in Cost Analysis.
  • Set up notifications and automation using programmatic budgets and alerts when costs exceed budgets.
  • Enable the Azure Resource Manager policy that provides customer access to Cost Management data. Customers can then view consumption cost data for their subscriptions using pay-as-you-go rates.
  • Export their cost and usage data to a storage blob with a pay-as-you-go subscription.

Here's an example showing costs for all customers.

Screenshot showing costs for all customers.

Here's an example showing costs for a single customer.

Screenshot showing costs for a single customer.

All functionality available in Cost Management is also available with REST APIs. Use the APIs to automate cost management tasks.

Prerequisites

As a partner, Cost Management is natively available only for subscriptions that are on the Azure plan.

To enable Cost Management in the Azure portal, you must confirm customer acceptance of the Microsoft Customer Agreement (on behalf of the customer) and transition the customer to the Azure Plan. Only the costs for subscriptions that are transitioned to the Azure plan are available in Cost Management.

Cost Management requires read access to your billing account or subscription.

For more information about enabling and assigning access to Cost Management for a billing account, see Assign users roles and permissions. The Global admin and Admin agent roles can manage costs for a billing account.

To access Cost Management at the subscription scope, any user with Azure RBAC access to a subscription can view costs at retail (pay-as-you-go) rates. However the cost visibility policy for the customer tenant must be enabled. To view a full list of supported account types, see Understand Cost Management data.

When you transfer existing billing agreements to a new partner, cost management capabilities are only available for the current billing relationship with the partner. Historical costs before the transfer to the new partner don't move to the new billing account. However, the cost history does remain with the original associated billing account.

How Cost Management uses scopes

Scopes are where you manage billing data, have roles specific to payments, view invoices, and conduct general account management. Billing and account roles are managed separately from scopes used for resource management, which use Azure RBAC. To clearly distinguish the intent of the separate scopes, including the access control differences, they're referred to as billing scopes and Azure RBAC scopes, respectively.

To understand billing scopes and Azure RBAC scopes and how cost management works with scopes, see Understand and work with scopes.

Manage costs with partner tenant billing scopes

After you onboard your customers to a Microsoft Customer Agreement, the following billing scopes are available in your tenant. Use the scopes to manage costs in Cost Management.

Billing account scope

Use the billing account scope to view pretax costs across all your customers and billing profiles. Invoice costs are only shown for customer's consumption-based products on the Microsoft Customer Agreement. However, invoice costs are shown for purchased-based products for customers on both the Microsoft Customer Agreement and the CSP offer. Currently, the default currency to view costs in the scope is US dollars. Budgets set for the scope are also in USD.

Regardless of different billed currencies, partners use Billing account scope to set budgets and manage costs in USD across their customers, subscriptions, resources, and resource groups.

Partners also filter costs in a specific billing currency across customers in the cost analysis view. Select the Actual cost list to view costs in supported billing currencies.

Screenshot showing Actual cost selection for currencies.

To view reserved instance amortized costs across a reservation term, use the amortized cost view in billing scopes.

Billing profile scope

Use the billing profile scope to view pretax costs in the billing currency across all your customers for all products and subscriptions included in an invoice. You can filter costs in a billing profile for a specific invoice using the InvoiceID filter. The filter shows the consumption and product purchase costs for a specific invoice. You can also filter the costs for a specific customer on the invoice to see pretax costs.

After you onboard customers to a Microsoft Customer Agreement, you receive an invoice that includes all charges for all products (consumption, purchases, and entitlements) for these customers on the Microsoft Customer Agreement. Invoices billed in the same currency include charges for entitlements and purchased products like SaaS, Azure Marketplace, and reservations. This situation to customers who aren't yet on the Azure plan but are part of the classic CSP offer.

To help reconcile charges against the customer invoice, the billing profile scope enables you to see all costs that accrue for an invoice for your customers. Like the invoice, the scope shows costs for every customer in the new Microsoft Customer Agreement. The scope also shows every charge for customer entitlement products still in the current CSP offer.

The billing profile and billing account scopes are the only applicable scopes that show charges for entitlement and purchase-based products like Azure Marketplace and reservation purchases.

Billing profiles define the subscriptions that are included in an invoice. Billing profiles are the functional equivalent of an enterprise agreement enrollment. A billing profile is the scope where invoices are generated.

Currently, the billing currency is the default currency when viewing costs in the billing profile scope. Budgets set at the billing profile scope are in the billing currency.

Partners can use the scope to reconcile to invoices. And, they use the scope to set budgets in the billing currency for the following items:

  • Specific filtered invoice
  • Customer
  • Subscription
  • Resource group
  • Resource
  • Azure service
  • Meter
  • ResellerMPNID

Customer scope

Partners use the scope to manage costs associated to customers that are onboarded to the Microsoft Customer Agreement. The scope allows partners to view pretax costs for a specific customer in a billing currency. You can also filter the pretax costs for a specific subscription, resource group, or resource.

The customer scope doesn't include customers who are on the current CSP offer. The scope only includes customers who have a Microsoft Customer Agreement.

Entitlement costs, not Azure usage, for current CSP offer customers are available at the billing account and billing profile scopes when you apply the customer filter. The budgets set at this scope are in the billing currency.

To view costs at the customer scope, in the partner tenant navigate to Cost analysis, select the scope picker, and then select the specific customer in the list of scopes. Here's an example for the Contoso Services customer.

Screenshot showing selecting a customer scope.

Partner access to billing scopes in Cost Management

Only the users with Global admin and Admin agent roles can manage and view costs for billing accounts, billing profiles, and customers directly in the partner's Azure tenant. For more information about partner center roles, see Assign users roles and permissions.

Enable Cost Management for customer tenant subscriptions

Partners can enable access to Cost Management after customers are onboarded to a Microsoft Customer Agreement. Then partners can then enable a policy allowing customers to view their costs for Azure consumed services computed at pay-as-you-go retail rates. Costs are shown in the customer's billing currency for their consumed usage at Azure RBAC subscription and resource groups scopes.

When the partner enables the policy for cost visibility, any user with Azure Resource Manager access to the subscription can manage and analyze costs at pay-as-you-go rates. Effectively, resellers and customers that have the appropriate Azure RBAC access to the Azure subscriptions can view cost.

Regardless of the policy, global admins and admin agents of the provider can view subscription costs if they have access to the subscription and resource group.

Enable the policy to view Azure usage charges

You need to be a member of the admin agent group to view and update the policy. Use the following information to enable the policy allowing customers to view Azure usage charges.

In the Azure portal, sign in to the partner tenant and select Cost Management + Billing. Select the relevant billing scope in the Billing Scope area, and then select Customers. The list of customers is associated with the billing account. If you mistakenly sign in to the customer tenant, you don't see the Customers list.

In the list of customers, select the customer that you want to allow to view costs.

Screenshot showing select Customers in Cost Management.

Under Settings, select Policies.

The current cost visibility policy is shown for Azure Usage charges associated to the subscriptions for the selected customer. Screenshot showing the policy to allow customers to view pay-as-you-go charges.

When the policy is set to No, Cost Management isn't available for subscription users associated to the customer. Unless enabled by a partner, the cost visibility policy is disabled by default for all subscription users.

When the cost policy is set to Yes, subscription users associated to the customer tenant can see usage charges at pay-as-you go rates.

When the cost visibility policy is enabled, all services that have subscription usage show costs at pay-as-you-go rates. Reservation usage appears with zero charges for actual and amortized costs. Purchases and entitlements aren't associated to a specific subscription. So, purchases aren't displayed at the subscription scope. The global admin/admin agent of a direct partner or an indirect provider can also use the Update Customer API to set each customer's cost visibility policy at scale.

View subscription costs in the customer tenant

To view costs for a subscription, open Cost Management in the customer's Azure tenant. Select Cost analysis and then the required subscription to start reviewing costs. You can view consumption costs for each subscription individually in the customer tenant.

Screenshot showing view cost analysis as a customer.

Cost analysis, budgets, and alerts are available for the subscription and resource group Azure RBAC scopes at pay-as-you-go rate-based costs.

Amortized views and actual costs for reserved instances in the Azure RBAC scopes show zero charges. Purchase costs for entitlements such as Reserved instances, Saving Plan purchases, and Marketplace fees are only shown in billing scopes in the partner's tenant where the purchases were made.

The retail rates used to compute costs shown in the view are the same prices shown in the Azure Pricing Calculator for all customers. Costs shown don't include any discounts or credits that the partner may have like Partner Earned Credits, Tier Discounts, and Global Service discounts.

Analyze costs in cost analysis

Partners who have billing access can use cost analysis to view and examine billed costs across customers, either for individual customers or specific invoices. In cost analysis, you can also save views.

Azure RBAC users with access to the subscription in the customer tenant can also analyze retail costs for subscriptions in the customer tenant, save views, and export data to CSV and PNG files.

You can use filter and group by features in cost analysis to analyze costs by multiple fields. Partner-specific fields are shown in the next section.

Data fields

The following data fields are found in usage detail files and Cost Management APIs. Where available, Partner Center equivalent information is shown. For the following bold fields, partners can use filter and group by features in cost analysis to analyze costs by multiple fields. Bold fields apply only to Microsoft Customer Agreements supported by partners.

Field name Description Partner Center equivalent
invoiceId Invoice ID shown on the invoice for the specific transaction. Invoice number where the transaction is shown.
previousInvoiceID Reference to an original invoice there's a refund (negative cost). Populated only when there's a refund. N/A
billingAccountName Name of the billing account representing the partner. It accrues all costs across the customers who onboarded to a Microsoft customer agreement and the CSP customers that made entitlement purchases like SaaS, Azure Marketplace, and reservations. N/A
billingAccountID Identifier for the billing account representing the partner. MCAPI Partner Commerce Root ID. Used in a request, but not included in a response.
billingProfileID Identifier for the billing profile. It groups costs across invoices in a single billing currency across the customers that are in a Microsoft customer agreement and the CSP customers that made entitlement purchases like SaaS, Azure Marketplace, and reservations. MCAPI Partner Billing Group ID. Used in a request, but not included in a response.
billingProfileName Name of the billing profile that groups costs across invoices in a single billing currency across the customers who onboarded to a Microsoft customer agreement and the CSP customers that made entitlement purchases like SaaS, Azure Marketplace, and reservations. N/A
invoiceSectionName Name of the project that is being charged in the invoice. Not applicable for Microsoft Customer Agreements onboarded by partners. N/A
invoiceSectionID Identifier of the project that is being charged in the invoice. Not applicable for Microsoft Customer Agreements onboarded by partners. N/A
CustomerTenantID Identifier of the Microsoft Entra tenant of the customer's subscription. Customer's organizational ID - the customer's Microsoft Entra TenantID.
CustomerName Name of the Microsoft Entra tenant for the customer's subscription. Customer's organization name, as shown in the Partner Center. Important for reconciling the invoice with your system information.
CustomerTenantDomainName Domain name for the Microsoft Entra tenant of the customer's subscription. Customer Microsoft Entra tenant domain.
PartnerTenantID Identifier for the partner's Microsoft Entra tenant. Partner Microsoft Entra tenant ID called as Partner ID, in GUID format.
PartnerName Name of the partner Microsoft Entra tenant. Partner name.
ResellerMPNID ID for the reseller associated with the subscription. ID of the reseller on record for the subscription. Not available for current activity.
costCenter Cost center associated to the subscription. N/A
billingPeriodStartDate Billing period start date, as shown on the invoice. N/A
billingPeriodEndDate Billing period end date, as shown on the invoice. N/A
servicePeriodStartDate Start date for the rating period when the service usage was rated for charges. The prices for Azure services are determined for the rating period. ChargeStartDate in Partner Center. Billing cycle start date, except when presenting dates of previously uncharged latent usage data from a previous billing cycle. The time is always the beginning of the day, 0:00.
servicePeriodEndDate End date for the period when the service usage was rated for charges. The prices for Azure services are determined based on the rating period. N/A
date For Azure consumption data, it shows date of usage as rated. For reserved instance, it shows the purchased date. For recurring charges and one-time charges such as Marketplace and support, it shows the purchase date. N/A
productID Identifier for the product that accrued charges by consumption or purchase. It's the concatenated key of productID and SKuID, as shown in the Partner Center. The ID of the product.
product Name of the product that accrued charges by consumption or purchase, as shown on the invoice. The product name in the catalog.
serviceFamily Shows the service family for the product purchased or charged. For example, Storage or Compute. N/A
productOrderID The identifier of the asset or Azure plan name that the subscription belongs to. For example, Azure Plan. CommerceSubscriptionID
productOrderName The name of the Azure plan that the subscription belongs to. For example, Azure Plan. N/A
consumedService Consumed service (legacy taxonomy) as used in legacy EA usage details. Service shown in the Partner Center. For example, Microsoft.Storage, Microsoft.Compute, and microsoft.operationalinsights.
meterID Metered identifier for measured consumption. The ID of the used meter.
meterName Identifies the name of the meter for measured consumption. The name of the consumed meter.
meterCategory Identifies the top-level service for usage. The top-level service for the usage.
meterSubCategory Defines the type or subcategory of Azure service that can affect the rate. The type of Azure service that can affect the rate.
meterRegion Identifies the location of the datacenter for certain services that are priced based on datacenter location. The regional location of a data center for services, where applicable and populated.
subscription ID Unique Microsoft generated identifier for the Azure subscription. EntitlementID
subscriptionName Name of the Azure subscription. N/A
Term Displays the term for the validity of the offer. For example, reserved instances show 12 months of a yearly term of the reserved instance. For one-time purchases or recurring purchases, the term displays one month for SaaS, Azure Marketplace, and support. Not applicable for Azure consumption. N/A
provider Identifier for product and line of business. Break down costs by the provider type: Azure, Microsoft 365, Dynamics 365, AWS¹, and so on. N/A
publisherType (firstParty, thirdPartyReseller, thirdPartyAgency) Type of publisher that identifies the publisher as first party, third-party reseller, or third-party agency. N/A
partNumber Part number for the unused reserved instance and Azure Marketplace services. N/A
publisherName Name of the publisher of the service including Microsoft or third-party publishers. The name of the product's publisher.
reservationId Identifier for the reserved instance purchase. N/A
reservationName Name of the reserved instance. N/A
reservationOrderId OrderID for the reserved instance. N/A
frequency Payment frequency for a reserved instance. N/A
resourceGroup Name of the Azure resource group used for lifecycle resource management. Name of the resource group.
instanceID (or) ResourceID Identifier of the resource instance. Shown as a ResourceURI that includes complete resource properties.
resourceLocation Name of the resource location. The location of the resource.
Location Normalized location of the resource. N/A
effectivePrice The effective unit price of the service, in pricing currency. Unique for a product, service family, meter, and offer. Used with pricing in the price sheet for the billing account. When there's tiered pricing or an included quantity, it shows the blended price for consumption. The unit price after adjustments are made.
Quantity Measured quantity purchased or consumed. The amount of the meter used during the billing period. Number of units. Ensure it matches the information in your billing system during reconciliation.
unitOfMeasure Identifies the unit that the service is charged in. For example, GB and hours. Identifies the unit that the service is charged in. For example, GB, hours, and 10,000 s.
pricingCurrency The currency defining the unit price. The currency in the price list.
billingCurrency The currency defining the billed cost. The currency defined as the billed currency on the invoice.
chargeType Defines the type of charge that the cost represents in Cost Management like purchase and refund. The type of charge or adjustment. Not available for current activity.
costinBillingCurrency ExtendedCost or blended cost before tax in the billed currency. N/A
costinPricingCurrency ExtendedCost or blended cost before tax in pricing currency to correlate with prices. N/A
costinUSD Estimated ExtendedCost or blended cost before tax in USD. N/A
paygCostInBillingCurrency Shows costs if pricing is in retail prices. Shows pay-as-you-go prices in the billing currency. Available only at Azure RBAC scopes. N/A
paygCostInUSD Shows costs if pricing is in retail prices. Shows pay-as-you-go prices in USD. Available only at Azure RBAC scopes. N/A
exchangeRate Exchange rate used to convert from the pricing currency to the billing currency. Referred to as PCToBCExchangeRate in the Partner Center. The pricing currency to billing currency exchange rate.
exchangeRateDate The date for the exchange rate that gets used to convert from the pricing currency to the billing currency. Referred to as PCToBCExchangeRateDat in the Partner Center. The pricing currency to billing currency exchange rate date.
isAzureCreditEligible Indicates whether the cost is eligible for payment by Azure credits. N/A
serviceInfo1 Legacy field that captures optional service-specific metadata. Internal Azure service metadata.
serviceInfo2 Legacy field that captures optional service-specific metadata. Service information. For example, an image type for a virtual machine and ISP name for ExpressRoute.
additionalInfo Service-specific metadata. For example, an image type for a virtual machine. Any additional information not covered in other columns. The service-specific metadata. For example, an image type for a virtual machine.
tags Tag that you assign to the meter. Use tags to group billing records. For example, you can use tags to distribute costs by the department that uses the meter. Tags added by the customer.
partnerEarnedCreditRate Rate of discount applied if there's a partner earned credit (PEC) based on partner admin link access. The rate of partner earned credit (PEC). For example, 0% or 15%.
partnerEarnedCreditApplied Indicates whether the partner earned credit was applied. N/A
unitPrice The price for a given product or service inclusive of any negotiated discount that you might have on top of the market price (PayG price column) for your contract. For more information, see Pricing behavior in cost details. N/A

¹ The Connector for AWS in the Cost Management service retires on March 31, 2025. Users should consider alternative solutions for AWS cost management reporting. On March 31, 2024, Azure will disable the ability to add new Connectors for AWS for all customers. For more information, see Retire your Amazon Web Services (AWS) connector.

View Partner Earned Credit (PEC) resource costs

In Cost Management, partners can use cost analysis to view costs that received the PEC benefits.

In the Azure portal, sign in to the partner tenant and select Cost Management + Billing. Under Cost Management, select Cost analysis.

The Cost analysis view shows costs of the billing account for the partner. Select the Scope as needed for the partner, a specific customer, or a billing profile to reconcile invoices.

In a donut chart, select the drop-down list and select PartnerEarnedCreditApplied to drill into PEC costs.

Screenshot showing how to view partner-earned credit.

When the PartnerEarnedCreditApplied property is True, the associated cost has the benefit of the partner earned admin access.

When the PartnerEarnedCreditApplied property is False, the associated cost doesn't meet the required eligibility for the credit. Or, the service purchased isn't eligible for partner earned credit.

Service usage data normally takes 8-24 hours to appear in Cost Management. For more information, see Cost and usage data updates and retention. PEC credits appear within 48 hours from time of access in Cost Management.

You can also group and filter by the PartnerEarnedCreditApplied property using the Group by options. Use the options to examine costs that do and don't have PEC.

Screenshot showing where to group or filter by partner-earned credit.

Export cost data to Azure Storage

Partners with access to billing scopes in a partner tenant can export their cost and usage data to an Azure Storage blob. The blob must be on a subscription in the partner tenant that's not a shared service subscription or a customer’s subscription. To enable cost data export, we recommended that you set up an independent pay-as-you-go subscription in the partner tenant to host the exported cost data. The export storage account is created on the Azure Storage blob hosted in the pay-as-you-go subscription. Based on the scope where the partner creates the export, the associated data is exported to the storage account automatically on a recurring basis.

Users with Azure RBAC access to the subscription can also export the cost data to an Azure storage blob hosted in any subscription in the customer tenant.

Create an export in a partner tenant or customer tenant

In the Azure portal, sign in to the partner tenant or customer tenant and select Cost Management + Billing. Select an appropriate scope, for example a Microsoft Partner Agreement billing account, and then select Cost Analysis. When the page loads, select Export. Select View all exports under Schedule Export.

Screenshot showing select Export and View all exports.

Next, select Add and type the name and select an export type. Select the Storage tab and enter required information.

Screenshot showing add new export and select Storage tab.

When you create an export in the partner tenant, select the pay-as-you-go subscription in the partner tenant. Create an Azure Storage account using that subscription.

For Azure RBAC users in the customer tenant, select a subscription in the customer tenant. Create an Azure Storage account using the subscription.

Review the content and then select Create to schedule an export.

To verify data in the export list, select the storage account name. On the storage account page, select Containers and then select the container. Navigate to the corresponding folder and select the CSV file. Select Download to get the CSV file and open it. The exported data exported resembles cost data similar to usage details from the Azure portal.

Screenshot showing an example of exported data in a CSV file.

Cost Management REST APIs

Partners and their customers can use Cost Management APIs for common tasks. For more information, see Automation for partners.