License Status Codes
The Status field on a license record controls whether the engine includes it in the licensing position. This page lists the status codes, what each one does, and when to use them.
Status Codes That Matter to the Engine
| Status | Engine Behavior | When to Use |
|---|---|---|
| In Service | Counted toward entitlement | Active, current licenses |
| Out of Service | Excluded | License has expired or is no longer in use |
| Upgraded and Out of Service | Excluded | Upgraded — the new license takes over (see Upgrade Licenses) |
| Disposed | Excluded | License has been sold, transferred, or otherwise disposed |
| Expired | Excluded | Subscription or term license that has reached its end date |
Only In Service licenses contribute capacity. Everything else is preserved for audit purposes but does not appear in compliance numbers.
Why Not Just Delete Old Licenses?
Two reasons to change status rather than delete:
- Audit trail. A vendor audit may ask "what licenses did you have on date X?" — historical records are the answer.
- Reversal correctness. Deleting a license that previously had grants leaves orphaned transactions. Setting the status preserves the lineage.
The general rule: if a license has ever been in service, change status; do not delete. If a license was created in error and never used, deletion is fine.
Lifecycle Transitions
A typical license moves through these statuses over its life:
For each transition, change the Status field and save. The next calculation reflects the change.
When to Recalculate After a Status Change
Status changes that add capacity (Out of Service → In Service) require a recalculation to start counting the license.
Status changes that remove capacity (In Service → Out of Service) require a recalculation to stop counting it. Until you recalculate, the position will still include the license.
For batch changes (e.g., disposing 50 expired subscriptions), make all the changes first, then run a single recalculation.
Status and Renewals
For a renewing subscription (annual M365 license, Adobe CC seat):
- Option 1: Keep the same record. Update the Date Purchased and (if applicable) End Date on the existing license. Status remains In Service. Use this when the vendor renewal is a continuation of the same subscription.
- Option 2: Create a new record per renewal year. Mark the previous year's license as Expired or Out of Service when the renewal year starts; create a new In Service record for the new year. Use this when you want a per-year audit trail of subscriptions.
Most installations prefer option 1 for SaaS subscriptions (cleaner ongoing record) and option 2 for per-year volume agreements (clear annual lineage).
Out of Service vs Upgraded and Out of Service
Both exclude the license from the position. The difference is documentary:
| Status | Says |
|---|---|
| Out of Service | "This license is gone. No replacement." |
| Upgraded and Out of Service | "This license was traded in for a newer version." |
Use Upgraded and Out of Service when you have a paired In Service license for the upgraded version — the audit trail then shows the upgrade event clearly. See Upgrade Licenses for the workflow.
Querying by Status
The Licenses query can be filtered by Status. To see all expired licenses for a periodic review:
- Open Licensing → Licenses.
- Use the filter pane to set Status = Expired (or Out of Service).
- Review the list; reactivate (change to In Service) any that were marked in error.
Related Reading
- Upgrade Licenses — the Upgraded and Out of Service workflow
- Subscription Licenses — renewal patterns
- Daily Tasks: License Reclaim — finding licenses to status-change