Skip to content

Overlapping & Duplicate Licence Assignments

The question it answers: Which users hold a licence whose services another of their licences already provides?

Users who hold two licences where one already contains everything the other provides - Office 365 E3 on top of Microsoft 365 E3, Exchange Online Plan 1 next to a suite that includes Exchange. The Redundant rows are licences you can usually remove without the user losing anything.

Where in the appLicensing › Licence Overlaps
WorkloadLicensing
KindTable
DataBuilt from the tenant data IntensiveReports keeps in memory and refreshes in the background, so it opens at once.
LicenceNo extra licence needed.
Report id (API and MCP)entra.licensing.licence-overlaps
ColumnKeyType
UserDisplayNameLink
UPNUserPrincipalNameText
KindKindStatus
LicenceLicenceText
Already provided byCoveredByText
OverlapSharedPlanCountText
Shared servicesSharedPlansStringText
Assigned viaAssignedViaText
All licencesAllLicencesText
FilterKey (API)On when the page opens
Only fully redundant licencesredundantNo

Licence: No extra licence needed.

Application permissions on the IntensiveReports app registration (all permissions):

PermissionAPIWhat it allowsNote
User.Read.AllMicrosoft GraphRead all users’ full profiles
User-LifeCycleInfo.Read.AllMicrosoft GraphRead all users’ lifecycle information
Organization.Read.AllMicrosoft GraphRead organization information
Data sources it reads
  • GET /v1.0/users?$select=assignedLicenses,licenseAssignmentStates
  • GET /v1.0/subscribedSkus
GET /ir-api/v1/reports/entra.licensing.licence-overlaps?size=100
GET /ir-api/v1/reports/entra.licensing.licence-overlaps?filter=redundant

An AI assistant reads it with the MCP tool get_report and the id entra.licensing.licence-overlaps. The client needs the Read grant for Licensing. See Using the API.