Skip to main content

License audits and utilization

Keep seat counts honest and stop paying for licenses nobody uses. Two features work together: a users audit reconciles a single license's recorded seat count against its real state on the vendor's platform, and the utilization report scans every active license for dormant seats you can reclaim and reissue.

Both live in the admin console. The audit runs from a license's detail page; the utilization report is the Utilization tab in the Software section.

:::note Before you begin

  • You have an admin role (admin, it-admin, or super-admin).
  • The license already exists in inventory. To add one, see Manage licenses.
  • For utilization signals to reflect real app usage, the OnTrackio Agent must be reporting on the assignee's device. Without it, the report falls back to portal sign-in activity. See Agent overview. :::

How a users audit works

A users audit is a two-stage workflow. You start it, clean up seats on the software's own admin console (add or remove people, downgrade editions), then come back and record the new count. Completing the audit writes the corrected number back to the license and, optionally, schedules the next review.

StageWhat happensSeat count
StartAn audit opens, stamped with who started it and the current seats_used as seats before.Unchanged — recorded as the baseline.
Clean upYou make changes on the vendor's platform. OnTrackio does not touch the vendor.Not yet updated.
CompleteYou enter the real count. OnTrackio overwrites the license's recorded seats and logs the delta.Set to seats after.

Only one audit can be in progress per license at a time. Start is blocked with An audit is already in progress for this license. until you complete the open one.

Start a users audit

  1. Open Software in the sidebar, select Licenses, then open the license you want to audit.
  2. In the page header, select Start users audit and confirm.
  3. Switch to the software vendor's own admin console and make your changes — remove inactive users, downgrade over-provisioned editions, confirm the seats that should stay.

The license page now shows an amber Users audit in progress banner with who started it and the seats before baseline. The header action changes to Complete users audit.

note

OnTrackio doesn't call the vendor's API during an audit. The clean-up happens on the software's own platform; the audit is your record of what you did and the corrected seat count.

Complete a users audit

To close an open audit, record the new seat count and schedule the next review.

  1. On the license page, select Complete users audit in the header. The completion dialog opens.
  2. Set the fields below, then select Complete audit.
FieldRequiredDefaultNotes
Seats used after cleanupYesCurrent seats_usedThe real seat count after your changes. Integer from 0 to 100000. Overwrites the license's recorded seats.
What did you do / change?NoEmptyFree text up to 5000 characters. Becomes part of the audit history — keep it short and specific.
Schedule next users auditNo3 monthsPick an interval, or None to schedule nothing. Allowed values are listed below.

The Schedule next users audit intervals:

OptionMeaning
1mo12moSet the next audit due date this many months out. Allowed intervals are 1, 2, 3, 4, 6, 9, and 12 months.
NoneDon't schedule a follow-up. No due date is set.

When you complete the audit:

  • The license's recorded seat count is updated to seats after.
  • The audit moves to Completed in the Users audit history list, showing the seat change (for example, 12 → 9) and your notes.
  • If you set an interval, a Next due date appears, and when that date arrives every admin gets a notification that it's time for another audit.
tip

The seat change is recorded as a delta, so the history doubles as a trend line — a license that keeps shrinking on each audit is a renewal you can negotiate down.

Read the utilization report

The utilization report ranks every active license by how fully its seats are used and flags dormant seats. Open Software in the sidebar, then select the Utilization tab.

The report covers licenses whose status is Active, Trial, or Pending renewal. Unlimited-seat licenses appear but show no utilization percentage.

Three figures sit across the top:

KPIWhat it counts
Dormant seatsTotal dormant seats across all active licenses, at the current threshold.
Potential savingsEstimated spend recoverable if every dormant seat were reclaimed, per billing cycle. Uses each license's cost per seat.
Dormancy thresholdThe inactivity window that defines "dormant". Change it to recalculate everything below.

What counts as dormant

A seat is dormant when its holder shows no recent activity within the threshold. The report picks the strongest available signal per seat:

SignalSourceUsed when
Last usedThe OnTrackio Agent's per-app usage telemetry.The agent has reported usage for this assignment — the accurate signal.
Last loginThe user's last sign-in to the OnTrackio portal.No agent telemetry exists for the seat yet (agent not installed, or installed but not yet reporting).
Always dormantThe assignee's account is inactive or offboarded, regardless of dates.
note

The fallback signal answers "has this person logged into OnTrackio lately?", which is a weaker proxy than real app usage. Roll out the agent on assignees' devices to base reclamation on what people actually run.

Adjust the threshold and sort

ControlOptionsNotes
Dormancy threshold30, 60, 90, 120, 180, or 365 days inactiveDefault is 90 days. Changing it recomputes dormant counts and savings.
Sort byHighest utilization, Lowest utilization, Most savings, Most dormantDefault is highest utilization. Sort by savings or dormant to triage the biggest wins first.

Each license card shows a utilization bar (red at or above 90%, amber at or above 70%, green at or above 30%, grey below) and a dormant badge with the count. Licenses with no dormant seats read All assignments active.

Reclaim dormant seats

Reclaiming revokes the dormant assignments you select and frees the seats for reuse.

  1. On the Utilization tab, find a license with dormant seats. Its card lists each dormant holder with their Status, Last login, and Assigned date.
  2. Select the seats to revoke. Use the header checkbox to select every dormant row on that license.
  3. Select Reclaim selected seats and confirm.

For each reclaimed seat:

  • The assignment is revoked and the license's used-seat count drops by one.
  • A note is appended to the assignment recording that it was reclaimed via the dormancy report, with the date.
  • The affected user gets an in-app notification telling them the seat was reclaimed and that they can request access again.
warning

Reclaiming notifies the user and removes their access. Confirm the seat is genuinely unused — check the Last used signal, not just Last login — before you revoke, especially for licenses without agent telemetry.

If someone still needs a reclaimed seat, reassign it from the license's detail page. See Assign and revoke licenses.

Audit a single busy license

For a license with many seats, the per-license Assignments view is a focused alternative to the utilization report. Open the license, then select its assignments list to see every holder with Total assigned, Inactive (≥30d), and Available counts at the top.

ActionHow
Find idle holdersSelect Show only inactive (≥30 days) to filter to seats whose last-used date is empty or older than 30 days.
Revoke one seatSelect Revoke on a holder's row and confirm. The seat frees immediately.
Export the listSelect Export CSV to download the current view, honouring your search and inactive filters.

Verify

  • After completing an audit, the license header no longer shows the in-progress banner, and the Users audit history list shows a Completed entry with the seat delta.
  • If you scheduled a follow-up, the completed audit shows a Next due date.
  • After reclaiming, the license's used-seat count on the Utilization tab and the license page both drop by the number of seats you revoked.

Troubleshooting

SymptomWhat to do
An audit is already in progress for this license.An open audit exists. Select Complete users audit and record the count, or finish the open audit before starting a new one.
This audit is already completed.The audit was completed elsewhere. Reload the license page; start a fresh audit if you need another review.
The completion dialog won't accept the seat countSeats used after cleanup must be a whole number between 0 and 100000. Remove decimals and any thousands separators.
A license is missing from the utilization reportThe report only includes Active, Trial, and Pending renewal licenses. Check the license's status on its detail page.
Dormant counts look too highSeats fall back to portal sign-in when no agent telemetry exists, so users who work without signing into OnTrackio look idle. Deploy the agent on their devices, or raise the Dormancy threshold.
Unlimited license shows no utilizationUtilization percentage is undefined for unlimited-seat licenses. Track these by assignment count instead.