Service plan matrix

Prev Next

Overview

Service plan matrix is a document type in Azure Documenter that provides an interactive cross-reference of Microsoft 365 license SKUs and the service plans included in each. It helps administrators understand service plan distribution and identify overlaps across different SKUs.

Business value

Service plan matrix reporting gives IT teams a clear picture of which service plans are included in each SKU, where service plans overlap across multiple SKUs, and how to rationalize license assignments, reducing the manual effort of cross-referencing Microsoft 365 SKU documentation.

Prerequisites

The app registration must have the following application permissions configured in Microsoft Entra ID:

  • Organization.Read.All: required to retrieve organization-level license and tenant details.
  • User.Read.All: required to read user profiles and their assigned licenses.

Note: If either permission is missing or not consented to, document generation results in incomplete or failed output. Ensure an administrator has granted tenant-wide admin consent for both permissions in the Azure portal.

Required permissions

The following Turbo360 role permissions control access to the Documentation section, where generated documents are accessed and managed:

Role Permission level Access
Account owner, Owner, Contributor — Full access to the Documentation section
Custom role Read View documents generated under Documentation
Custom role Manage View, generate, and manage documents under Documentation

How it works

The Service plan matrix document provides an interactive cross-reference between Microsoft 365 SKUs and their service plans. For each SKU, the document maps which service plans are included, allowing you to see which plans are shared across SKUs and which are exclusive. Document structure:

  • Summary: tenant-level metrics: Total SKUs, Unique service plans, Average plans per SKU, Service plans shared across SKUs, Exclusive service plans, and Total users
  • SKU vs service plan matrix: a cross-reference table where each row represents a unique service plan and each column represents a subscribed SKU. A āœ“ mark indicates the service plan is included in that SKU. SKU columns are ordered alphabetically by description; service plans are sorted alphabetically. When the number of SKUs exceeds the page width, the matrix is split across multiple pages with the service plan column repeated on each page.

Reading the matrix:

  • Rows: scan a service plan row across all SKU columns to see which SKUs include it. Multiple āœ“ marks indicate a shared service plan that may be duplicated in multi-SKU assignments.
  • Columns: scan a SKU column to see the full list of service plans it includes.
  • Shared service plans: appear in more than one SKU. These are the service plans that may be paid for twice when users hold multiple SKU assignments.
  • Exclusive service plans: appear in only one SKU. Removing that SKU from a user means they lose those capabilities.

Steps

Use the following steps to generate a Service plan matrix document. Navigate to Azure Documenter to get started.

  1. Click New configuration. The Configure your document wizard opens.
  2. In Step 1 — Basics, enter a configuration name. Under Choose document type, select Service plan matrix. Click Next.
  3. In Step 2 — Service principal, select the service principal and configure the subscription scope. Ensure the selected subscription has a client with appropriate access to retrieve tenant license data. Click Next.
  4. Complete Steps 3–6 (Branding, Publish settings, Schedule, Notifications) as required. Click Next after each step.
  5. In Step 7 — Review, confirm your configuration and click Finish.

Once generation is complete, a URL is created for the document, and you can download it using the Download link.

Example scenario

An IT administrator wants to understand which service plans are duplicated across the SKUs assigned to the organization before proposing a license consolidation plan. They generate a Service plan matrix document, review the shared service plans section, and identify SKU combinations that can be consolidated without users losing any enabled services.

Limitations

  • Document generation depends on the Organization.Read.All and User.Read.All Microsoft Entra ID permissions being granted with tenant-wide admin consent; missing consent results in incomplete or failed output.

Troubleshooting

  1. Document generation fails or returns incomplete data
    Cause: the app registration is missing the Organization.Read.All or User.Read.All permission, or tenant-wide admin consent hasn't been granted.
    Fix: grant both permissions to the app registration in Microsoft Entra ID and ensure an administrator provides tenant-wide admin consent in the Azure portal.

  2. No SKUs appear in the matrix
    Cause: the tenant has no active Microsoft 365 SKUs, or the subscription's associated client doesn't have access to retrieve license data.
    Fix: confirm the client has appropriate Microsoft Entra ID permissions and that the tenant has active Microsoft 365 subscriptions.

  3. Selected subscription returns no license data
    Cause: the subscription's associated client doesn't have appropriate access to retrieve tenant license details.
    Fix: confirm the client tied to the subscription has the required Microsoft Entra ID permissions before generating.

FAQs

  1. What is the difference between a shared service plan and an exclusive service plan?
    A shared service plan appears in more than one SKU across the tenant. An exclusive service plan is only included in a single SKU.

  2. How does Service plan matrix help with license consolidation?
    By showing which service plans overlap across SKUs, it identifies cases where users are assigned multiple SKUs that include duplicate service plans, indicating consolidation opportunities without service loss.

  3. What happens if the required Microsoft Entra ID permissions aren't granted?
    Document generation results in incomplete or failed output until an administrator grants tenant-wide admin consent for both permissions.

Related articles