Quotes
Quotes let you build, send, and manage price proposals for your customers. Create a quote with line items, send it to the customer for approval, and let acceptance create the billing handoff without retyping the scope.

Open Quotes from the main navigation after enabling the plugin in Settings → Features.
When to use Quotes
Use Quotes when a customer needs to approve scope or price before work starts. This is common for larger jobs, replacement work, project phases, upgrades, or any visit where the office should confirm the price before dispatching a crew.
Before you start
- Quotes must be enabled in Settings → Features.
- At least one customer must exist in your account.
- If you want to use tiered packages (Good / Better / Best), enable the Tiered Packages sub-feature under Settings → Features.
- Customers need an email address on file to receive quote emails.
The quote list
The quote list shows all quotes with a header displaying the total count and how many are awaiting a customer response.
Status tabs
Filter by status: All, Draft, Sent, Accepted, or Declined. Each tab shows a count badge.
Search
Search by customer name to find specific quotes.
What each row shows
- Customer name
- Amount — the quote total
- Status badge — Draft, Sent, Accepted, or Declined
- Date — when the quote was created
Create a new quote
- Click New Quote.
- Use Find customer to search by name, email, or phone, then select a Customer (required).
- If tiered packages are enabled, choose a package tier (Good / Better / Best) to auto-populate line items.
- If tiered packages are not enabled, add line items manually with a description, quantity, and unit price for each. When Pricing Catalog is available, use Add from catalog to start from an approved catalog item instead of typing the line from scratch.
- Save the quote.
New quotes default to Draft status.
Validation rules
- Customer is required.
- If using tiered packages, a package must be selected.
- If adding line items manually, at least one item needs a description and positive quantity.
- Quantity must be greater than zero; unit price cannot be negative.
Use Pricing Catalog items
When Pricing Catalog is available, the manual line-item editor shows Add from catalog next to Add item. Click it to open Pick from catalog, search by catalog item, and choose the approved part, labor rate, service, equipment charge, or fee you want to quote.
ToolbagCRM adds the catalog item as an editable quote line with quantity 1, the catalog name, unit, and unit price. The line is a snapshot for that quote: you can still adjust the description, quantity, unit, or price before saving. If the quote only has the blank starter row, the catalog selection replaces that row so the quote does not keep an empty invalid line item.
Quote statuses
Quotes follow this lifecycle:
Draft → Sent → Accepted
→ Declined- Draft — Created but not yet sent. Only visible to staff.
- Sent — Delivered to the customer via email. The customer can view, accept, or decline through a public link.
- Accepted — The customer or staff has approved the quote. Ready for invoice review and follow-up job scheduling.
- Declined — The customer has declined. Create a new quote if they change their mind later.
Quote detail view
Click any quote row to open the detail drawer. It shows:
- Status badge at the top.
- Customer name, date, and reference number (first 8 characters of the quote ID).
- Package name linked to the tiered-package library when the saved package still exists; otherwise the saved package code.
- Line items with description, quantity, unit price, and line total.
- Flow card showing the current status, previous status changes, related activity, planned next transitions, and guided status actions.
- Total amount prominently displayed.
- Deposit notice on Draft and Sent quotes when Deposit Workflow is enabled. The notice shows whether the configured deposit is requested on acceptance or when the job starts, plus the percentage and amount when your role can view those settings. Users without deposit-settings access see a general deposit-policy notice instead.
Actions (contextual by status)
- Draft or Sent: "Send to customer" / "Resend to customer" and "Mark Accepted" buttons.
- Flow card: Advance to... moves the quote one normal step forward. An Accepted quote has no normal advance action, but Decline quote remains available until the quote is already Declined.
- After sending: A customer link section with the URL and a copy button.
- Accepted with a linked job: "View Job" button. This appears only when the quote already has a job link; accepting a quote by itself does not schedule a visit.
Send a quote to a customer
- Open a quote in the detail drawer.
- Click Send to customer.
- ToolbagCRM validates that the quote is not already Accepted or Declined and that the customer has an email address.
- The quote status changes to Sent.
- A public link is generated and an email is queued for the customer.
- The link appears in the drawer for copying.
Resending reuses the same link so previous links keep working.
Customer experience (public link)
Customers open the quote through a signed public link — no login required. The public view shows your company's phone, address, and website so the customer knows who sent the quote. They can:
- View the quote details, line items, and total.
- Select a tier if tiered packages are enabled.
- Accept the quote (optionally providing a signature if signature capture is enabled).
- Decline the quote with an optional reason.
When a quote is accepted, ToolbagCRM creates or reuses the linked Draft invoice from the quote's line items so the office can review, send, or collect payment without retyping the scope. If the customer refreshes or clicks Accept again, ToolbagCRM returns the same linked invoice instead of creating a duplicate. When the Deposits feature is enabled and the quote meets the configured threshold, the public quote page shows the deposit due before acceptance and ToolbagCRM creates one separate deposit invoice based on the configured percentage.
After a quote is accepted
Accepted quotes move the office into billing and scheduling follow-up:
- Open the accepted quote and use View Invoice to review the linked draft invoice before sending or collecting payment.
- If the customer is ready for the work to be scheduled, create or open the related job from Jobs and use Schedule first visit now or Schedule Visit to put the work on the calendar.
- If a quote already has a linked job, the quote detail drawer shows View Job so you can jump directly to that job record.
Quote acceptance does not automatically create a Scheduling visit. The Flow card presents the next normal transition as the main action instead of showing every future status at once, and keeps Decline quote separate from the normal advancement path. Declined quotes are terminal; create a new quote if the customer changes their mind after declining.
Tiered packages (Good / Better / Best)
When the Tiered Packages sub-feature is enabled, you can present customers with multiple pricing tiers:
- Each tier has a name, color, description, and feature list.
- Layout options include Inline (side by side), Podium (center tier raised), or Stacked (vertical).
- Customers see the available tiers on the public quote page and can select one during acceptance.
- Configure tiers in Quotes → Packages → Settings; see the Tiered Packages guide for the package-library workflow.
Tips
- Keep customer-facing line item descriptions clear; avoid internal shorthand.
- Use pricing catalog items when possible so quotes stay consistent across the team; after insertion, adjust only the job-specific quantity, description, or price exceptions.
- Add expiration language for seasonal pricing or volatile material costs.
- If the customer approves only part of the scope, update the quote before accepting it and scheduling any follow-up job.
- Check the linked draft invoice after acceptance before sending it, especially when a customer selected a tiered package or signed from the public quote link.
- Use the Flow card when you want a guided status change with confirmation, then check status history to see the full audit trail of the quote's lifecycle.
Troubleshooting
The Create Quote button is disabled
When tiered packages are off, you must add at least one line item with a description and a quantity greater than zero before the Create Quote button becomes enabled. When tiered packages are on, select a package tier first.
Add from catalog is missing or shows no items
The Add from catalog button appears only when Pricing Catalog is available and the quote still has room for another line item. If the picker opens but says No catalog items found, search with a different term or ask an administrator to add active items in Pricing Catalog.
I do not see every quote status as a Flow action
The Flow card shows the next normal status as the main action, so a Draft quote advances to Sent before Accepted. Once a quote is Accepted, there is no normal advance action; Decline quote remains available until the quote is already Declined.
The customer's public link shows an error
A declined quote becomes terminal — the public link returns an error after the customer declines. If the customer changes their mind, create a new quote or mark the existing one as Accepted from the detail drawer and resend.
Sending a quote fails or returns an error
Email delivery requires the Quotes feature to be fully configured. If the send action returns an error, check that the customer has a valid email address and that your account's email integration is active.
Out-of-area warning appears when creating a quote
If the Service Areas feature is enabled and the customer's address ZIP code is not covered by any configured service area, a warning appears in the New Quote dialog. This is informational — you can still create the quote, but you may want to confirm coverage before committing.
A deposit invoice was not created on acceptance
When the Deposits feature is enabled, a deposit invoice is automatically created only if the quote total meets the Required above ($) threshold configured in Deposits → Settings. Check that the threshold is lower than your quote total, or set it to 0 when every quote with a positive deposit percent should show a deposit due on the public quote page.
