Quotes
Quotes let you send line-item estimates to clients before or during a job. Clients can view, accept, decline, and optionally sign quotes directly from the customer portal.
Searching and filtering
The Search box matches title, client, and company by default. To search one field specifically, prefix the query with the field name and a colon, e.g. status: accepted or total: 250. As you type, a dropdown suggests matching field names, and once a field is chosen it suggests the real values seen for that field so you don't have to guess spelling. Combine multiple fields with &, e.g. status: sent & client: smith. To leave things out instead, see Excluding results below.
| Field | Aliases |
|---|---|
| Quote # | quote, quote #, quote number |
| Title | title |
| Client | client, customer, name |
| Company | company |
| Status | status |
| Total | total, amount (exact number) |
| Ticket # | ticket, ticket #, ticket number |
| Invoice # | invoice, invoice #, invoice number |
| Valid Until | valid until, valid |
| Date Created | created, date created, date |
Field names are case-insensitive. Total is matched as an exact number, not text — total: 250 finds quotes whose total is exactly 250, not ones merely containing "250". If the text before a colon isn't a recognized field, it's searched as plain text instead of returning no results. Searching for text that itself contains an &, like Smith & Sons or AT&T, still works: & only joins clauses when it has a space on each side and at least one side is a field or an exclusion.
Excluding results ("does not contain")
Sometimes it's easier to say what you don't want to see. Both the search box and the dropdown filters can leave rows out instead of narrowing to them.
In the search box
Put a - or ! in front of a word to hide every row that contains it. To exclude on a single field, use != instead of the colon. These three all mean the same thing:
status != declinedstatus: !declined-status: declined
Join several with & (a space on each side) and a row has to pass every one of them. Exclusions, field searches, and plain words can all be mixed. The suggestions dropdown keeps working too: type status != and it lists the real values in use.
| Type this | To see |
|---|---|
-smith | Every quote that doesn't mention "smith" in its title, client, or company. |
status != declined | Everything except declined quotes. |
status != declined & status != draft | Quotes that were sent and are still in play or accepted. |
total != 0 | Hides $0 quotes. |
status != accepted & smith | Smith's quotes that haven't been accepted yet. |
-smith also hides anything containing smithson. Use a field and more of the word to be precise, e.g. client != john smith.
- in front of the value means a negative number, not "exclude". Use ! or != there, e.g. total != 0.
In the dropdown filters
The All Statuses dropdown is a checklist: tick as many values as you want. With Is (the small button on its left) you see every quote matching any ticked value. Click it and it turns red and reads Not: the list now shows every quote except the ticked values. You can click it before or after ticking. Click it again to go back to Is.
For example, tick Accepted and Declined, then click Is so it reads Not, to see every quote still waiting on an answer.
Your ticked values and the Not setting are remembered along with your other filters. It switches back to Is when you click Clear inside the dropdown or Clear ร. A dashboard link that opens this page with a status always starts on Is.
Creating a quote
Most quotes are created from within a ticket: open the ticket, go to the Quote tab, and click New Quote. You can also start a standalone quote (not linked to any ticket) with + New on the Quotes list page.
A quote contains:
- Line items: each has a description, quantity, and unit price. The total is calculated automatically. Marking a line as Parts auto-applies sales tax on that line's subtotal
- Notes: optional free-text shown at the bottom of the quote. Supports Markdown, including headings, bold, lists, tables, links (
[text](url)), and images (); a format hint bar in the editor shows the syntax. An embedded image needs a stable, publicly reachable URL, so a ticket photo's link, which expires, won't work. Only externally-hosted images display correctly - Require signature: when enabled, the client must type their name to accept
- Valid until: optional expiry date shown on the quote
- Deposit: optionally require a deposit before work begins. Set a fixed dollar amount or a percentage of the total. See Deposits below for how the customer pays it
0042-1, 0042-2) so each is easy to tell apart; standalone quotes get their own simple sequential number instead.
Line items
Each line item has a description, quantity, and unit price. Items can be reordered by dragging. You can also click Import from URL to pull product details from a web page. Servelo fetches the page and extracts the name, description, and price automatically, and shows a link back to the source product. That source link is also included on the downloaded/emailed PDF under the item description, not just in the in-app editor.
Price book
The price book is your saved list of the services and parts you charge for, like a service call, an hour of labor, or a screen panel replacement, each with its price. Instead of typing the same description and price on every quote or invoice, you pick it from the list.
- Add to a quote or invoice: click Price book โพ in the quick-add row under the line items and pick an item. It's added as a new line with its description, price, and default quantity, which you can still edit on that document.
- Quick-add buttons: star an item in the price book and it gets its own button in the quick-add row, next to the labor buttons.
- Parts vs. labor: tick Parts on items that are tangible parts or equipment. On quotes, parts lines count toward the parts sales tax, the same as ticking Parts on a line by hand.
- Managing it: admins edit the list under Quotes โ Settings โ Price Book. Changes save as you go. Changing or removing an item never changes quotes or invoices you've already made; each document keeps its own copy of the line.
Sending a quote to a client
- Build the quote and review line items
- Click Send to Client. This emails the client a link to view the quote in the portal. You can optionally CC yourself on the email.
- The client clicks the link, sees the full quote with your branding, and can accept or decline
- If signature is required, they must type their name before accepting
- Your team is notified when the client responds
Quote statuses
| Status | Meaning |
|---|---|
| Draft | Created but not yet sent to the client |
| Sent | Emailed to the client, awaiting their response |
| Accepted | Client clicked Accept (and signed if required) |
| Declined | Client clicked Decline |
Deposits
A deposit can be set on any quote as a fixed amount or a percentage of the quote total. If your Venmo, PayPal, or Square payment handles are configured (the same ones used for invoice payment links), those buttons render directly under the deposit amount on the sent quote (PDF and email) so the customer can pay right away, before accepting. Without any handles configured, the deposit box just says payment options will be provided once the quote is accepted.
When a customer accepts a quote that has a deposit configured:
- If Square is connected, a prefilled Square checkout link for the deposit amount is also shown on the acceptance page itself
- Your team sees a Deposit Required indicator on the quote with a button to mark the deposit paid once received
- When the accepted quote is converted to an invoice, any paid deposit is automatically deducted from the invoice total
Related tickets and invoices
The QuoteBuilder shows a related-links bar at the top when the quote is linked to a ticket or has a corresponding invoice. Click any link to jump directly to that record. On the Quotes list page, the Ticket and Invoice columns are also clickable for quick navigation.
Quote PDF
Every quote has a Download PDF option that generates a branded PDF with your company name, logo, contact details, and all line items. The PDF is generated on demand and not stored.
List columns
Click โ Columns above the Quotes list to show or hide columns: Client, Total, Ticket, Invoice, Valid Until, and Created. #, Title, and Status are always shown. Your choice is remembered in your browser. The picker is available on desktop only and applies to the quotes table, not the documents table below it. Drag any column header left or right to put the columns in the order you want; open โ Columns and click โบ Reset column order to go back to the default. Both the order and the visible columns are remembered in your browser.
Exporting quotes
Click Export on the Quotes list page to download all visible quotes as a CSV. The export includes quote number, title, client, status, total, and created date. Apply filters before exporting to scope the output to a specific period or status.
Digital signatures
Quotes can be sent for a legally binding e-signature, with optional document templates (service agreements, liability waivers, etc.) attached alongside the quote itself. Signatures require a Pro plan.
Sending a quote for signing
- Open the quote and click Send for Signing
- A modal appears listing all your saved document templates. Check any you want the client to sign along with the quote, or leave them all unchecked to send only the quote itself for signature
- Click Send. The client receives an email with a unique signing link
- The client opens the link, reviews the document(s), types their full legal name, draws their signature in the signature box, and submits
- The quote status updates to Awaiting Signature until the client completes signing
- Once signed, the quote is locked and shows a Signed badge. The signature, name, IP address, and timestamp are recorded
Sending by email without signature
If you don't need a signature, click Send by Email instead. This sends the quote as a standard email with a portal link. The client can view and accept or decline from the portal, but no formal signature is collected. Use this for informal estimates where a signature isn't required.
Document templates
Create reusable contracts, service agreements, or liability waivers from the Quotes > Settings tab. Templates can be attached when sending a quote for signing and support placeholder variables like {{client_name}} and {{total}} that fill in automatically.
To create a template: go to Quotes > Settings > Document Templates, click New Template, give it a name, and write the content. Supported variables:
| Variable | Replaced with |
|---|---|
{{client_name}} | The client's full name or company name |
{{total}} | The quote total |
{{org_name}} | Your organization name |
{{date}} | Today's date |
Quote settings
Admins can access quote-specific settings from the Settings tab on the Quotes page.
| Setting | Description |
|---|---|
| Hourly Labor (per hr) | Default rate pre-filled on labor quick-add buttons when building a quote. |
| Service Call / Diagnostic | Default rate pre-filled on service-call quick-add buttons when building a quote. |
| Price Book | Your saved services and parts with prices, added to quotes and invoices from the Price book โพ menu. See Price book. |
| Document Templates | Manage reusable document templates that can be attached to quotes. |
Who can do what
| Action | Admin | Technician | Viewer |
|---|---|---|---|
| Create quote | Yes | Yes | No |
| Edit quote | Yes | Yes | No |
| Send quote | Yes | Yes | No |
| Download PDF | Yes | Yes | Yes |
| Delete quote | Yes | No | No |
| View quotes | Yes | Yes | Yes |