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.
At a glance
Section titled “At a glance”| Where in the app | Licensing › Licence Overlaps |
| Workload | Licensing |
| Kind | Table |
| Data | Built from the tenant data IntensiveReports keeps in memory and refreshes in the background, so it opens at once. |
| Licence | No extra licence needed. |
| Report id (API and MCP) | entra.licensing.licence-overlaps |
Columns
Section titled “Columns”| Column | Key | Type |
|---|---|---|
| User | DisplayName | Link |
| UPN | UserPrincipalName | Text |
| Kind | Kind | Status |
| Licence | Licence | Text |
| Already provided by | CoveredBy | Text |
| Overlap | SharedPlanCount | Text |
| Shared services | SharedPlansString | Text |
| Assigned via | AssignedVia | Text |
| All licences | AllLicences | Text |
Filters
Section titled “Filters”| Filter | Key (API) | On when the page opens |
|---|---|---|
| Only fully redundant licences | redundant | No |
What it needs
Section titled “What it needs”Licence: No extra licence needed.
Application permissions on the IntensiveReports app registration (all permissions):
| Permission | API | What it allows | Note |
|---|---|---|---|
User.Read.All | Microsoft Graph | Read all users’ full profiles | |
User-LifeCycleInfo.Read.All | Microsoft Graph | Read all users’ lifecycle information | |
Organization.Read.All | Microsoft Graph | Read organization information |
Data sources it reads
GET /v1.0/users?$select=assignedLicenses,licenseAssignmentStatesGET /v1.0/subscribedSkus
Through the API and MCP
Section titled “Through the API and MCP”GET /ir-api/v1/reports/entra.licensing.licence-overlaps?size=100GET /ir-api/v1/reports/entra.licensing.licence-overlaps?filter=redundantAn 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.