Since I’ve written multiple posts on this topic in the past, I thought it would be a good idea to combine the different posts and create a place that I can continually update with the latest information. So going forward, while I will still have individual posts on user licensing as well, this post will always be updated with the latest information.

Last Updated: 11/11/2025

Where We Started

In AX 2012 and versions of D365FO prior to October 2019, the only licensing mechanism within the system was ‘Entry Point Based Licensing’. In this methodology, each menu item had two separate parameters:

  • ViewUserLicense – user requires this license if they are assigned Read access to this object
  • MaintainUserLicense – user requires this license if the are assigned Update/Create/Delete to this object

The D365FO license types available were hierarchy based (from highest to lowest):

  • Operations (will be listed as Enterprise in AOT)
  • Activity
  • Team Members (will be listed as Universal in AOT)

You could report on the licensing either from:

  • The user interface in the View Permissions area of System Administration -> Security Configuration

  • From the ‘View Related Objects and Licenses for All Roles’ report in the AOT.

The licensing model looked like the following:

October 2019 Licensing Update

The change that Microsoft made to user licensing in October 2019 was that the Operations level licensing is now broken out by application area into what are now called ‘license SKUs’. There was no overarching license for either Customer Engagement or Finance & Operations, there were different areas within each application that required a particular license.

 

The way to determine which license SKUs a user is now required to have is based on the privileges the user is assigned. These privileges come from the roles assigned to the user via the role -> duty -> privilege hierarchy structure of the security model.

So now there are two separate licensing models in use currently:

  • Entry Point Based Licensing (explained above)
  • Privilege Based Licensing (explained below)

Base vs Attach Licenses

When licensing for a user there are two categories of license: Base and Attach.

And they have the following characteristics:

Base

  • Must be the first license assigned to a user
  • Must be the highest priced license
  • Every user must be assigned a ‘base’ license to access the application

Attach

  • Added on to a ‘base’ license
  • A user can have as many ‘attach’ licenses as needed

What is Privilege Based Licensing?

Microsoft designates certain privileges to be associated to one or more license SKUs and then determines if that license SKU is required or if any listed license SKU will meet the requirements. This is done from a static JSON file loaded into the LicensingServicePlansPrivilege table.

The PrivilegeIdentifier is the system name of the privilege, the SkuName is the license SKU, and the IsUnique column determines if that particular license is required to be assigned to the user or if any of the license SKUs associated to the privilege will meet the requirements. So an IsUnique value of 1 dictates that a user assigned that privilege is required to have that license SKU either as a base or an attach license, an IsUnique value of 0 means any of the listed license SKUs for that privilege will meet the licensing requirements.

November 2023 Update

In the 10.0.34 release, Microsoft silently released a new feature parameter that impacted how licensing is calculated. This update effectively made all ‘Read’ access assigned to any menu items require only a ‘Team Member’ license.

Full blog post on the update: https://alexdmeyer.com/2023/11/06/hidden-feature-flag-changing-how-user-licensing-is-performed-in-d365fo/

So How Does Entry Point Licensing and Privilege Based Licensing Work Together?

I’ve created a Visio diagram to help with the process of showing how these two licensing methodologies work together:

Pricing Update Oct 1st 2024

Microsoft announced that they are planning on updating the pricing of all Dynamics 365 licensing on October 1st 2024.

Full overview of this update can be found here: https://alexdmeyer.com/2024/04/15/microsoft-updates-dynamics-365-license-pricing-to-take-effect-october-1st-2024/

2025 Licensing Update

In March of 2025, Microsoft announced that they would be starting to implement ‘license enforcement’ within D365FSC. Along with this, they would also change the licensing model again to help accommodate the enforcement process. In 10.44 Microsoft has deployed a number of new tables which are storing the licensing information being analyzed within the Power Platform Admin Center (PPAC). Below is a (non-comprehensive) listing of tables and queries I have found / am using to help determine the license requirements.

LicensingEntitlementObjects

A listing of all objects within the system.

LicensingAllSKUs

A table that stores all current licenses, their priority order in the analysis, and the ‘group name’ they are a part of.

LicensingElementsRequiringEntitlement

This table stores the objects that have a license requirement.

LicensingAllEntitledPermissions

A table that stores the association between an object and the licenses that would meet the requirements for assignment.

Object License Query

This is a query I developed that joins the above tables to help determine the lowest license requirement for each object.

Based on the tables above we can see that objects themselves actually drive all licensing. We can also see that we have added some additional object types that can drive license requirements:

  • Menu Items (menu item displays, menu item outputs, menu item actions)
  • Service Operations (new)
  • Data Entities (new)
  • Data Entity Methods (new)

Also all Read access to objects will require a Team Member, the only exception to this if is the ‘EnforceReadPermission’ value of the object is set to 1 (true). If this is the case, then whatever licenses are listed are required for read access to the object. If a user has Update, Create, or Delete access to the object the the licensing information from the LicensingElementRequiringEntitlement table is what is used to determine the license.

The licenses themselves are arranged in a hierarchy model with the SCM / Finance Premium licenses at the top and Team Member / HR Self Service at the bottom. This is based on the ‘Priority’ value from the LicensingAllSkus table. They are further grouped based on license cost:

The overall process for determine user licenses is based on the following process:

  • Determine user access based on all of the roles assigned to a user, this will generate a user -> object assignment matrix
  • Determine the license requirement for each object assigned to a user based on the query I shared from above
  • Analyze the object license requirements to find the best combination of licenses that cover all objects assigned to the user (eg: ensure the user is ‘Entitled’ to all objects they are assigned)

Deprecated License Reports

Microsoft has deprecated all ‘legacy’ license reports, this includes:

  • View Permissions report
  • License shown during user role assignment
  • User License Counts
  • User License History

Dynamics 365 License Reporting

Microsoft is now directing all users to utilize the User Security Governance functionality for license reporting, specifically the License Usage Summary reports which includes license reporting at the user, user role, role, duty, and privilege levels. These reports can be found at System Administration -> Security -> Security Governance -> License Usage Summary:

 

User License Enforcement Date

This has been changed multiple times but the latest announcement is the postponement of license enforcement from November 1st, 2025 to align with the a D365 customer’s contract anniversary or renewal date. This change will start on January 15, 2026 with ‘soft enforcement’ happening 30 days prior to the actual enforcement date, with the ‘hard enforcement’ happening 15 days after the contract / renewal date.

Additional Licensing Enforcement Call Outs

  • License validation is performed at the tenant level, if a customer has multiple tenants each tenant could potentially have its own validation start date.
  • A separate license is required for each tenant a user has access to
    • A separate license is not required for multiple production instances under the same tenant
  • If your organization has a license renewal date before January 15th 2026, you will move to the new user license validation model at your next contract renewal date.
  • Users assigned the SysAdmin role do not require a license
  • B2B guest users must be licensed like any other user – even if they are from another domain / tenant
  • Service accounts do not require a license as long as they are not assigned roles that provide ‘interactive or business functionality’.
  • Multiplexing rules still apply – if an external user accesses D365 data through an application / automation they must be assigned the appropriate license as if they accessed that data within the application itself
  • All custom objects will require a Team Member license
  • Device licenses are not going to be considered for enforcement during this initial phase
  • Microsoft has designated 50+ out of the box roles that do not require a license

Resources

Optimizing ERP Security Configuration and Licensing within Microsoft Dynamics 365

Simplifying License Management in Dynamics 365 

User security role reporting and technical validation for finance and operations apps FAQ

Determining User Licenses in D365FO

October 2019 User Licensing Update for D365FO

Current State of D365FO User Licensing for August 2020

Current State of D365FO User Licensing December 2020

Microsoft Dynamics 365 Licensing Guide