← Back to Help Center

Quotes & Invoices

Send professional quotes, convert them to bookings with one click, and track payments from start to finish with QuoteLab.

How Quotes Work

A quote is a price estimate that you send to a potential customer before they commit to a booking. Quotes are created using the same pricing engine that powers your booking widget — base prices, multipliers, add-ons, and compound conditions all apply.

Quotes can be generated in two ways:

  • Automatically from the widget — When a customer fills out the booking widget and sees a price, a quote record is created in your dashboard. If they complete the booking, the quote is marked as converted.
  • Manually from the dashboard — Create a quote for a customer who contacts you by phone, text, or email. Select the service, fill in dimensions, add any notes, and send it directly.

Creating a Quote

To create a quote manually, go to /dashboard/quotes and click New Quote. Fill in the following:

  1. Customer — Select an existing customer or enter a new name, email, and phone number. If you enter new details, a customer record is created automatically.
  2. Service — Choose the service the customer is asking about. The base price populates automatically.
  3. Dimensions — Fill in the pricing dimensions (vehicle size, property sqft, etc.). The price updates in real time as you make selections.
  4. Add-ons — Select any optional extras the customer requested.
  5. Notes — Add any details or special instructions. These appear on the quote that the customer sees.
  6. Expiration — Set how long the quote is valid. The default is 7 days, but you can change this to any duration.

Click Save to create the quote as a draft, or Save & Send to immediately deliver it to the customer.

Sending Quotes to Customers

When you send a quote, the customer receives an email and optional SMS with a link to a branded quote page. The page shows your business name and logo, the service details, a line-by-line price breakdown, and an Accept & Book button.

To send a quote that has been saved as a draft, open it from /dashboard/quotes and click Send to Customer. You can also resend a quote if the customer has not responded.

QuoteLab tracks whether the customer has opened the quote. If a sent quote has not been viewed after a few days, you will see a prompt: “This quote has not been viewed — send a reminder?”

Quote PDF

Every quote can be downloaded as a professional PDF. The PDF includes your business name, logo, contact information, the customer's details, service description, line-item pricing breakdown, total, and expiration date.

To download a PDF, open the quote from /dashboard/quotes and click Download PDF. The customer can also access a PDF from their quote page link.

PDFs are useful for customers who need a formal estimate for insurance claims, fleet managers who need documentation for approval, or commercial clients who require written quotes before authorizing work.

Converting a Quote to a Booking

When a customer is ready to proceed, a quote can be converted to a booking in two ways:

  • Customer accepts online — The customer clicks Accept & Book on the quote page, picks a date and time, enters payment details (if required), and confirms. The quote status changes to “converted” and a booking is created automatically.
  • You convert manually — Open the quote in your dashboard and click Convert to Booking. Select a date and time, confirm the details, and the booking is created. Use this when a customer accepts over the phone or in person.

The converted booking retains all pricing, dimensions, add-ons, and notes from the original quote. The quote record links to the booking for a complete audit trail.

Quote Statuses

Your quotes page at /dashboard/quotes shows quotes organized by status. You can view them as a kanban board or a filtered list.

StatusMeaning
PendingDraft quote that has not been sent to the customer yet.
SentQuote has been delivered to the customer via email or SMS. Waiting for their response.
AcceptedThe customer accepted the quote. Ready to be converted to a booking.
ConvertedThe quote has been turned into a confirmed booking.
ExpiredThe quote passed its expiration date without being accepted.
DeclinedThe customer declined the quote.

Payment Tracking

Once a quote is converted to a booking, QuoteLab tracks the full payment lifecycle. Each booking shows a clear payment status:

  • Pending — No payment has been collected yet.
  • Deposit paid — The customer paid the deposit at booking time. The remaining balance is due on completion.
  • Paid in full — The full amount has been collected. No balance remaining.
  • Refunded — A full or partial refund has been issued.

You can view all payment details on the booking page, including deposit amount, balance due, tip amount, and Stripe transaction references. For a business-wide view, check your analytics at /dashboard/analytics for revenue breakdowns, payout history, and outstanding balances.

Tips for Better Quote Conversion

  • Respond quickly — Send quotes within minutes of a customer inquiry. Studies show that response time is the single biggest factor in winning local service jobs.
  • Include a detailed breakdown — Customers are more likely to accept a quote when they can see exactly what they are paying for. The line-item format that QuoteLab generates helps build trust.
  • Follow up — If a quote has not been viewed in a few days, send a friendly reminder. QuoteLab will prompt you when a follow-up is recommended.
  • Set reasonable expiration — A 7-day expiration creates urgency without being pushy. For larger jobs, 14 days may be more appropriate.
  • Use instant quote links — For common quote requests (like Instagram DMs asking for pricing), send a pre-filled booking link that takes the customer straight to a quote with their selections already made.