# Work on a quote

URL: https://docs.sparklayer.io/help/ordering/work-on-a-quote

Review, assign, edit and message B2B quotes as a sales agent or Sales administrator, then complete them, and see how a quote moves from request to order.

> **Quick summary**
>
> - For the people who handle quotes from the [Quoting Engine](https://docs.sparklayer.io/help/ordering/quoting.md): sales agents and Sales administrators. You work on a quote by signing in to your store on the customer's behalf, where it opens in their My Account.
> - A Sales administrator assigns each new quote to a sales agent, with a status and an expiry date. Only the assigned sales agent can then change it.
> - You find quotes in the new quote email and in **Recent Activity** in your account on the storefront, where you review and edit them. Each quote has a purchase ID such as `P#1264`.
> - Once you've agreed it, the customer, or a sales agent for them, clicks **Confirm & Complete** and the quote becomes an order.

To turn on quotes, set up statuses and choose who's emailed, see [Set up quotes](https://docs.sparklayer.io/help/ordering/quoting.md).

## How a quote becomes an order

How a quote moves from request to order:

1. **Requested**: The customer submits their cart as a quote and chooses a shipping method
2. **Assigned**: Your team is emailed; a Sales administrator assigns a sales agent, a status and an expiry date
3. **Negotiated**: The agent and customer edit the quote and exchange messages on its timeline
4. **Confirmed**: The customer, or the agent for them, clicks Confirm & Complete and places the order
5. **Order**: The order is Processing and follows your usual workflow until it ships

The quote's [status](#what-happens-at-each-status) decides what the customer can do at each stage, such as edit or complete it. On Shopify, a completed quote becomes a regular order, not a draft order.

If a [limited user](https://docs.sparklayer.io/help/customers/company-users.md) completes a quote, the order goes to their company's main user for approval first. Once it's approved, it reaches you as a normal order. See [Approve orders from limited users](https://docs.sparklayer.io/help/customers/company-users.md#approve-orders-from-limited-users).

### Where to find quotes

| Where | What you see |
| --- | --- |
| **Email** | A new quote email with the customer's details and the items, and a **View requested quote** button. Who gets it is set in [Choose who is notified about quotes](https://docs.sparklayer.io/help/ordering/quoting.md#choose-who-is-notified-about-quotes). |
| **Your account on the storefront** | Sales agents find quotes in **Recent Activity**, with **All**, **Assigned to me** and **Placed by me** tabs. The **Status** column tells quotes (such as "Quote Requested") apart from orders. |
| **Orders** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/activity)), or **SparkLayer Wholesale > Orders** in the Shopify app | Quotes may also be listed here as **Awaiting merchant**, with their purchase ID, as there's no order in your store yet. To work on a quote, open it on the storefront. See [Orders](https://docs.sparklayer.io/help/dashboard/orders.md) and [Awaiting merchant](https://docs.sparklayer.io/help/glossary.md#awaiting-merchant). |

## Request a quote

Customers, or sales agents signed in on their behalf, request a quote from the cart: they click **Request Quote** instead of **Checkout** (sales agents see **Submit Quote**), choose a shipping method and click **Submit Quote**. No payment is taken. For each step of the quote checkout, see [Submit a quote instead](https://docs.sparklayer.io/help/ordering/cart-and-checkout.md#submit-a-quote-instead).

The quote then shows in the activity list in the customer's [My Account](https://docs.sparklayer.io/help/storefront/interfaces/my-account.md). Its **Summary** shows when it was requested, its expiry date, the assigned sales agent and its status. The **Order Lines**, **Timeline** and **Files** tabs show the products, messages and attachments, and **Download PDF** downloads a copy.

### Start a quote for a customer

Sales agents can build a quote for a customer: sign in as them with [Order for a customer](https://docs.sparklayer.io/help/sales-ordering/order-for-a-customer.md#submit-a-quote), add the products and submit the cart as a quote. The customer is emailed to review it.

**Shopify only:**

Don't create a draft order for a B2B customer by hand in the Shopify admin instead: it uses your Shopify prices, not the customer's B2B prices. To order or quote at their prices, use [Order for a customer](https://docs.sparklayer.io/help/sales-ordering/order-for-a-customer.md).

## What happens at each status

| Status | Who acts next | What the customer sees and can do |
| --- | --- | --- |
| **Quote Requested** (default) | You. A Sales administrator assigns the quote, and the sales agent reviews it, adjusting prices, quantities or shipping. | The quote in My Account, with this status. **Confirm & Complete** is disabled by design, so the order can't be placed until you've reviewed it. They can message you on the quote's timeline. |
| **Awaiting Customer** | The customer. | They review your changes, then click **Confirm & Complete** to place the order. They can also click **Edit Quote** if the status allows edits. |
| Statuses you add | Whoever you decide. | Whatever the status allows, with **Allow customers to complete quote** and **Allow customers to make edits to quote**. |

Only sales agents assigned to a quote can change its status. To add statuses or change what each allows, see [Set up quote statuses](https://docs.sparklayer.io/help/ordering/quoting.md#set-up-quote-statuses).

## Review and assign a quote

1. Click **View requested quote** in the new quote email and sign in to your store. The quote opens in the customer's My Account.
2. As a Sales administrator, click the edit icon in the yellow box at the top of the quote and set:
   - **Assigned Sales Agent**: who handles the quote
   - **Quote Status**: one of your [quote statuses](#what-happens-at-each-status)
   - **Expiry Date**: after this, the customer must start a new quote (if the status archives expired quotes)
3. Click **Save**. The assigned sales agent is emailed, and sees the quote when they next sign in.

Of your team, only the sales agent assigned to the quote can change it.

## Edit a quote and send it back

Sales agents can edit a quote, and so can customers if its status allows.

1. Open the quote in My Account and click **Edit Quote**. It opens in the [My Cart](https://docs.sparklayer.io/help/storefront/interfaces/my-cart.md).
2. Make your changes. Customers can add or remove products and change quantities. Sales agents can also change line prices and shipping, add custom line items and custom shipping, and add out-of-stock (not on BigCommerce) or POA (price on application) products.
3. Continue through the checkout. Sales agents get an extra **Quote Details** step, with a banner naming the customer. There, they:
   - Set the **Quote Status**, **Expiry Date** and **Assigned Sales Agent**
   - Under **Communications**, choose **Notify customer** (emails the customer) or **Save as internal note**, with an optional message
4. Click **Submit Revisions to Quote**. The customer is notified to review the changes.

Changing prices and shipping needs the **Change quoted prices** and **Change shipping** permissions in the sales agent's [role](https://docs.sparklayer.io/help/sales-reps/roles.md). You can't add discounts to a quote.

## Message the customer about a quote

Each quote's **Timeline** tab in My Account keeps all messages between the customer and your sales team in one place. Messages are also sent by email.

| Who | How they send a message |
| --- | --- |
| **Sales agent** | Choose **Notify customer** and click **Send Email**, or choose **Save as internal note** for a private note (in a yellow box, seen only by sales agents). Customers sign in to reply. |
| **Customer** | Types in the message box and clicks **Send Message**. The assigned sales agent is notified. |

Each entry shows who sent it and when, for example "Seb Latch (Customer) sent a message". See [Order timeline and messages](https://docs.sparklayer.io/help/customers/timeline.md).

## Complete a quote

Once the quote is agreed, the customer or a sales agent turns it into an order.

1. Open the quote in My Account and click **Confirm & Complete**.
2. The checkout opens at **Review & Pay**, with a banner saying "You are completing a quote" and the quote's shipping method selected. Choose a payment method, and change anything else you need. 
3. Tick the terms and conditions and click **Complete Order**.

The quote becomes a **Processing** order and follows your usual workflow until it ships. On Shopify, it's a regular order, not a draft.

If the quote is no longer needed, click **Cancel and archive** under the quote's buttons. This cancels it and stops any further changes.

## Reference

### Quote actions

| Action | Customer | Sales agent |
| --- | --- | --- |
| **Edit Quote** | Opens the quote in the cart to add or remove products and change quantities, if the status allows edits. | Opens the quote in the cart to also change line prices and shipping costs. |
| **Confirm & Complete** | Goes to checkout to place the order, if the status allows it. The shipping method is pre-selected and can be changed; they choose how to pay. | Completes the quote on the customer's behalf. |
| **Cancel and archive** | Cancels the quote and stops any further changes. Only use it when the quote is no longer needed. | The same. |

### Timeline activities

| Activity | What's shown |
| --- | --- |
| **Quote actions** | When the quote was requested and updated |
| **Customer messages** | Messages from the customer |
| **Sales agent messages** | Messages from a sales agent |
| **Internal notes** | Private notes from a sales agent |
| **Quote edits** | Each edit, with a log of what changed |

The emails sent at each step are listed in [Email notifications](https://docs.sparklayer.io/help/ordering/quoting.md#email-notifications-sent).

## Troubleshooting

**Diagnose: Quote buttons greyed out?** Check who acts next and what each status allows.

1. **Who can’t act on the quote?** Buyers and merchants see different buttons at each stage.
   - The customer: go to question 2
   - Me or a sales agent: go to question 3
2. **Is the quote’s status “Quote requested”?** That’s the status right after a customer asks for a quote.
   - Yes: go to fix A (You review the quote first)
   - No: go to question 4
3. **Does the person’s role allow them to work on quotes?** Sales agents can only do what their role allows. Where to look: Customers > Roles (SparkLayer).
   - Yes: go to question 5
   - No / not sure: go to fix B (Give the role quote permissions)
4. **Is the customer trying to edit the quote?** Whether a customer can edit a quote is set for each status.
   - Yes: go to fix C (Allow editing for that status)
   - No: go to fix D (Everything checks out)
5. **Are your quote statuses turned on?** Quote statuses and what each allows are set in your configuration. Where to look: Settings > Configurations > Quote statuses (SparkLayer).
   - Yes: go to fix D (Everything checks out)
   - No / not sure: go to fix E (Turn on your quote statuses)

**Fixes**

- **A. You review the quote first** When a customer requests a quote, you or a sales agent review it and adjust prices. Confirm & complete stays greyed out for the customer until you move it on. That’s by design. See [Quoting](https://docs.sparklayer.io/help/ordering/quoting.md).
- **B. Give the role quote permissions** Edit the person’s role, tick the quote permissions and save. Where: Customers > Roles (SparkLayer).
- **C. Allow editing for that status** Open Quote statuses, edit the status the quote is in, and allow the customer to edit it. Where: Settings > Configurations > Quote statuses (SparkLayer).
- **D. Everything checks out** Your setup looks right, so we'll take it from here. Send us your answers with the quote number and who’s trying to act on it.
- **E. Turn on your quote statuses** Enable the quote statuses you use, then reload the quote. Where: Settings > Configurations > Quote statuses (SparkLayer).

## FAQs

**Why is Confirm & Complete greyed out?**

| Who | Why |
| --- | --- |
| **The customer**, at **Quote Requested** | This is by design. You review the quote first, then move it to a status that lets the customer complete it, such as **Awaiting Customer**. See [What happens at each status](#what-happens-at-each-status). |
| **The customer**, at another status | The status doesn't allow customers to complete quotes. Check its **Allow customers to complete quote** setting in [quote statuses](https://docs.sparklayer.io/help/ordering/quoting.md#set-up-quote-statuses). |
| **You or a sales agent** | The agent's [role](https://docs.sparklayer.io/help/sales-reps/roles.md#permissions) doesn't have the **Quotes** permission they need, such as **Edit quotes** or **Complete quotes**, or the quote isn't assigned to them. Only the assigned sales agent can change a quote. Also check the quote's status allows the action. |

**Can I edit the prices and shipping costs on a quote?**

Yes, if your sales agent [role](https://docs.sparklayer.io/help/sales-reps/roles.md) has the **Change quoted prices** and **Change shipping** permissions. The built-in **Sales administrator** role has both.

**Can I apply discounts to a quote?**

No. Change the line prices instead.
