How to get cost and usage reports for Microsoft 365 Pay-as-you-go billing in Azure?

Microsoft has never been able to answer my questions or send me information on how administrators can evaluate the usage and costs from Syntex Pay-as-you-go billing.

In the meanwhile, the following Pay-as-you-go (PAYG) billing models are affected by this:

Nevertheless, I found a way to export the information in the last few days. Azure provides the information. Unfortunately, Microsoft does not publish a customer-friendly report.
Keep in mind that you cannot limit these PAYG models to a maximum monthly amount. It can be an expensive experience for your organization.

Using Azure Cost Export for the export

Azure sends the required information via cost export per Azure Resource Group, with a regular export if required. Microsoft guides you through the steps to store the export in an Azure Storage Container.

Azure Cost Export in Storage Container
Azure Cost Export in storage container

The export is downloaded in CSV format and provides useful information in Excel. The information is identical to the export with PowerShell.

Using PowerShell for the export

The exporting process is faster with PowerShell. Use the command Get-AzConsumptionUsageDetail for the export.

  • You need the PowerShell module Az.Billing.
  • The account or service principal requires at least the Cost Management Reader role for the Azure Subscription.

There are only a few responses in my example. In your cases, pay attention to paging and the number of responses a query returns.

PowerShell
# PowerShell module Az.Billing is required: https://www.powershellgallery.com/packages/Az.Billing
Import-Module Az.Accounts, Az.Billing

# Define the Azure subscription ID and the resource group name
$AzureSubscriptionID = "<AzureSubscriptionID>"
$ResourceGroupName = "<ResourceGroupName>"

# Use an account or service principal with at least the Cost Management Reader role to connect
Connect-AzAccount -SubscriptionId $AzureSubscriptionID 

# Define the current month as the time period for the cost report 
$CurrentDate = Get-Date
$StartDate = (Get-Date -Year $CurrentDate.Year -Month $CurrentDate.Month -Day 1).ToString("yyyy-MM-dd")
$EndDate = Get-Date -format "yyyy-MM-dd"

# Get the cost details for the specified resource group and time period
$CostDetails = Get-AzConsumptionUsageDetail -ResourceGroup $ResourceGroupName -StartDate $StartDate -EndDate $EndDate -IncludeMeterDetails -IncludeAdditionalProperties -Expand MeterDetails

# Exclude the Syntex Backup costs from the cost details (optional, but for me these costs are not relevant for the current demo)
$SyntexCosts = $CostDetails | ?{$_.Product -ne "Syntex Backup - Syntex Backup - Data stored - CH North" }
$SyntexCosts | select ConsumedService,InstanceName,Product,UsageQuantity,PretaxCost,Currency,IsEstimated,Tags,UsageStart,UsageEnd,AdditionalInfo | sort UsageStart 

# Export the full report
$ExportPath = ([Environment]::GetFolderPath('MyDocuments') + "\MSPAYGExport.csv")    
$CostDetails | Export-Csv -Path $ExportPath -NoTypeInformation -Force

 

Microsoft Syntex PAYG

The report provides information about the SharePoint Premium feature, consumption, costs, time, and which SharePoint Site Collection caused the costs.

Auswertung für SharePoint Premium Features
Report for SharePoint Premium features

For Microsoft 365 Backup, the report includes the backed-up resource (OneDrive, SharePoint Site Collection, or Exchange Mailbox).

Auswertung für Microsoft 365 Backup
Report for Microsoft 365 Backup
Microsoft 365 PAYG

The export also includes the new Microsoft 365 PAYG billing model for Copilot Agents in SharePoint. These agents are handled under Microsoft Syntex and in the Copilot Studio meter. The report does not yet contain information on which SharePoint site collection caused the costs.

Auswertung für Copilot Agents in SharePoint
Report for Copilot Agents in SharePoint

The PAYG billing affects all accounts without a Microsoft 365 Copilot license.
The price is mentioned in the SharePoint documentation.

Agents in SharePoint
The number of messages used: $0.01/message
Each interaction includes a question and an answer. A successful interaction uses 32 messages.

In my example from 17 January, I communicated with six interactions (= 192 UsageQuantity) with a SharePoint Copilot agent. The system charges 32 messages for each interaction regardless of the question and answer length.

PAYG Kosten für Copilot Agents in SharePoint
PAYG costs for Copilot Agents in SharePoint


Power Platform PAYG

Microsoft uses Power Platform PAYG to charge for interactions with Copilot Studio Agents, for example in Teams.

Copilot Studio Agent in Teams

The PAYG billing affects all accounts without a Microsoft 365 Copilot license.
The price is mentioned in the Power Platform documentation.

Copilot Studio – $0.01/message
Abillable Copilot Studio message is a request or message sent to the Copilot triggering an action or response. Any agent or custom Copilot usage is billed through Copilot Studio message meter.

On 15 January, Microsoft communicated additional information about how many messages Copilot Chat and Agents charge per feature.

Messages are the unit that measures agent usage. The total cost is calculated based on the sum of the messages used by your organization. The number of messages consumed by an agent depends on the complexity of the agent, how often customers interact with it, and the features they use.

PAYG für Copilot Chat und Agenten
PAYG for Copilot Chat and Agents (January 2025)

It seems the Power Platform Admin Center has a bug. It does not apply the billing profile for the new Microsoft Copilot Chat environment. This environment is provisioned by the system when an administrator configures the Power Platform PAYG billing model for Copilot Chat.

Microsoft 365 users without a paid Copilot license can now access and use Copilot agents by using a pay-as-you-go meter.
When a billing plan is created, a new environment named Microsoft 365 Copilot Chat is automatically provisioned and linked to the newly created billing plan. Copilot consumption reporting is accessible through this environment.

PAYG Konfiguration hat einen Bug und wird nicht übernommen
PAYG configuration has a bug and is not applied

Due to this reason, Copilot messages cannot be charged through PAYG. The billing profile indicates that there is an overage.

Messages with overage

To get a report about your messages, create a Copilot Studio usage report and download it in the Power Platform Admin Center. So far, I have not found an API to report the billing profile.

Bericht über Copilot Studio Nutzung herunterladen
Download Copilot Studio usage report

The report includes details about the messages.

  1. Which message type is billed.
  2. The amount of messages.
  3. On which day.
  4. The resource ID.
CSV-Export
CSV export

The Resource ID is the Copilot Studio Agent that caused the costs.
With Power Platform CLI it is possible to get Copilot Studio agents (and the Resource ID).

PowerShell
# Use the Power Platform environment where you created the agent
$CopilotAgents = pac copilot list --environment "<PowerPlatformEnvironmentID" 
$CopilotAgents

Copilot Studio Agenten
Copilot Studio Agents

Do not trust any Copilot agent.

Share
Avatar photo

Tobias Asböck

Tobias is a Senior System Engineer with around ten years of professional experience with Microsoft 365 products such as SharePoint Online, SharePoint Premium, OneDrive for Business, Teams Collaboration, Entra ID, Information Protection, Universal Print, and Microsoft 365 Licensing. He also has 15+ years of experience planning, administering, and operating SharePoint Server environments. Tobias is a PowerShell Scripter with certifications for Microsoft 365 products. In his spare time, Tobias is busy with updates in the Microsoft 365 world or on the road with his road bike and other sports activities. If you have additional questions, please contact me via LinkedIn or [email protected].

Leave a Reply

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