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

# Portfolio & billing

> The Overview figures and needs-attention queue, the Clients health columns, and the Billing page: seats, true peak use by month, plan, renewal and the CSV.

Overview and Clients read the account's portfolio, cached for 60
seconds. Billing is read fresh each time. Nothing from a client's own
content (prompt text, file names, its people) ever crosses into this
view. Overview and Clients need `msp.clients.view`. Billing needs
`msp.clients.view` or `msp.billing.view`. A member limited to some clients (see [Team &
permissions](https://docs.blindsight.io/msp/team-and-permissions.md#limiting-an-operator-to-some-clients))
sees figures for those clients only.

## Overview

**Overview** (`/overview`) leads with a row of figures for the whole
account:

| Figure | Reads |
| - | - |
| **Clients protected** | Clients fully protected, of the total, with how many have gaps or nothing deployed. |
| **Devices inspecting** | Inspecting, of enrolled, across every client, with how many are not inspecting or are outdated. |
| **AI services to decide** | Discovered AI services still awaiting a decision, and in how many clients. |
| **Open alerts** | Clients with devices stopped inspecting, AI services to decide, or an outdated agent (one alert per kind per client), with how many are critical. |
| **Seats** | Active people across every client, of the pool, with the difference. |

### Needs attention

A queue of everything worth a look, worst first:

| Severity | What it means | Suggested action |
| - | - | - |
| Critical | Devices stopped inspecting | Open client |
| High | New AI services awaiting a decision | Open client |
| High | The client switched your access off | Contact client |
| Medium | Desktop agent below the current version | Open client |
| Medium | Licence not issued yet | Blindsight issues it |
| Medium | A client approved for your pool holds no seats yet (**Give it seats**) | Change |

Within a severity, the oldest issue comes first. **Open client** takes
you straight into opening that client (see [Opening a
client](https://docs.blindsight.io/msp/opening-a-client.md)). **Change** opens the client's seats and
licence (see [Clients](https://docs.blindsight.io/msp/clients.md#clients-waiting-for-seats)). The
other two are not something the account can resolve itself.

> [!NOTE]
>
> This queue is computed live from the same counts the figures and the
> Clients table already show; there is no separate alert history yet,
> so an issue that clears (a device starts inspecting again) simply
> drops off the list rather than being recorded as resolved.

### Clients with anything open

A short list of every client with at least one open item, as a
shortcut into the full Clients table.

## Clients health columns

See [Clients](https://docs.blindsight.io/msp/clients.md#the-clients-table) for the full table.
**Protection** is the headline health signal: **Protected** means every
enrolled device is inspecting, **Gaps** means some are not, **Not
deployed** means nothing is enrolled yet, and **Unknown** means your
access to that client is off, so nothing can be read from it at all.

## Billing

**Billing** (`/msp/billing`) shows the seat pool and what each client
used in one calendar month. Pick the month in the selector; it lists
the current month and every month with recorded usage, newest first. A line
under the figures says when recording began.

| Figure | Reads |
| - | - |
| **Seat pool** | Seats given to clients, of the pool your licence sets, with how many are still free to give. |
| **Client workspaces** | The total, with how many are on a trial (trials are not billed). |
| **Billable this month** | The true peak seats across every client on your pool for the month. For a past month it reads **Billable that month**. |
| **Renews** | Your account's own plan tier and renewal date. |

### True peak, not a live count

The platform samples each client's active people through the day and
keeps the highest count seen for each day (UTC). A month's **peak** for a
client is the highest of its days. A client that reached its full seat
count on Tuesday and dropped back by Friday is billed for Tuesday, not
for whatever happens to be active when you open the page. Reading the
current month takes one more sample first, so a peak reached since the
last sample is not missed.

**Billable** adds up the peaks of pool clients only. Trial clients and
clients that kept their own licence are not in it.

### By client

| Column | Meaning |
| - | - |
| **Client** | The workspace name. |
| **Seats given** | Blank for a trial client. |
| **Peak this month** | The true peak for the month selected. For a past month it reads **Peak that month**. |
| **Active now** | People active right now. Shown for the current month only. |
| **Licence** | **Pool** (sold by your account), **Kept** (the client keeps its own licence) or **Trial**. |
| **Plan** | **Trial** for a trial client, otherwise its plan tier. Shows a **·** placeholder for a kept licence. |
| **Linked until** | The date the link ended in that month, or **Still linked**. |

A client you released during the month still appears for that month,
with the date its link ended. Seats given and plan are the current
values for a client that is still linked, and the last recorded values
for one that is not.

A client that kept its own licence is listed with **Kept** but is never
billed by the account.

### Export as CSV

**Export as CSV** downloads the month you have selected, named
`msp-billing-YYYY-MM.csv`. It has one row per client and these columns:
**Client**, **Client ID**, **Seats given**, **Peak active users**,
**Active now**, **Peak devices**, **Licence**, **Plan**, **Linked days**
and **Linked until**. **Peak devices** is the most devices enrolled on
any day of the month, and **Linked days** is how many days of the month
the client had recorded usage while linked. Any cell that could open as
a spreadsheet formula is safely quoted first.

## Next

> **[Clients](https://docs.blindsight.io/msp/clients.md)**
>
> Seats, licence, and what each column on the Clients table means.

> **[Opening a client](https://docs.blindsight.io/msp/opening-a-client.md)**
>
> Act on a needs-attention item by opening the client it names.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.