> ## Documentation Index
> Fetch the complete documentation index at: https://docs.encoreos.io/llms.txt
> Use this file to discover all available pages before exploring further.

# License Compliance

> Dashboard showing license utilization, seat allocation, annual cost, expiring licenses, over-allocated licenses, and a type-distribution chart.

The License Compliance page (`/it/license-compliance`) is a compliance dashboard summarizing software license health: utilization rate, seat assignments vs. total seats, annual cost, licenses expiring within 30 days, and over-allocated licenses. It includes a pie chart showing distribution by license type.

## Overview

The page uses three hooks: `useLicenseCompliance` (aggregate stats), `useExpiringLicenses(30)` (licenses expiring within 30 days), and `useLicenses` (all active licenses for the distribution chart and over-allocation check). Over-allocated licenses are computed client-side: `assigned_seats > total_seats`.

## Who it's for

No explicit secondary permission gate beyond the outer `ITViewGuard` (`it.view`).

## Before you start

* Ensure software licenses have been entered into the system with accurate seat counts.

## Steps

<Steps>
  <Step title="Open License Compliance">
    Navigate to `/it/license-compliance`.
  </Step>

  <Step title="Review the summary cards">
    Four cards show: Total Licenses, Seat Utilization (with progress bar), Annual Cost, and Compliance status.
  </Step>

  <Step title="Check expiring licenses">
    The Expiring Soon panel lists licenses expiring within 30 days. Licenses expiring in 7 days or fewer display a destructive badge. Click an arrow to open the license detail.
  </Step>

  <Step title="Resolve over-allocated licenses">
    The Over-Allocated panel lists licenses where assigned seats exceed total seats. Click through to the license detail to adjust allocations.
  </Step>

  <Step title="Review the distribution chart">
    The License Distribution pie chart shows the breakdown of active licenses by type.
  </Step>

  <Step title="Manage licenses">
    Click **All Licenses** to go to `/it/licenses` or **Add License** to create a new license at `/it/licenses/new`.
  </Step>
</Steps>

## Key concepts

| Concept               | Description                                                     |
| --------------------- | --------------------------------------------------------------- |
| `utilizationPercent`  | `assignedSeats / totalSeats * 100` across all active licenses   |
| Over-allocated        | Any license where `assigned_seats > total_seats`                |
| `expiring30Days`      | Count of licenses with expiry date within the next 30 days      |
| `LICENSE_TYPE_LABELS` | Maps internal license type keys to display labels for the chart |

## Related

<Columns cols={2}>
  <Card title="IT Service Management" icon="headset" href="/it/overview">
    IT Service Management overview.
  </Card>

  <Card title="Governance & parity" icon="scale-balanced" href="/governance/index" />
</Columns>

<Note>
  This page documents shipped product behavior. It is not medical, legal, or
  billing advice. Verify against your organization's policies and applicable
  regulations before using it for clinical, compliance, or billing decisions.
  Protected health information (PHI) shown in the product is governed by your
  tenant's access controls and is never exposed in this documentation.
</Note>

<Accordion title="Documentation sources">
  * src/routes/it.tsx
  * src/cores/it/pages/licenses/LicenseCompliancePage.tsx
  * src/cores/it/hooks/useLicenseCompliance.ts
  * src/cores/it/hooks/useLicenses.ts
</Accordion>
