---
title: "Bill by device type and seat"
description: "Price servers, workstations, and other device types differently on one agreement, and bill per person with included devices and overage."
url: "https://support.outpostplatform.com/msp/device-and-seat-lines/"
product: "depot"
type: "how-to"
status: "draft"
ai_summary: "MSP plan. Per device and Per seat lines take a device filter (server or workstation, class, OS, server role, tag, device group, site). Lines are checked top down; an Exclusive line keeps the devices it matches, add-ons stay non-exclusive. Per seat bills each person with pooled included devices and an overage price. The estimate lists devices no line bills."
availability:
  plans: ["msp"]
  permission: "psa:write"
  preview: false
source: "https://gitlab.com/outpostplatform/docs/-/edit/main/src/content/docs/msp/device-and-seat-lines.md"
license: "CC BY 4.0"
---

# Bill by device type and seat

A client rarely pays one price for every device. This page shows how to bill
servers and workstations at different rates on one agreement, how to add
charges such as backup on top, and how to bill per person with a number of
devices included. You finish with an agreement whose lines each count exactly
the devices or people you mean.

## Before you begin

- You have an agreement to edit. See [Client agreements](/msp/agreements/).
- Editing lines needs `psa:write`.
- Server roles, custom tags, device groups, and sites come from the client's
  endpoints. Set them up first if a line needs to match on them. See
  [Server roles](/endpoints/server-roles/) and
  [Organize endpoints with sites, device groups, and tags](/endpoints/organize-endpoints/).

## How counted lines work

Three line kinds count something when the invoice is drafted:

| Kind | Counts |
| --- | --- |
| **Per device** | The client's live devices that match the line's device filter. |
| **Per user** | The active people on the client's end users list. |
| **Per seat** | The same people, with a number of devices included per person and an overage price for devices beyond them. |

**Per device** and **Per seat** lines take a device filter. A line with no
filter counts every live computer, which is how a per device line counted
before device filters existed.

Lines are checked from the top. An **Exclusive** line keeps the devices it
matches, so a lower line never bills them again. A line that is not exclusive
counts every device its filter matches, whatever the lines above it took. Use
that for an add-on such as backup that bills on top of the main line.

| You want | Set up |
| --- | --- |
| Servers at one price, workstations at another | Two **Per device** lines, both **Exclusive**: the first filtered to **Servers only**, the second to **Workstations only**. |
| Backup on every server, on top of the server line | A third **Per device** line filtered to **Servers only**, with **Exclusive** off. |
| A price for one site | A **Per device** line filtered to that **Site**, above the general line, with **Exclusive** on. |
| Per-person pricing with two devices each | One **Per seat** line with **Devices included per seat** set to `2`. |

New lines start with **Exclusive** on. Lines saved before device filters
existed keep **Exclusive** off, so two such lines still each count the whole
fleet, as they did before.

## Set a line's device filter

1. Open the agreement: in the client's workspace, select **Client billing** >
   **Agreements**, then the agreement.
2. Under **Lines**, find the **Per device** or **Per seat** line. Its
   **Devices** row reads the filter as a sentence, such as **Every live
   computer.**
3. Select **Choose devices**.
4. Narrow the line. A device must match every group you narrow, and any one
   of the boxes ticked within a group. A group with nothing ticked matches
   everything.

   | Group | Choices |
   | --- | --- |
   | **Server or workstation** | **Both**, **Servers only**, or **Workstations only** |
   | **Device class** | **Computers**, **Phones and tablets**, **TVs**. Nothing ticked counts computers only. |
   | **Operating system** | Windows, macOS, Linux, FreeBSD, OpenBSD, NetBSD, iOS and iPadOS, Android |
   | **Server role** | The built-in server roles |
   | **Custom tag** | The client's custom tags |
   | **Device group** | The client's device groups |
   | **Site** | The client's sites |

5. Check the sentence beside **Devices**. It is what the line bills, for
   example **Windows servers at Main Office.**
6. Turn **Exclusive** on or off. See [How counted lines work](#how-counted-lines-work).
7. Use the line order to decide which exclusive line takes a device first.
   Put the narrowest line at the top.
8. Select **Save**.

To remove a filter, select **Clear the filter**. The line then counts every
live computer.

:::caution
A server is a machine running a server edition of its operating system or
holding a built-in server role. A Linux or BSD machine with no server role
counts as a workstation. If such machines are servers, tag them or put them in
a device group, and filter on that instead of **Servers only**. The next-bill
estimate warns when this applies.
:::

## Bill per seat

A **Per seat** line bills each active person on the client's
[end users list](/endpoints/end-users/) at the line's unit amount. Each seat brings a number of included devices into a pool shared by
the whole client: with two devices per seat, one person with three computers
and one with none fit the allowance. Devices beyond the pool bill at the
overage price, as their own invoice line.

1. Under **Lines**, select **Add a line** and choose **Per seat** as the kind.
2. Enter the **Description** and the **Unit amount**, the price per person.
3. In **Devices included per seat**, enter how many devices each seat covers.
4. In **Overage price per device**, enter the price of each device beyond the
   pool. Zero bills nothing past the pool.
5. To bill only people who use a device, turn on **Bill a seat only for a
   person with a live device**.
6. Optionally, select **Choose devices** to decide which devices count toward
   the pool, such as computers only.
7. Select **Save**.

The overage is measured at the snapshot count only. A seat line's usage
method applies to the seat count. See
[Bill seat and device changes](/msp/usage-methods/).

:::note
A quote line cannot be per seat. Quote per user or fixed, and set the seat
options on the agreement after the client accepts. A renewal quote cannot be
drafted from an agreement with a per seat line.
:::

## Agreement templates

Templates carry the same counting settings. A template's device filter offers
**Server or workstation**, **Device class**, **Operating system**, and
**Server role** only. Sites, device groups, and custom tags belong to one
client, so you narrow by them on each agreement made from the template. See
[Billing catalog](/msp/billing-catalog/#write-agreement-templates).

## Verify

Open the **Next bill** card under the saved agreement. See
[Check a client's next bill](/msp/next-bill-estimate/).

- Each counted line shows the devices or people it counted. Select **Show**
  on the line to list them.
- When a device matches no line, the card says **1 device is not billed by
  any line**, or how many, and **Show them** lists them. Widen a filter or
  add a line if they should be billed.

## Next steps

- [Bill seat and device changes](/msp/usage-methods/)
- [Add discounts and annual price increases](/msp/discounts-and-price-increases/)
- [Check a client's next bill](/msp/next-bill-estimate/)
