Microsoft Expands Self-Service License Purchasing to Visio and Project

A Bad Idea Reinforced

In October 2019, Microsoft announced that it would allow Office 365 users to make self-service purchases of Power Platform licenses. Although this was viewed as a terrific idea within Microsoft and a useful way to generate new revenues, few Office 365 tenants were as positive. In fact, so much pushback happened that Microsoft was forced to release a PowerShell module to control self-service purchases in November.

On August 12, Microsoft posted Office 365 notification MC220282 to spread more good news by saying that they are expanding self-service license purchasing to Visio and Project. Self-service purchasing is confined to Office 365 commercial and isn’t available for tenants with government or education plans.

Revenue Grab

I disliked the notion of self-service purchasing in 2019. The idea hasn’t improved in 2020. It’s an example of Microsoft doing an end-run around tenant administrators and corporate license management. The proponents of the idea will trot out the tired old “liberate users” idea to justify what’s simply a grab for additional revenue.

Microsoft’s CFO has been very clear with market analysts at quarterly result briefings that they want to increase the average revenue per Office 365 user by upselling more expensive plans and add-ons; this is that strategy writ large.

How to Disable Self-Service License Purchases

If you’re an Office 365 administrator and you disagree with Microsoft’s strategy, you can disable self-service purchasing with PowerShell by doing the following:

  1. Download the MsCommerce module from the PowerShell gallery. If you previously downloaded this module, make sure that you have the latest version (1.6).
  2. After signing into an account holding the tenant administrator role, run the Connect-MsCommerce
  3. You should now be able to run the Get-MsCommercePolicy and Get-MsCommerceProductPolicies cmdlets to see the status of the policies that govern self-service purchases in the tenant. The examples below show what you can expect to see. In my case, I had disabled purchases of Power Apps, Power BI Pro, and Power Automate. You can see that purchases of Project Plan 3, Project Plan 1, Visio Plan 2, and Visio Plan 1 are still allowed.
Get-MSCommercePolicy -PolicyId AllowSelfServicePurchase | fl

Description  : This policy allows you to manage whether members of your organization can buy
               specified products using self-service purchasing. You can set this policy on a
               per-product basis.
PolicyId     : AllowSelfServicePurchase
DefaultValue : Enabled

Get-MSCommerceProductPolicies -PolicyId AllowSelfServicePurchase

ProductName    ProductId    PolicyId                 PolicyValue
-----------    ---------    --------                 -----------
Project Plan 3 CFQ7TTC0KXNC AllowSelfServicePurchase Enabled
Visio Plan 1   CFQ7TTC0KXN9 AllowSelfServicePurchase Enabled
Project Plan 1 CFQ7TTC0KXND AllowSelfServicePurchase Enabled
Power Apps     CFQ7TTC0KP0P AllowSelfServicePurchase Disabled
Power BI Pro   CFQ7TTC0L3PB AllowSelfServicePurchase Disabled
Power Automate CFQ7TTC0KP0N AllowSelfServicePurchase Disabled
Visio Plan 2   CFQ7TTC0KXN8 AllowSelfServicePurchase Enabled

4. To disable self-service purchase, run the Get-MsCommerceProductPolicies cmdlet again and pipe the output to a filter which selects the enabled products, which are then disabled using the Update-MsCommerceProductPolicy cmdlet.

Get-MSCommerceProductPolicies -PolicyId AllowSelfServicePurchase | ? {$_.PolicyValue -eq "Enabled" }| ForEach {Update-MSCommerceProductPolicy -PolicyId AllowSelfServicePurchase -ProductId $_.ProductId -Enabled $False }

ProductName    ProductId    PolicyId                 PolicyValue
-----------    ---------    --------                 -----------
Project Plan 3 CFQ7TTC0KXNC AllowSelfServicePurchase Disabled
Update policy product success
Visio Plan 1   CFQ7TTC0KXN9 AllowSelfServicePurchase Disabled
Update policy product success
Project Plan 1 CFQ7TTC0KXND AllowSelfServicePurchase Disabled
Update policy product success
Visio Plan 2   CFQ7TTC0KXN8 AllowSelfServicePurchase Disabled

The Struggle to Restrict Licencing Costs

Many Office 365 tenants devote considerable time and effort to managing licenses. They want to achieve the most cost-effective mix of licenses in a way that balances how much they pay monthly to Microsoft with the functionality they need. It’s a task that’s complicated by the number of available licenses, plans, and add-ons and it’s not helped by the way Microsoft continually generates new features which are only available through additional licenses. Compliance is a notable area; Azure AD Premium features is another.

Allowing end users to purchase licenses on their corporate credit cards is frankly unhelpful. It’s an example of how some in Microsoft totally disregard the basic concept that user communication is the responsibility of tenants, not Microsoft. End of story.