Quotes in the customer portal
Buyers who sign in to your Customer Portal have a Quotes page of their own. They can ask you for a quote, read the quotes you send, negotiate, and accept or decline. Accepting in the portal places the order straight away, which the emailed quote link doesn't do.
This page explains what portal buyers see and what each of their actions does on your side. To see it for yourself, open the portal as one of the customer's buyers. See View the portal as a buyer.
Two ways a customer answers a quote
When you send a quote to a customer, they get the quote email with its View & respond button, whether or not they use the portal. A portal buyer can answer either way, and the result differs:
| Emailed quote link | Customer portal | |
|---|---|---|
| Who can use it | Anyone with the link, no account needed | Buyers signed in to the customer's portal account |
| Accepting | Records the acceptance. You create the sales order. | Records the acceptance and creates a Draft sales order |
| Choosing options and add-ons | Yes | No. The quote is accepted as you sent it. |
| The PDF, your message to the customer, the terms and the tax exemption | Shown | Not shown |
| Requesting a new quote | No | Yes |
| Counter-offer | No, but the customer can send a message | Yes |
For the quote link, go to See how your customer answers a quote.
The Quotes list
Buyers open Quotes from the portal's left-hand menu. The list shows the quotes for the account named in Ordering for, the one they're buying for right now. Quotes for the customer's other locations don't appear.
| Column | What it shows |
|---|---|
| Quote # | The quote number, the same one you see in SKU.io |
| Status | The buyer's status label (see the next table) |
| Origin | Whether the buyer requested the quote or your team started it |
| Items | How many lines the quote has |
| Valid until | The last day the quote can be accepted |
| Total | The quote total, or Pending review while its prices are hidden |
Buyers can search by quote number or PO number, and filter by Status, Origin and Date. The Status filter uses different words from the status chips, such as Draft and Awaiting review.
The portal's home page shows a Quotes awaiting you card with the number of quotes waiting for the buyer's answer.
What each status means to the buyer
| The buyer sees | Status in SKU.io | What it means for them |
|---|---|---|
| Requested | Draft | Being prepared. Prices can change. |
| Awaiting Your Response | Sent or Viewed | Ready to accept, decline or counter |
| Being Updated | Revised | You're changing it. They can't accept it until you send it again. |
| Accepted | Accepted | Accepted, and no order has been made from it yet |
| Ordered | Ordered | A sales order was made from it |
| Declined | Declined | Declined by the buyer or by your team |
| Expired | Expired | Past its Valid until date |
Every quote for the account appears in the list, including quotes your team is still drafting for it. A draft shows as Requested, with its current prices unless you hide them (see Hide prices until you send the quote).
The quote page
Clicking a quote opens its page:
- Header: the quote number, its status, Valid until (in red once it has passed), the PO number and the origin. When the quote has become an order, a View order button opens it.
- Items: Product, Qty, Unit price, Lead time and Total. Lead time appears only when you quoted one, and a lead time of zero reads In stock. A note below explains that lead times are calendar days after the order is received. Each line's Total is the quantity times the unit price, before line discounts.
- Documents: the documents you shared with the customer, each with a Download button.
- Negotiation: the conversation with you.
- Summary: Subtotal, Discount, Tax, Deposit and Total, plus Shipping terms, and the buttons for answering the quote.
Every line is listed, including lines you marked Optional or put in a Pick one group. The portal doesn't mark them or let the buyer choose. When a quote offers choices, ask the buyer to answer it from the emailed link.
Accept & e-sign
While a quote is Awaiting Your Response and still valid, the Summary shows Accept & e-sign, Counter-offer and Decline.
- The buyer clicks Accept & e-sign. The dialog says that accepting creates a sales order.
- They type their name under Type your full name to sign.
- They tick I agree to the quote terms and conditions.
- They click Accept & create order.
The buyer sees Quote accepted — order created, and the quote moves to Ordered with a View order button. On your side:
- The quote is accepted, signed with the buyer's name and their portal email, and recorded as accepted in the Customer portal.
- A Draft sales order is created from the quote's lines. Review and approve it like any other portal order. See Order all or part of an accepted quote.
- You get a Quote Accepted alert: "… accepted Quote Q-… in the B2B portal — a draft sales order was created."
If the order can't be created, the quote isn't accepted either, and the buyer can try again.
Decline
- The buyer clicks Decline.
- In Decline quote?, they can say why, up to 2,000 characters.
- They click Decline quote.
The buyer sees Quote declined. You get a Quote Declined alert with their reason, and the reason appears on the quote's Activity tab.
Negotiate and counter-offer
Under Negotiation, the buyer and your team write to each other. The buyer's messages show as You, and yours as Seller. What your team posts in the quote's Comments appears here. See Follow up on sent quotes.
- To ask a question, the buyer types in Write a message… and clicks Send. You get a Buyer Message on Quote alert.
- To propose different terms, the buyer clicks Counter-offer, describes the price or quantity that would work, and clicks Send counter-offer. You get a Counter-Offer on Quote alert, and the message shows a Counter-offer label in the quote's Comments.
A counter-offer is a message. It doesn't change the quote's prices or status. To accept it, revise the quote and send it again. See Revise or extend a quote.
When a quote has expired, the Summary shows "This quote has expired. Message the seller to request a renewal." instead of the answer buttons. The buyer can still write to you, so revise the quote or extend its date and send it again. See Revise or extend a quote.
The conversation closes once the quote is declined or ordered. The buyer then sees that the conversation is closed, and for an ordered quote, that questions about the order belong on the order itself. The portal has no button for attaching files to a message.
Request a quote
A buyer can ask you to quote a product:
- The buyer opens the product in the Catalog and sets the quantity.
- They open the ⋯ menu next to Add to cart.
- They click Request a quote.
The buyer sees Quote requested, and the new quote opens with the status Requested. In SKU.io it's a Draft quote with the origin RFQ, for the buyer's account, already priced at the price the buyer sees in the portal. You get a Quote Requested alert. See Answer requests for quote.
When a product has no price on the buyer's account, Add to cart is greyed out and its tooltip says "This product has no price on your account — request a quote instead." The request comes from the product's page. The catalog cards and the cart don't have a Request a quote button.
Buyers without a portal account can request quotes from the public Request a quote page. See Take quote requests without an account.
Hide prices until you send the quote
Normally a buyer sees prices on a quote as soon as it's in their list, including a request they've only just sent and a quote you're in the middle of changing. To show prices only once you've reviewed and sent the quote, turn on Hide a requested quote's prices until you send it under Quote requests in the portal settings.
While the setting is on, a quote that is Requested or Being Updated shows:
- Pending review in the list's Total column,
- Pending for each line's Unit price and Total,
- "Pricing pending review. We'll send you the priced quote shortly." in place of the summary totals.
Quantities, products and the conversation still show. You always see the quote priced. Once you send it, the buyer sees the prices.
Who can do what
What a buyer can do with quotes depends on their portal role and account:
| Who | Read quotes | Message and counter-offer | Request a quote | Accept or decline |
|---|---|---|---|---|
| Company Admin, Approver, Buyer | Yes | Yes | Yes | Yes |
| Viewer | Yes | No | No | No |
| An account in preview, waiting for your approval | Yes | Yes | Yes | No |
| You, using View portal as | Yes | No | No | No |
- For a Viewer, Accept & e-sign and Decline are greyed out, with the tooltip "Your portal role (Viewer) can browse the catalog but cannot place orders. Ask your company admin or your supplier to change your role to Buyer." If a Viewer tries to send a message, request a quote or make a counter-offer, the portal refuses it with a message that their role is read-only.
- An account in preview can't accept, because accepting places an order. Accept & e-sign and Decline are both greyed out, with no tooltip. The buyer can still message you or make a counter-offer.
- View portal as is read-only, and opening a quote that way doesn't mark it as viewed. See View the portal as a buyer.
When a buyer opens a quote you've sent, it moves from Sent to Viewed in SKU.io, the same as when a customer opens the emailed link.
Messages buyers can see when an action is refused
| Message | Why |
|---|---|
| "None of the requested items could be matched to a product." | The product they asked about is no longer available to quote |
| "Quote Q-… has expired and can no longer be accepted." | The quote passed its Valid until date |
| "Quote Q-… cannot be accepted from status …" or "…cannot be declined from status …" | The quote is no longer waiting for an answer, for example because a colleague already accepted it. The status appears as a lowercase word, such as accepted. |
| "Quote Q-… has been withdrawn and can no longer be accepted. Ask the seller for an updated quote." | You archived the quote |
| "Quote Q-… is closed and can no longer be written on." or "…countered." | The quote was declined or ordered |
| "Quote not found for this account." | The quote belongs to another location. The buyer switched Ordering for to a different account. |
Next steps
- Answer requests for quote: price and send the quotes portal buyers ask for.
- Follow up on sent quotes: reply to messages and counter-offers.
- Order all or part of an accepted quote: review the draft sales order a portal acceptance creates.
- How the Customer Portal works: the portal as a whole.