License report

Prev Next

Overview

The License report lists every purchased license in a tenant with the seats purchased, assigned, available, and idle, the utilization, the unit price, and the monthly cost of the assigned seats. It is written for the people who approve license renewals. Use it to size a renewal to what the tenant actually uses.

You switch the report on, schedule it, and choose who receives it the same way as the other reports. See Reports in Tenant Manager.

Business value

A renewal is easier to decide when you can see the seats behind it. Approvers see how many seats each license has, how many are assigned, and how many sit idle, together with the price of a seat. They can renew what the tenant uses and question the rest.

Prerequisites

Before you use the report, connect a tenant and wait for its first sync to finish. The report uses the data from the last sync.

Required permissions

You need Read on Reports to see the report and its Generation history. You need Manage on Reports to generate the report on demand or change its schedule. For details, see Roles and permissions in Tenant Manager.

Role Access
Owner, Contributor Read and Manage on Reports.
Reader Read on Reports only.
Custom role Whatever the role's Read and Manage switches for Reports allow.

Dependencies

  • Synced data: the report uses the data from the last sync. See How data sync works.
  • Prices: the unit price and the monthly cost use prices from your Microsoft billing or from the Global price catalog. See Global price catalog.
  • Sign-in and usage data: Idle seats depend on the tenant's app registration having the AuditLog.Read.All permission and the Reports.Read.All permission, with admin consent.

How it works

The License report has one row for each paid license that has purchased seats. In the PDF, the rows follow a summary page. In the Excel file, the rows are the only content. The report has these columns.

Column What it shows
License The name of the license.
Purchased The number of seats you bought.
Assigned The number of seats assigned to users.
Available The purchased seats that are not assigned. It reads "Over by {n}" when more seats are assigned than were purchased.
Idle seats The assigned seats whose user is disabled or has had no activity in the last N days. N is the No activity for more than (days) setting of the report, and the default is 90.
Utilization The assigned seats as a share of the purchased seats. It is above 100% when more seats are assigned than were purchased.
Unit price The monthly price of one seat. It reads "Not priced" when no price is recorded.
Monthly cost (assigned seats) The unit price multiplied by the assigned seats. A dash means the license is not priced.

No activity for more than (days) is under Report settings in the Configure dialog of the report. The field tooltip says that the License report uses it for Idle seats. The activity window in the report file reads "Last N days". The idle seats figure on the tenant Overview always uses 90 days. It can differ from Idle seats in this report when you change No activity for more than (days).

Included licenses and prices

The report lists paid licenses with purchased seats. A license with no purchased seats, for example a subscription that has ended, is left out. The PDF notes how many licenses with no purchased seats were left out. The report does not count trial licenses and self-service licenses in the seat numbers. Microsoft reports thousands of placeholder seats for them, which would distort the utilization percentages.

The unit price comes from your Microsoft billing, or from a custom price that you set in the Global price catalog. A license with no price shows Not priced and is counted in Licenses not priced. Billed prices exist only for tenants on a Microsoft Customer Agreement, and a custom price takes precedence over a billed price. Licenses without a price are billed another way, for example as partner benefits or through a partner.

Order and summary

The report lists licenses by assigned seats, highest first. In the PDF, when the report lists more than one license, a Total row closes the table. Its monthly cost shows one subtotal for each currency, because the report does not convert prices, for example £10.87 + $10.00. The monthly cost in the total covers only the licenses that have a price. The Excel file has no totals row.

The summary page of the PDF starts with Key facts: the scope, when the data was last synced, the activity window, and the currency. It then shows four figures: Purchased seats, Assigned seats with their share of the purchased seats, Idle seats, and Licenses not priced as a count out of all licenses. When a license has more seats assigned than purchased, a note says how many licenses are over-assigned and points to their Available cells. In Generation history, the Details column gives a one-line summary of the run.

Steps

The steps below generate the report and open the file. You start on the Reports page of the tenant. To change the schedule, format, or recipients, see Reports in Tenant Manager.

Generate and read the License report

This procedure creates a copy of the report on demand and opens it.

  1. Select the tenant in the tree view, expand License management, and select Reports.
  2. On the License report row, make sure the switch is on. Open the actions menu and select Generate now.
  3. Open the actions menu again and select Generation history.
  4. When the run shows Succeeded, select Download in the File column.
  5. Open the file. In the PDF, start with the Report summary page. In the Excel file, use the filters on the Rows sheet to narrow the list, for example to licenses with idle seats.

Change the activity window

This procedure sets how many days without activity make an assigned seat idle in the report.

  1. On the License report row, open the actions menu and select Configure.
  2. In No activity for more than (days), enter the number of days. The default is 90.
  3. Select Save.

Example scenario

Before the yearly renewal, Kwame Mensah, a module owner at Bright Orchard Foods, wants the license approvers to see how well each license is used. He configures the License report for the Bright Orchard Ghana tenant to run monthly on the 15th at 06:30, as a PDF, and sends it to the approvers.

In the report, Microsoft 365 E3 shows 300 seats purchased, 262 assigned, and 14 idle. The approvers ask for the renewal to be reduced and use the unit price to estimate the saving.

Limitations

  • The report covers one tenant at a time. Tenant groups have no License report.
  • The report lists paid licenses with purchased seats only. Trial and self-service licenses are not counted.
  • The order of the rows is fixed.
  • The activity window for idle seats is the No activity for more than (days) setting of the report. The default is 90 days.
  • Without Microsoft Entra ID P1, last activity comes from Microsoft 365 usage reports that record only email, Teams, SharePoint, and OneDrive use and can miss activity, which affects Idle seats. The License report email does not carry a note about this.
  • The report is read-only. It does not change any license.

Troubleshooting

  1. A license that I expect is missing from the report.
    Cause: it is a trial or self-service license, or it has no purchased seats.
    Fix: open the license in Explore licenses.

  2. Available reads "Over by" a number.
    Cause: more seats are assigned than were purchased.
    Fix: review who holds the license, or purchase more seats.

  3. The summary shows licenses not priced.
    Cause: Tenant Manager found no price for those licenses, and no custom price is set. Billed prices exist only for tenants on a Microsoft Customer Agreement. They are billed another way, for example as partner benefits or through a partner.
    Fix: set a custom price in the Global price catalog, and then generate the report again. See Global price catalog.

FAQs

  1. Why are trial licenses missing?
    Microsoft reports thousands of placeholder seats for trial and self-service licenses. They would distort the utilization percentages, so the report leaves them out of the seat numbers.

  2. What does "Over by" mean in the Available column?
    More seats are assigned than were purchased. The number tells you by how many.

  3. Where does the unit price come from?
    From a custom price that you set in the Global price catalog, or, when there is none, from your Microsoft billing. Billed prices exist only for tenants on a Microsoft Customer Agreement.

  4. What decides which seats count as idle?
    A seat is idle when its user is disabled or has had no activity in the last N days. N is No activity for more than (days) in the Configure dialog of the report. The default is 90.

Related articles