Skip to content

Set up quotes

Steps for

How it works

A customer submits their cart as a quote. Your team is emailed, a Sales administrator assigns it to a sales agent, and the agent and customer agree the details on the quote's timeline. The customer, or the agent for them, then confirms it and it becomes an order. Each step is in How a quote becomes an order.

Use it forHow
NegotiationAgree price or terms before an order is placed.
Pre-ordersCustomers request a quote ahead of time.
Sales-assisted ordersYour team adds products to a quote that the customer can change before they finalise it.
Price on application (POA)Customers add items to a quote before the price is set.

Quote statuses control what customers can do at each stage, such as edit or complete the quote, and whether it's archived when it expires. Each quote's timeline records messages, internal notes and edits, and key events send email notifications.

Try the interactive demo (opens in a new tab) of the Quoting Engine.

Turn on the Quoting Engine

Before you start:

  1. Go to Settings,Configurations,Quotes and invoices (opens in your SparkLayer Dashboard in a new tab).
  2. Turn on Quotes ("Customers request quotes from their cart and you reply with prices"). The Quote statuses row appears.
  3. Click Save.
  4. Set up your quote statuses and purchase notifications. Set up notifications before you launch quoting.
  5. Choose which customer groups can request quotes.

Request for Quote is replaced

If your store still offers the Request for Quote payment method, customers stop seeing it at checkout once you turn on Quotes.

Set up your sales team for quoting

Sales agents review quotes by signing in on the customer's behalf. A sales agent is anyone in your business who places orders for customers. Their role at Customers,Roles (opens in your SparkLayer Dashboard in a new tab) sets their access:

RoleWhat they can do with quotes
Sales administratorEverything a sales agent can do, plus assign quotes to sales agents and other higher-level tasks.
Sales agentReview, edit, message and complete the quotes assigned to them.

Without a sales team, set up one account with the Sales administrator role. Someone must be able to sign in on a customer's behalf to review their quotes. What they do day to day is in Work on a quote.

Set up quote statuses

Quote statuses group your quotes and set the rules for each stage. For example, stop customers editing a quote while you review it, or archive quotes when they expire.

There are 2 statuses to start with: Quote Requested, where every new quote starts (marked Default), and Awaiting Customer, for when a sales agent is waiting on the customer. See What happens at each status.

  1. Go to Settings,Configurations,Quotes and invoices (opens in your SparkLayer Dashboard in a new tab).
  2. Next to Quote statuses, click Edit. The Quote statuses window lists your statuses, with Default beside the one new quotes start in.
  3. To add a status, enter it in New status (such as "Awaiting approval") and click Add status. To delete one, click Remove. You can't remove the default status.
  4. Click Done.
Status settings

Each status also has these settings.

SettingWhat it does
Quote Status Display NameThe status customers see when viewing the quote in My Account. Up to 45 characters.
Quote Status Handle (or ID)Identifies the status internally. Up to 45 characters.
Set as default quote status for customersAll new quotes start in this status.
What status should the quote move to when an edit is made?The status a quote moves to automatically when the customer or a sales agent edits it. Choose No change in status to keep it the same.
Allow customers to complete quoteCustomers can complete the quote and place their order.
Allow customers to make edits to quoteCustomers can change the quote.
Require an expiry date before changing to a new statusA sales agent must set an expiry date before moving the quote out of this status.
Archive quote once quote has expiredAfter the expiry date, the quote is cancelled and can't be changed. Customers need to start a new quote.

The last 4 settings are under Actions allowed in this status.

Statuses appear on quotes in My Account. Only sales agents assigned to a quote can change its status.

Choose who is notified about quotes

Quote emails go to:

RecipientWhen
The assigned sales agentOnce a Sales administrator assigns them a quote, they get all its notifications, at their email address in Sales rep setup.
Additional email addressesFor quotes with no assigned sales agent, such as new quotes, if you've added addresses in Purchase notifications.
Your store email (fallback)If no sales agent is assigned and no additional addresses are set up.

To email extra addresses about unassigned quotes:

  1. Go to Settings,Configurations,Quotes and invoices (opens in your SparkLayer Dashboard in a new tab).
  2. Next to Purchase notifications, click Edit. Until you add someone, it says "No one is emailed when quotes and orders update."
  3. In Email addresses, enter the addresses, separated with commas.
  4. Click Save.

This covers new quotes, and quotes and orders that become unassigned.

Where the fallback store email comes from

It's your eCommerce platform's store email. On Shopify, it's the Store email at Settings,General (opens in your Shopify admin in a new tab), in your store profile, where your standard Shopify notifications usually go. For other platforms, see the developer docs.

Choose which customer groups can request quotes

  1. Go to Customers,Groups (opens in your SparkLayer Dashboard in a new tab) and click the group's name. For every group, click Edit on the base customer group.
  2. Under Inherited rules, click + Override next to Quoting engine (on the base group, + Customize), then Configure.
  3. Tick Allow quotes to be submitted, then click Save.

Customers in the group then see Request Quote beside Checkout in their cart. Click Reset on the rule to hand it back to the base customer group. See Customer groups.

To make a group quote-only, also override its Checkout access rule so customers can't check out. See Disable checkout.

To make links in quote emails open the quote or order details directly, turn on My Account quick links. See My Account.

Change the quote text

Change this text without code at Storefront,Options,Translation overrides (opens in your SparkLayer Dashboard in a new tab). See Change checkout text and Languages and international.

KeyDefault text
pdp.messaging.poaPOA
cart.request-quoteRequest Quote
cart.edit-quoteEdit Quote
cart.checkout.confirm-btn.quoteSubmit Quote: {total}
account.order-view.quoteView & Download Quote
account.order-view.edit-quoteEdit Quote
account.order-view.confirm-and-completeConfirm & Complete
account.order-view.cancel-and-archiveCancel and archive.
account.order-view.redirect-to-checkoutYou'll be redirected to the checkout to edit or complete your order.
account.order-view.quote-not-requiredNo longer require this quote?

cart.request-quote is the button in the cart, and cart.checkout.confirm-btn.quote is the last button of the quote checkout, where {total} is replaced with the quote total.

Core Script code for your developer

A developer can set the same text in your Core Script:

Core Script
translations: {
  en: {
    "pdp.messaging.poa": "POA",
    "cart.request-quote": "Request Quote",
    "cart.edit-quote": "Edit Quote",
    "cart.checkout.confirm-btn.quote": "Submit Quote: {total}",
    "account.order-view.quote": "View & Download Quote",
    "account.order-view.edit-quote": "Edit Quote",
    "account.order-view.confirm-and-complete": "Confirm & Complete",
    "account.order-view.cancel-and-archive": "Cancel and archive.",
    "account.order-view.redirect-to-checkout": "You'll be redirected to the checkout to edit or complete your order.",
    "account.order-view.quote-not-required": "No longer require this quote?",
  },
},

The text of quote emails and the quote PDF comes from your templates. See Email notifications.

Reference

Features

Every Quoting Engine feature
AreaWhat you can do
ConfigurationShow or hide quoting for each customer group. Email your sales team when a new quote arrives.
WorkflowAssign a quote to a sales agent. Set a status on each quote, choose a default status, and set rules for each status: whether the customer can edit or complete the quote, whether they can download a PDF, and whether an expiry date is required.
OrderingAdd custom line items, custom shipping, unavailable or POA (price on application) products and out-of-stock products to a quote. Set the payment method on the quote, for the customer to use when they complete it.
PDFDownload the quote as a PDF, and theme and customise the PDF.
ExpirySet quotes to expire after a date.
Timeline and communicationsSend messages to the customer, save internal notes all sales agents can see, track changes to the quote, and send email notifications when the quote changes or a message arrives.

For what each quote action does and what the timeline records, see Work on a quote.

Limitations

ItemLimitation
Company usersLimited users can't request quotes.
DiscountsYou can't add discounts to a quote.

BigCommerce only

Out-of-stock products: on BigCommerce, you can't add out-of-stock products when a quote is created or edited.

Email notifications

Change these emails with a template at Settings,Templates (opens in your SparkLayer Dashboard in a new tab): see Settings. Turn on My Account quick links so each email's link opens the quote directly.

Quote management and communication emails are sent on creation, assignment, messages and updates.

Limited user approval flow emails are sent when a limited user submits an order for approval, and when it's approved.

FAQs

For problems with a quote itself, such as Confirm & Complete being greyed out, see Troubleshooting in Work on a quote.

We'd love to hear your feedback on the Quoting Engine. Email our product team at product@sparklayer.io.

Was this page helpful?

Last updated