---
title: "Billing catalog"
description: "Set up the charge types time is priced as, the agreement templates agreements are written from, and the products quotes are priced from."
url: "https://support.outpostplatform.com/msp/billing-catalog/"
product: "depot"
type: "how-to"
status: "draft"
ai_summary: "MSP plan. Client billing > Catalog has three tabs. Charge types name and price kinds of work (Labor, After-hours labor, Travel, Product or part, seeded at zero), per hour or per item. Agreement templates hold lines, rules, billing day, and default rate. Products are the quote price book: one time or recurring, price, cost, tax, and an optional project template. Writes need psa:admin."
availability:
  plans: ["msp"]
  permission: "psa:admin"
  preview: false
source: "https://gitlab.com/outpostplatform/docs/-/edit/main/src/content/docs/msp/billing-catalog.md"
license: "CC BY 4.0"
---

# Billing catalog

The billing catalog is the set of prices and shapes your practice bills from.
Charge types say what a kind of work is called and what it costs. Agreement
templates are agreements you write once and reuse for each new client.
Products are the items a quote is priced from. Set the catalog up before your
first agreement and your first quote.

## Before you begin

- You are on the MSP plan.
- Changing the catalog needs `psa:admin`. Reading it needs `psa:read`.
  Salespeople with `crm:read` can read products too, so they can price quotes.

## Open the catalog

Select **Client billing** > **Catalog**. It has three tabs: **Charge types**,
**Agreement templates**, and **Products**.

## Set up charge types

A charge type is what a technician picks when they log time, such as labor or
travel. Agreement rules match on it to decide how the work bills, and it
supplies the name the client reads on the invoice line.

Outpost seeds four charge types, all at a zero rate: **Labor**, **After-hours
labor**, **Travel**, and **Product or part**. The rates are zero on purpose,
because any rate Outpost chose would be wrong for your practice. Set your own
before you invoice.

1. On **Charge types**, select **New charge type**, or **Edit** on an existing
   one.
2. In **Code**, enter the code agreement rules match on, using lowercase
   letters, digits, and underscores, such as `after_hours`. The code cannot be
   changed later.
3. In **Name**, enter what the client reads on the invoice line.
4. In **Default rate**, enter the rate. An agreement rule can name its own rate
   instead.
5. In **Priced**, choose **Per hour** to price the time logged, or **Per item**
   to price a count.
6. In **Sort order**, enter where it sits in the list technicians pick from,
   lowest first.
7. Leave **Offer this charge type on new work** selected, then save.

Turning **Offer this charge type on new work** off stops it being offered on
new work. Entries already logged against it, and rules that match it, are
kept. Deleting a charge type keeps it on work already logged, and any
agreement rule that names it stops matching.

## Write agreement templates

An agreement template is the shape of an agreement you sell to many clients,
such as a standard managed services contract. When you write an agreement, you
can start from a template. The agreement takes its own copy of the template's
lines and rules, so changing a template later never changes an agreement
already written from it.

1. On **Agreement templates**, select **New template**.
2. Enter a **Name**, which is what you pick the template by, and an optional
   **Description**.
3. Enter the **Billing day**, from 1 to 28, and the **Default hourly rate**.
   Optionally pick a **Default charge type**, which an agreement started from
   this template copies. See
   [Client agreements](/msp/agreements/#default-charge-type).
4. Select **Add a line** for each recurring charge. Lines work as they do on an
   agreement. See [Client agreements](/msp/agreements/#lines).
5. Add the rules an agreement built from this template starts with. Rules work
   as they do on an agreement. See [Client agreements](/msp/agreements/#rules).
6. Save the template.

The list shows each template's **Lines**, **Rules**, **Monthly** total,
**Default rate**, and the day it **Bills on**. A quote can also name an
agreement template, which decides the shape of the agreement the signed quote
creates. See [Sales pipeline and quotes](/msp/sales-and-quotes/).

## Add products

Products are your quote price book. The catalog ships empty, because what your
practice sells, what it calls it, and what it costs are your own.

1. On **Products**, select **New product**.
2. Enter a **SKU**, unique across the catalog including retired items, and the
   **Name** the client reads on the quote line.
3. Enter a **Description**. It is copied onto a quote line when the item is
   picked, and can be reworded on that quote.
4. In **Kind**, choose **One time** or **Recurring**.
   - **One time** items are invoiced when the quote is accepted.
   - **Recurring** items become a line on the agreement the signed quote
     creates and bill every month. Choose the **Agreement line kind**: Fixed,
     Per device, Per user, or Prepaid block. A prepaid block also needs
     **Included minutes**.
5. Enter the **Unit**, such as each, device, user, or hour, the **Unit
   price**, and the **Unit cost**. The unit cost never leaves your practice. No
   quote, PDF, or client-facing page shows it. It is what quote margins are worked
   out from.
6. Optionally, enter a **Category** to group the item in the picker.
7. For a one-time item that is delivered as a project, choose a **Project
   template**. Accepting a quote that holds the item starts a project from that
   template for the client. Select **Bill as the milestones are completed** to
   leave the item off the acceptance invoice and bill each milestone as it is
   finished instead. See [Projects](/msp/projects/).
8. Select **Tax this item** if tax applies, leave **Offer this item on new
   quotes** selected, and save.

### Deliver a product from stock

A one-time product that is hardware you keep in stock can be delivered from
stock. An accepted quote that holds it then raises a sales order, and the
product is delivered as a stock item. See [Sales orders](/msp/sales-orders/).

1. On the product, select **Delivered from stock (creates a sales order
   line)**.
2. In **Stock item**, start typing a stock item's name or SKU, and pick it.
   See [Inventory](/procurement/inventory/#add-stock-items).
3. Save.

The products list shows each item's **Unit price**, **Unit cost**, **Margin**,
whether it is **Taxed**, and whether it is **Offered**.

To stop selling an item, select **Retire**. A retired product stays in the
list and on every quote that names it. It is no longer offered on a new quote.

## Verify

- Your charge types show the rates you set in **Default rate**.
- **New quote** in **Sales** offers your products when you add a line.

## Next steps

- [Client agreements](/msp/agreements/)
- [Sales pipeline and quotes](/msp/sales-and-quotes/)
- [Invoice clients](/msp/client-invoicing/)
