> ## 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.

# Licenses

> Manage software license records including seat counts, status, renewal tracking, and create or edit license entries.

The Licenses page (`/it/licenses`) provides a paginated list of software licenses for your organization. It supports filtering via `LicenseFilterBar` and links to individual license records.

## Overview

The page uses `useLicenses` with `LicenseFilters` and pagination (page size 20). License records display in `LicenseTable`. A **New License** button navigates to `/it/licenses/new`.

## Who it's for

No explicit secondary permission gate beyond the outer `ITViewGuard` (`it.view`). Creating licenses requires `it.licenses.create`.

## Before you start

* You must have the IT module permission (`it.view`).

## Steps

<Steps>
  <Step title="Open the Licenses list">
    Navigate to `/it/licenses`.
  </Step>

  <Step title="Filter licenses">
    Use the filter bar to narrow results by status, type, or other available criteria.
  </Step>

  <Step title="Navigate pages">
    Use Previous/Next buttons when the total count exceeds 20.
  </Step>

  <Step title="Open a license record">
    Click a license row to navigate to `/it/licenses/:id`.
  </Step>

  <Step title="Add a new license">
    Click **New License** to navigate to `/it/licenses/new`.
  </Step>
</Steps>

## Viewing a license

The License Details page (`/it/licenses/:id`) displays the full record for a single software license, including its seat allocation, status, and related assignment data.

The page renders `ITLicenseDetailPage` (lazy-loaded from `@/cores/it/pages/licenses/LicenseDetailPage`). The `:id` URL parameter identifies the license record to load.

No explicit secondary permission gate beyond the outer `ITViewGuard` (`it.view`). Editing requires `it.licenses.edit`; deleting requires `it.licenses.delete`.

Before you start: navigate from the Licenses list (`/it/licenses`) or from the License Compliance dashboard.

1. From `/it/licenses`, click a license row, or navigate directly to `/it/licenses/:id`.
2. View seat allocation, license type, vendor, expiry date, and assignment information.
3. Navigate to `/it/licenses/:id/edit` to update the license record.

## Creating a license

The New License page (`/it/licenses/new`) provides a form for registering a new software license in the IT module.

The page renders `ITNewLicensePage` (lazy-loaded from `@/cores/it/pages/licenses/NewLicensePage`). The specific form fields are defined in the `NewLicensePage` component.

No explicit secondary permission gate beyond the outer `ITViewGuard` (`it.view`). Creating licenses requires `it.licenses.create`.

Before you start: hold the `it.licenses.create` permission. Have the software vendor, license type, seat count, and expiry date ready.

1. From the Licenses list, click **New License**, or navigate to `/it/licenses/new`.
2. Complete all required fields.
3. Submit the form. On success you are redirected to the new license record.

## Editing a license

The Edit License screen allows updating an existing software license record and is accessible at `/it/licenses/:id/edit`.

The Edit License page loads the existing license via `useLicense`. If not found, a "License not found" message is shown. The form is rendered using the shared `LicenseForm` component pre-populated with the existing data. Fields include: name, software name, license type, status, total seats, optional description, optional software version, optional publisher, optional license key, optional purchase date, optional activation date, and optional expiry date. On save, `updateLicense` is called with the updated data and the user is redirected to the license detail page.

Before you start: the license must exist.

1. From the license detail page, click the edit action to navigate to `/it/licenses/:id/edit`.
2. Modify the relevant fields in the `LicenseForm` — name, type, seat count, dates, and other optional attributes.
3. Submit the form. On success, the user is redirected to the license detail page.

**LicenseForm** — Shared form component used for both creating and editing licenses.\
**total\_seats** — Number of licensed seats available for assignment.\
**license\_key** — Optional; SME should confirm sensitivity and masking requirements.\
**expiry\_date** — Optional date when the license expires.

## 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/LicenseListPage.tsx
  * src/cores/it/pages/licenses/LicenseDetailPage.tsx
  * src/cores/it/pages/licenses/NewLicensePage.tsx
  * src/cores/it/pages/licenses/EditLicensePage.tsx
  * src/cores/it/hooks/useLicenses.ts
</Accordion>
