---
title: "Sales pipeline and quotes"
description: "Work prospects and deals through the sales pipeline, write and send priced quotes, and have the customer accept and sign them at a private link."
url: "https://support.outpostplatform.com/msp/sales-and-quotes/"
product: "depot"
type: "how-to"
status: "draft"
ai_summary: "MSP plan. Sales has Pipeline, Prospects, Quotes, Follow-ups, Approvals, and Settings. Quotes freeze when sent and change by revision. The customer signs at a private link. Acceptance creates the client, a draft agreement, a draft invoice for one-time lines, an onboarding ticket, and projects. Approval rules, countersigning, and crm:read, crm:write, crm:send, crm:approve."
availability:
  plans: ["msp"]
  permission: "crm:send"
  preview: false
source: "https://gitlab.com/outpostplatform/docs/-/edit/main/src/content/docs/msp/sales-and-quotes.md"
license: "CC BY 4.0"
---

# Sales pipeline and quotes

**Sales** is where your practice works new business: the companies you are
selling to, the deals in progress, and the quotes you send them. A quote is a
priced offer the customer opens at a private link, adjusts where you allow it,
and signs electronically. When they accept it, Outpost sets up the client and
the paperwork behind it. This page covers setting up sales, working the
pipeline, writing and sending a quote, and what happens when the customer
accepts.

## Before you begin

- You are on the MSP plan.
- Your products are in the billing catalog. See
  [Billing catalog](/msp/billing-catalog/#add-products).
- Sales permissions:

  | Permission | Allows |
  | --- | --- |
  | `crm:read` | Reading prospects, deals, activities, quotes, and the sales settings |
  | `crm:write` | Managing prospects, contacts, deals, activities, and draft quotes, and requesting approval |
  | `crm:send` | Sending, resending, withdrawing, revising, and countersigning quotes, and handling the accept link |
  | `crm:approve` | Approving and rejecting quotes, and changing the sales settings and pipeline stages. **Sales** > **Approvals** and **Sales** > **Settings** appear only with this permission. |

  The **Sales** role holds `crm:read`, `crm:write`, and `crm:send`, and no
  client billing permission. See [Roles and permissions](/depot/roles-and-permissions/).

## Set up sales

Select **Sales** > **Settings**. Changing them needs `crm:approve`.

| Card | Settings |
| --- | --- |
| **Branding** | **Logo** (PNG or JPEG, up to 256 KB), **Display name**, **Accent color**, and **Reply-to address**. This is what the customer sees on the quote, its page, and its PDF. |
| **Quote defaults** | **Quote prefix**, **A quote stays valid for** (days), **Default cover letter**, and **Default terms**. |
| **Approval rules** | When a quote must be approved before it can be sent. See [Get a quote approved](#get-a-quote-approved). |
| **Automation** | **Raise a renewal quote before an agreement ends**, **Remind a customer before a quote expires**, **Nudge a customer who has not opened a quote**, and **Countersign an accepted quote before it becomes a client**. |
| **Pipeline stages** | The columns deals move across, in order. |

In **Automation**, each number is a count of days, and 0 turns it off.
**Raise a renewal quote before an agreement ends** opens a renewal deal and a
draft quote for each agreement that ends within that many days.
**Remind a customer before a quote expires** emails the quote's recipient
that many days before the quote expires. **Nudge a customer who has not
opened a quote** emails the quote's owner on your team, not the recipient,
when the quote is still unopened that many days after it was sent.

The pipeline starts with the stages **Lead**, **Qualified**, **Proposal**,
**Negotiation**, **Won**, and **Lost**. You can add, rename, reorder, and
remove stages. There is always exactly one won stage and one lost stage.

## Work the pipeline

### Add a prospect

A prospect is a company you are selling to. It becomes a client when a quote
to it is accepted.

1. Select **Sales** > **Prospects**, then **New prospect**.
2. Under **The company**, enter the **Name** every quote is addressed to, and
   optionally the **Website**, **Phone**, **Industry**, and **Owner**.
3. Enter the **Address**.
4. Under **First contact**, optionally enter the person a quote is emailed to.
5. Select **Create prospect**.

A prospect's page has the tabs **Overview**, **Contacts**, **Opportunities**,
and **Activity**. Its **Actions** menu offers **New quote** and **Archive**.

### Open a deal

An opportunity, shown as a deal on the board, is what a quote is written
under.

1. Select **Sales**, then **New opportunity**.
2. Choose the **Company**, a prospect or an existing client. It cannot be
   changed later.
3. Enter a **Name**, and choose the **Stage**, **Value**, **Expected close**,
   **Kind** (**New**, **Upsell**, or **Renewal**), and **Owner**.
4. Save.

**Pipeline** shows deals as a **Board** or a **List**, with tiles for the open
pipeline, quotes awaiting acceptance, quotes expiring in 7 days, deals won this
quarter, and overdue follow-ups. Drag a deal to move it to another stage. When
you mark a deal lost, enter **Why it was lost**.

### Log activity and follow-ups

On a prospect or a deal, log a **Note**, **Call**, **Email**, **Meeting**, or
**Task**. What you enter is never shown to the customer. A task has a **Due**
date and appears in **Sales** > **Follow-ups**, overdue first. **Follow-ups**
shows **Mine** or **Everyone**. Select **Done** to close one.

## Write a quote

1. Select **New quote** on **Sales** > **Quotes**, on a deal, or on a
   prospect.
2. Under **This quote**, enter:
   - **Title**, and in **For**, the prospect or client the quote is addressed
     to.
   - **Contact**, the person the link is sent to. A quote to a client uses its
     billing contact when this is empty.
   - **Valid for** in days, or **Expires on**. The link works until the end
     of that day in your practice's time zone.
   - **Term** in months. Zero is month to month.
   - **Time on the agreement**: **Covered by the agreement** or **Billed as it
     happens**. This decides how the resulting agreement treats logged time
     that no other rule matches.
   - **Agreement starts on**, which is empty to start on the day the quote is
     accepted, and the **Billing day**.
   - **Agreement template**, which shapes the agreement the signed quote
     creates.
   - **Tax rate** as a percentage.
3. On the **Invoicing** card, choose when the sales order this quote raises
   is invoiced, in **Invoice the order**, and the **Deposit**. Leave them for
   the practice default. See [Sales orders](/msp/sales-orders/#set-up-invoicing).
4. Optionally, choose a quote template under **Start from a template**, and
   write the **Cover letter**.
5. Select **Add a section** for a list of lines, or **Add a pick-one section**
   for options the customer chooses between, such as good, better, and best.
6. In each section, select **Add a line**. Pick a **Product** from your
   catalog or describe the line yourself, then set the **Kind** (**One time**
   or **Monthly**), **Quantity**, **Unit price**, **Discount**, and **Tax**.
   For each line you can also:
   - Let the customer drop it, which makes it optional, and start it already
     chosen.
   - Let the customer change the quantity between a least and a most.
   - Make it the default option in a pick-one section.
7. Enter the **Terms**, which print at the end of the quote and on the signed
   copy.
8. Select **Save**. Nothing has gone to the customer yet.

The totals show the amount due on acceptance, the monthly amount, the
contract value, and, from each product's unit cost, the margin. With a
deposit, they show the **One-time total**, the **Deposit due on acceptance**,
and the **Balance invoiced on delivery**. Costs and
margins are never shown to the customer.

To reuse a quote's shape, select **Save as a template**.

## Get a quote approved

Approval rules make a quote wait for an approver before it can be sent. Each
rule is checked against the quote's default selections, and 0 turns it off:

- **Contract value above**: one-time plus recurring across the term, before
  tax.
- **Any line discount above**: a percentage, checked on each line.
- **Blended margin below**: a percentage. A quote with no costs recorded never
  trips it.

When a rule fires, the quote's **Actions** menu offers **Request approval**
instead of sending. Everyone who holds `crm:approve` is emailed, and the quote
waits in **Sales** > **Approvals**, oldest first, with the reasons recorded.
An approver selects **Approve** or **Reject**. A rejected quote returns to
**Draft**. Editing an approved quote also returns it to **Draft**.

## Send a quote

1. On the quote, select **Actions** > **Send to the customer**.
2. In **Send to**, leave the box empty to use the contact on the quote.
3. Optionally, enter a **Message** to sit above the link in the email.
4. Select **Freeze and send**.

Sending freezes the quote. Its number, lines, prices, and tax rate never
change again, because this is what the customer may sign. The customer is
emailed a private link and the quote as a PDF.

While the quote is out, the **Actions** menu offers:

| Action | What it does |
| --- | --- |
| **Send it again** | Sends the same quote and the same link again. |
| **Copy the accept link** | Copies the customer's private link. |
| **Replace the accept link** | Issues a new link. The old link stops working. |
| **Withdraw** | Takes the quote back. Enter a **Reason**, which is kept for your practice and not sent to the customer. |
| **Revise** | Writes a new draft revision with the same number, and marks this one **Superseded**. Its link stops working. |

Treat the accept link like a password. Anyone who holds it can sign the quote.

## What the customer sees

The link opens a page with your branding, the quote's sections and lines, and
**What it comes to**: the amount **Due on acceptance**, the monthly amount,
and the **Term**. The page says that only the amount due on acceptance is
charged when they sign, and that the monthly amount is billed by the
agreement. The customer can open the quote as a PDF.

The customer can choose between options, drop optional lines, and change
quantities where you allowed it. Prices come from the quote as you sent it.
They can then:

- **Accept this quote**: enter **Your full name**, which is the signature,
  and optionally **Your job title** and a drawn signature, then tick the
  consent statement and select **Accept this quote**.
- **Decline this quote**, with an optional message to your practice.
- **Ask a question**, which emails the quote's owner and leaves the quote
  open.

After accepting, the customer is emailed a signed copy as a PDF.

## What accepting a quote creates

When the customer accepts, Outpost converts the quote:

1. **The client.** A quote to a prospect creates a new client with its own
   database, fills its billing profile from the prospect, and marks the
   prospect **Now a client**. A quote to an existing client uses that client.
2. **A draft agreement** from the monthly lines, when the quote has any, using the quote's agreement
   template and its **Time on the agreement** choice. Nothing recurring is
   charged until you activate it. See [Client agreements](/msp/agreements/#activate-the-agreement).
3. **A draft invoice** for the one-time lines, when the quote has any, unless
   they bill as project milestones.
4. **A project** for each project template named by the accepted one-time
   products. Several products that name the same template make one project.
5. **An onboarding ticket** in the client's workspace, **Onboard** followed by
   the client's name. When the quote went to an existing client and sells a
   project, the ticket is **Kick off** followed by the project's name instead.
6. A **sales order** for the goods, when a line's product is delivered from
   stock. When the order is invoiced on delivery, the goods leave the
   acceptance invoice, and a deposit invoice is raised instead if the quote
   asks for one. See [Sales orders](/msp/sales-orders/).
7. The deal is marked won.

The quote's **What it became** card shows **In progress**, **Done**, or
**Failed**, with links to what was created. If it failed, fix the cause it
names, then select **Actions** > **Try the conversion again**.

### Countersign

If **Countersign an accepted quote before it becomes a client** is on, the
conversion waits, showing **Waiting for a countersignature**, until somebody at
your practice signs too. Select **Actions** > **Countersign**, enter **Your
full name**, select the checkbox to agree to the statement shown, and select
**Countersign**. The customer always gets their signed
copy straight away. Once the quote is countersigned, the customer and the
quote's owner are emailed the fully executed copy.

## Quote statuses

| Status | Meaning |
| --- | --- |
| **Draft** | Being written. A draft that was never sent can be deleted with **Delete this draft**. |
| **Waiting for approval** | An approval rule fired and approvers have been asked. |
| **Approved** | An approver said yes. It can be sent. |
| **Sent** | Frozen and emailed to the customer. |
| **Viewed** | The customer opened the link. |
| **Accepted** | The customer signed it. |
| **Declined** | The customer declined it. |
| **Expired** | The expiry date passed before it was accepted. |
| **Withdrawn** | Your practice took it back. |
| **Superseded** | Replaced by a later revision. |

**Sales** > **Quotes** lists every quote with its **Number**, **Title**,
**For**, **Status**, **Due on acceptance**, **Monthly**, **Contract value**,
**Expires**, and **Owner**.

## Verify

- After sending, the quote shows **Sent**, and **Viewed** once the customer
  opens it.
- After acceptance, the client is on **Clients**, and its workspace shows a
  draft agreement under **Client billing** > **Agreements**.

## Next steps

- [Client agreements](/msp/agreements/)
- [Invoice clients](/msp/client-invoicing/)
- [Projects](/msp/projects/)
- [MSP reports](/msp/msp-reports/)
