Zoomed Image

License Metrics: Per User, Per Computer, Per Core, Per Processor

Software Asset Management Guide
Concepts

License Metrics: Per User, Per Computer, Per Core, Per Processor

A license measures consumption in a specific unit — one user, one computer, one core, one processor. Choosing the right metric on the license record is the single most important data quality task in SAM, because the metric determines how much capacity the engine credits and how much consumption it counts.

This page lists the available license types, what unit each one consumes, and how to choose between them.

License Type Flags

Every license type belongs to one of four metric flags. The engine uses the flag to select which field on each transaction to count.

Flag Metric What It Counts
1 Per Computer or Server One unit per device with the product installed
2 Per User One unit per named user assigned to the product
3 Per Physical Core Total physical cores on devices running the product
4 Per Physical Processor Total physical processors on devices running the product

All Built-In License Types

The full set of license types shipped with xAssets, grouped by flag:

Flag 1 — Per Computer or Server

Code Display Name When To Use
SERVER Per Computer or Server The default for boxed software, OS licenses, perpetual desktop products
INSTANCE Per Instance Software priced per running instance (e.g., per SQL instance)
SUB Sub Component A license that is a sub-component of a larger SKU bundle. Not for subscriptions.
SUBSCRIPTION Per Subscription A periodic per-device subscription (rare; see notes below)
FREE Free Free software — generates consumptions but no grants
UNKNOWN Unknown Placeholder for unclassified licenses; should be resolved

Flag 2 — Per User

Code Display Name When To Use
USER Per User The default for SaaS subscriptions: M365 user plans, Adobe Creative Cloud, Salesforce, Google Workspace, GitHub Enterprise
NAMEDUSER Per Named User When the license is tied to a specific named individual
CAL Per CAL Microsoft Client Access Licenses
UAL User Access License (Per UAL) Microsoft User Access Licenses

Flag 3 — Per Physical Core

Code Display Name When To Use
CORE Per Physical Core Server software licensed per core (e.g., SQL Server Standard / Enterprise)
CORE4 Per Physical Core (4 minimum) Per-core with a 4-core floor per server
CORE8 Per Physical Core (8 minimum) Per-core with an 8-core floor per server (e.g., Windows Server Datacenter)
CORE16 Per Physical Core (16 minimum) Per-core with a 16-core floor per server
VIRTUALCORE Per Virtual Core Per-core counting virtual rather than physical cores

Flag 4 — Per Physical Processor

Code Display Name When To Use
PROCESSOR Per Physical Processor Older per-socket licensing (some Oracle products, legacy SQL Server)

Choosing the Right Type

Common pitfall — subscriptions. It is easy to assume SUBSCRIPTION is the right type for any subscription product. It is not. SUBSCRIPTION is per device. For per-user SaaS products like Microsoft 365, Adobe Creative Cloud, Salesforce, and Google Workspace, use USER or NAMEDUSER. The SUB code is something different again — it is "Sub Component" for licenses that are part of a larger bundle.

Three quick decisions get you to the right type:

  1. Who is the license tied to? A specific person → USER or NAMEDUSER. A device → continue.
  2. Is it counted per server or per processor unit? Per server → SERVER or INSTANCE. Per CPU unit → continue.
  3. Per core or per socket? Per core → CORE, CORE4, CORE8, CORE16, VIRTUALCORE. Per processor → PROCESSOR.

What the Engine Does With the Metric

The metric controls two things:

Capacity — how the license's seat count is interpreted:

License Type "50 Seats" Means
Per User 50 user assignments
Per Computer 50 device assignments
Per Core 50 cores of capacity
Per Processor 50 processors of capacity

Consumption — how each install is counted:

License Type Each Install Counts As
Per User 1 per user (not per device)
Per Computer 1 per device
Per Core the asset's CPUCores value
Per Processor the asset's PhysicalProcessors value

The licensing position is computed by summing capacity and summing consumption in the right metric and comparing.

Per-user counts users, not installs. A title installed on three machines all logged in by the same user counts as one user license consumed, not three. The engine groups consumption by custodian for per-user license types.

The same title installed on three machines logged in by three different users counts as three user licenses.

Grant Transaction Fields

When the engine posts a grant, it populates a different field on the transaction depending on the license type:

License Type Grant Field Populated
Per User Rights = 1
Per Computer CoreUnits = 1
Per Core CPUCores = N (asset's core count)
Per Processor PhysicalProcessors = N

This matters when querying transactions directly — to count consumption across mixed license types you must select the right field for each license type. The Licensing Position queries handle this automatically.

Where the Type Comes From

For each transaction, the engine looks up the license type from a different place:

Transaction Type License Type Comes From
Consumption (Type 11) The product record
License Evidence (Type 12) The license record
Grant (Type 13) The license record

This means a product can have a "default" license type (set on the catalog entry) that consumptions use, while individual licenses can be of a different type if you genuinely have a mix of contracts.

Health Check Queries

Two diagnostic queries on the License Dashboard → Licensing Calculation Steps tab tell you when license types are wrong or missing:

  • Software Licenses missing LicenseType — license records that have no type set; the engine will exclude them
  • Software Products missing LicenseType — catalog entries with no default type; consumptions cannot be metered correctly

If either count is non-zero, fix it before relying on the position.