Blocking Self-Service Purchases and License Requests in Microsoft 365

Microsoft allows end users to purchase certain licenses themselves, like Power BI Pro or Copilot, without admin intervention. This feature is called Self-Service Purchase.
Allowing self-service purchases represents a loss of IT control. Users can buy licenses with their own payment methods, potentially creating compliance, support, and integration issues.
List of eligible products
As of June 12, 2025, 27 products can be self-purchased:
- Dynamics 365 Marketing
- Dynamics 365 Marketing Additional Application
- Dynamics 365 Marketing Additional Non-Prod Application
- Dynamics 365 Marketing Attach
- Microsoft 365 Copilot
- Microsoft 365 F3
- Microsoft ClipChamp
- Microsoft Purview Discovery
- Power Apps per user
- Power Automate per user
- Power Automate per user plan
- Power Automate Per User with Attended RPA Plan
- Power Automate RPA
- Power BI Premium per user
- Power BI Pro
- Project Plan 1
- Planner Plan 1
- Project Plan 3
- Python in Excel
- Teams Essentials
- Teams Exploratory Upgrade Request
- Teams Exploratory
- Teams Premium
- Microsoft Teams Premium
- Visio Plan 1
- Visio Plan 2
- Viva Goals
- Viva Learning
- Windows 365 Business
- Windows 365 Business with Windows Hybrid Benefit
- Windows 365 Enterprise
The full list is available in the admin portal: Settings > Org Settings > Services > Self-service trials and purchases.
The direct link is below (I deliberately provided it in plain text and not as a clickable link). You must already be on a Microsoft 365 admin page, because if you click the link or open it from another site than admin.cloud.microsoft, you'll be redirected to the M365 admin homepage:
https://admin.cloud.microsoft/#/manageselfservicepurchase
Disabling self-service products
No automatic blocking of future products
As of today, there is no mechanism to automatically disable future products eligible for self-service purchase.
You must therefore:
- Regularly check for newly added products
- Disable them manually or via script as soon as they appear
Remaining vigilant is essential to maintain a complete and up-to-date block.
Manual method
From the page Self-service trials and purchases
, you can disable each product one by one, which is tedious.

PowerShell method
To disable all self-service purchases quickly, use the MSCommerce module. The following script disables all currently available self-service products in your tenant.
Install-Module -Name MSCommerce -Scope CurrentUser
# Or with the new system if using PowerShell 7
# Install-PSResource -Name MSCommerce -Scope CurrentUser
# Connect (Global Admin or Billing Admin role required)
Connect-MSCommerce
# List products with self-service purchase enabled and disable them
Get-MSCommerceProductPolicies -PolicyId AllowSelfServicePurchase |
Where-Object { $_.PolicyValue -eq 'Enabled' } |
ForEach-Object {
Write-Host -ForegroundColor Cyan "Disabling self-service purchase for product: $($_.ProductName) (ID: $($_.ProductID))"
Update-MSCommerceProductPolicy -PolicyId AllowSelfServicePurchase -ProductId $_.ProductID -Enabled $false
}
Note that this leaves products that would otherwise be configured in Allow trials only mode. If you want to disable them as well, you'll need to adapt the script.
Get-MSCommerceProductPolicies -PolicyId AllowSelfServicePurchase |
Where-Object { $_.PolicyValue -eq 'Enabled' -or $_.PolicyValue -eq 'OnlyTrialsWithoutPaymentMethod' } |
ForEach-Object {
Write-Host -ForegroundColor Green "Self-service purchase is disabled for product: $($_.ProductName) (ID: $($_.ProductID))"
}
Blocking license requests
Even after disabling Self-Service Purchases, users can still initiate a purchase from marketing pages (e.g., https://www.microsoft.com/fr-fr/microsoft-365/copilot/enterprise).
They can’t complete the purchase, but a license request is generated in the portal.
Admins must approve or reject the request, and Microsoft sends regular email notifications to administrators.

If you don’t want to receive these license requests, you can block the process by defining your own request process.
Go to https://admin.cloud.microsoft/#/licenses/requestspageOn > Connect your request process.
Define the message that will be shown to the user.
You can include a link to internal documentation, your ticketing system, etc.

On the end-user side, if they try to purchase a product, they’ll be blocked at step 4 of the purchase process.
The custom message is displayed, and no license request ticket is generated.

Comments