Navigation
14.10. Create, Send, and Convert MSP Sales Quotes to Contracts and Invoices
Build AlgaPSA sales quotes for MSP clients, route them through internal approval, send to clients, and convert accepted quotes directly into contracts and invoices.
Quoting lets your sales team build formal sales quotes for MSP clients, route them through internal approval, deliver them to the client, and convert accepted quotes directly into contracts and invoices.
Navigate to Billing > Quotes (/msp/billing?tab=quotes).
Before you start
Confirm the basics that every quote depends on:
- The client exists and has a billing contact and preferred currency.
- The services or products you plan to quote are defined in the Service Catalog (see 14.3. Service Catalog).
- Tenant defaults for quoting (numbering, default layout, approval rules) are configured by navigating to Settings > General in the sidebar to open Admin Settings, then selecting Billing (under Time & Billing) and opening the Numbering tab (see 14.2. Tenant Billing Settings).
Quotes Page Overview
The Quotes page has four sub-tabs:
| Sub-Tab | Shows |
|---|---|
| Active (n) | Quotes in draft, pending_approval, or approved |
| Sent (n) | Quotes that have been delivered to the client |
| Closed (n) | accepted, rejected, expired, converted, cancelled, superseded, or archived quotes |
| Approval Queue | Quotes awaiting internal approval before they can be sent |
The table shows Quote #, Client, Title, Total, Status, Date, and Actions. Clicking a row opens a preview panel on the right with a PDF rendering of the quote.
Creating a Quote
Click New Quote to open the quote form. Fields are organized into cards.
Essentials
- Title (required): The business-friendly name of the quote.
- Description / Scope (optional): Internal or client-facing scope summary.
- Client (required): The client this quote is for.
- Contact: The client contact who will receive the quote.
- Currency: Resolved in this order: quote template currency → client preferred currency → tenant default currency. The form shows the source of the current value (for example, "Tenant default" or "Client default for GreenLeaf Dental Group") so you know whether it came from a template, the client's own settings, or the tenant fallback. You can override it manually; once you do, the source shows "Selected manually." In edit mode the saved currency is kept and never re-defaulted.
- Quote date: Defaults to today.
- Valid until: Defaults to today plus 30 days. The quote auto-expires on this date.
Line Items
Use the line items editor to build the quote's pricing:
- One-time items: Fixed amounts billed once on conversion to invoice.
- Recurring items: Recurring fees billed on conversion to contract.
- Discounts: Applied as negative line items.
- Optional / selectable items: Items the client can choose to include or exclude. Optional items are not counted in the quote total by default — only selected optional items (those with the Pre-selected checkbox enabled) contribute to the Subtotal, Tax, and Total. Unselected optional items are shown on the quote PDF as "Optional (if selected)" with their hypothetical price, making it clear to the client what is included in the base price versus available as an add-on. Selected optional items appear in their billing cadence band (see Quote PDF layout below) with an "Optional (included)" marker.
- Multi-location grouping: Use + Add location to group line items by site or location.
- From template: Use + From template to prefill the line items from a saved Quote Template.
The right sidebar shows a running total with Subtotal, Discounts, Tax, and Recurring per month.
Item name, catalog description, and line description
Selecting a catalog service or product captures its item name and catalog description on the quote line. The description is a snapshot of what you offered at quote time, so later catalog edits do not rewrite that quote. The editable line description remains separate.
For example, GreenLeaf Dental Group's Managed Endpoint Care item might carry the catalog description "Monitoring, patch management, and remote support for one endpoint." Standard quote layouts show the item name above that description in the same cell, giving the client both a recognizable offering and its scope.
Changing the selected catalog item captures that new item's name and description. Editing quantity, price, or the line description does not refresh the catalog snapshot. Duplication, revision, and quote-template save/use preserve the captured description. Older lines without a snapshot are not filled from today's catalog description.
Discounts follow the items they reduce
A discount targeting recurring items reduces the recurring group. A discount targeting one-time items reduces the one-time group. A whole-quote or service-targeted discount spanning both is allocated across the eligible target items, so grouped totals subtract the discount exactly once.
For example, two monthly services priced at $25.00 and $35.00, each with a $5.00 targeted discount, produce $25.00 + $35.00 - $5.00 - $5.00 = $50.00 per month before tax. One-time charges remain unchanged. The recurring discount does not appear as a positive one-time charge.
Review recurring, one-time, and overall totals after changing quantities, optional-item selections, or discount targets. The allocation is preserved through duplication, revision, supported sales-order conversion, and invoice recalculation.
Client-Facing Text
- Notes to client (optional): Appears on the quote PDF.
- Terms & conditions (optional): Legal or commercial terms included on the quote.
More Details (collapsible)
- PO number: Client's purchase order reference.
- PDF layout: Override the default quote layout for this specific quote.
Quote Approval Workflow
If your tenant requires internal approval before quotes are sent:
- Save the quote as a draft.
- Click Request Approval. The quote moves to
pending_approvaland appears in the Approval Queue sub-tab. - An approver reviews the quote and clicks Approve or Request Changes.
- Once approved, the quote can be sent to the client.
If approval is not required, quotes in draft can be sent directly.
Sending a Quote
From a draft or approved quote, click Send to Client.
Both the row actions Send and the detail view Send use the same dialog with a full Recipients picker: you can pick specific internal users and client contacts from the client's contact list, add extra email addresses, and include an optional personal message. Selections from the picker and any typed addresses are deduplicated (case-insensitive) before sending. The explicit recipients you choose are additive to the server-derived billing addresses for the quote's client.
Concretely:
- From the row actions menu on the Quotes list, click Send to Client to open the shared dialog.
- From inside the quote detail view, the same dialog is available via Send to Client.
After sending, the draft state resets — the next time you open Send for a different quote, previously selected recipients are not carried over.
Click Send. The quote status moves to sent.
From the Sent sub-tab, sent quotes can be Resent or a Reminder can be sent.
Quote Statuses
| Status | Meaning |
|---|---|
| draft | Quote is being prepared |
| pending_approval | Awaiting internal approval |
| approved | Approved internally, ready to send |
| sent | Delivered to the client |
| accepted | Client has accepted the quote |
| rejected | Client has declined the quote |
| expired | Quote passed its Valid Until date without a response |
| converted | Quote has been converted to a contract and/or invoice |
| cancelled | Quote was cancelled |
| superseded | Quote was replaced by a new revision |
| archived | Quote was archived from the Closed view |
Converting an Accepted Quote
When a quote is accepted, conversion buttons appear:
- Convert to Contract: Recurring line items become contract lines on a new draft contract.
- Convert to Invoice: One-time line items become charges on a new draft invoice.
- Convert to Both: When both recurring and one-time items are present, creates both.
A preview dialog shows exactly which items go to Contract Items, which go to Invoice Items, and which are Excluded (with reasons). The dialog also displays the Quote Total and the resulting Status After Conversion. Confirm to create the draft contract or invoice.
If a quote was partially converted earlier, the dialog notes which records already exist and limits the conversion to the remaining items. See 14.6. Creating Client Contracts and 14.12. Generating Invoices for what to do with the resulting drafts.
Revising a Quote
Quotes in the sent, rejected, expired, cancelled, and accepted statuses can all be revised. Click Revise to create the new version.
Revising does three things:
- The original quote moves to
superseded, so the version chain stays intact and auditable. - A linked draft opens with the line items copied across.
- The activity history is copied too, so the new revision carries the record of what was sent, when, and what the client said.
An accepted quote keeps its conversion actions when revised. A client who accepts and then asks for one line to change does not force you to abandon the acceptance and start again — the revision can still be converted to a contract or invoice.
Because a superseded quote is retained rather than replaced, you can always show which version a client actually agreed to.
Row Actions by Status
| Action | Available When |
|---|---|
| Open | Any status |
| Send to Client | draft or approved |
| Resend / Send Reminder | sent |
| Revise | sent, accepted, rejected, expired, cancelled |
| Download PDF | Any status |
| Duplicate | Any status |
| Delete | draft only |
Quote PDF layout
The standard grouped quote layout organizes line items by billing cadence: monthly recurring items, annual recurring items, quarterly items, one-time items, and so on each appear in their own section with a per-cadence subtotal. Items with no billing frequency set are grouped as monthly. Empty cadence sections are omitted, so a quote with only monthly and one-time items produces exactly two sections.
Optional items that are not pre-selected appear in a separate "Optional (if selected)" area at the bottom, with their hypothetical price shown so the client can see the add-on cost. Optional items that are pre-selected appear within their normal cadence band with an "Optional (included)" marker and are counted in that band's subtotal.
The standard simple and tax-summary layouts are unaffected and still list all items in order without cadence grouping.
If you cloned a standard grouped layout before this change, your cloned layout keeps its previous structure. Use Edit as Copy on the current standard grouped template to create a clone that uses cadence grouping, or re-clone from the standard.
Quote Layouts
Navigate to Billing > Quote Layouts to manage the PDF templates used to render quotes. Quote Layouts are distinct from Invoice Layouts but use the same canvas-based designer.
- Standard layouts are built in and cannot be edited directly. Use Edit as Copy to clone and customize.
- Custom layouts can be edited directly.
- Set a layout as default with Set as Default. The default applies to all new quotes unless overridden per quote.
- Standard layouts carry translatable labels, so a quote prints in the client's language. The editor's Preview language selector shows how it will read before you send it. See 14.26. Send Invoices, Quotes, and Sales Orders in Your Client's Language.
Design the item description column
The designer exposes the item name, catalog description, and editable line description as separate fields. Use them independently or choose the table column preset Item name + catalog description for the stacked presentation used by standard layouts. Empty catalog descriptions collapse without leaving a blank description line. Existing custom layouts retain their saved bindings until you edit them.
Edit totals-row colors
Select a Totals component in the quote layout designer and find the desired row in its inspector. Set Row background and Text color independently for that row, or use Reset colors to return to inherited styling. This also works in invoice layouts.
A saved label-specific color can override the row text color for the label; the inspector explains when that applies. Save, reopen, and preview the layout, then check its PDF to confirm the chosen colors remain legible across subtotal, tax, discount, and total rows.
Quote Templates
Navigate to Billing > Quote Templates to manage reusable line-item bundles. These are business-level templates (prefilled pricing sets), not PDF layouts.
- Click New Template to create a template from scratch.
- Or use Save as Template from any quote's detail view to save its line items as a reusable template.
- Apply a template while creating a quote using + From template in the line items editor.
- From the Quote Templates page, click Create Quote from Template to start a new quote prefilled with that template's data.
Creating a quote from a business template carries over its description, client notes, terms and conditions, PO number, currency, and line items. Review that content for the new client before saving. The template fills empty text fields while preserving text already entered; its currency and line items are applied from the template. Plain-text paragraph breaks in terms and conditions remain visible in the PDF.
Quote Numbering
Quote number format (prefix, optional date format, minimum digits, starting number) is configured by navigating to Settings > General in the sidebar to open Admin Settings, then selecting Billing (under Time & Billing) and opening the Numbering tab. See 14.2. Tenant Billing Settings for the full settings tour.
Set Date Format to {YYYY}-{MM}- and a quote sent to GreenLeaf Dental Group is numbered QUO-2026-09-0023 instead of QUO-0023. The counter keeps running across months, and quotes already sent keep their numbers, so a client can still quote QUO-0019 back to you. Tokens and rules are described under Numbering in 14.2. Configure Tenant Billing Defaults for Currency, Document Numbering, Tax, and Renewals.
