Skip to content

Quotes (RFQ)

Quotes let a wholesale buyer turn a cart into a request for a price, and let you send back a priced offer they can accept into an order. Between the two sits a message thread, an offer history, and an expiry date.

Two facts shape everything else on this page:

  • Quoting is a two-screen job. You edit prices in Orders → Drafts. You send the offer from the company’s Quotes screen. They are different screens and you will move between them on every quote.
  • Only the buyer can start a quote. It always begins from their checkout. There is no New quote button anywhere in the admin.

Turn quotes on

Quotes are an advanced module and are off by default. While it is off, buyers have no way to ask for a price.

  1. Go to Settings → B2B wholesale.

  2. Under Advanced modules, turn on Quotes (request for quote).

  3. Save.

Turning it off later does not strand work in progress. A quote already in flight can still be accepted, declined, or left to expire.

How a quote flows

  1. The buyer requests it. At checkout, below Pay now, they choose Request a quote — “Need pricing approval first? Send this cart to us as a quote request instead of paying now.” The basket is snapshotted exactly as it stood, and they land on Account → Quotes.

  2. You find it in the queue. Open the company under Companies, then Quotes. Nothing emails you when a request arrives — see Who gets emailed.

  3. You price it on the draft. The quote detail carries Open draft. Edit line prices and freight there, then lock the prices.

  4. You send the offer. Back on the quote, choose Respond with quote, pick the draft, set Offer expires, and send. The quote moves to Quoted and the buyer is emailed.

  5. The buyer accepts. Accept and checkout drops them into checkout at the locked prices. Paying mints a normal order and stamps the quote with it.

Example. Kapoor Apparel loads 24 small, 48 medium and 48 large of one kurta at ₹640 — ₹76,800 — and requests a quote with the note “Diwali order, need it landed by 14 Oct — can you do ₹580 if we take 150?”

The quotes queue

Open a company and choose Quotes. Each row shows the reference, the branch, the status, the total, the expiry and when it last moved. A blue badge means the buyer has said something you have not read.

Filter by All, Requested, Quoted, Accepted, Declined or Expired.

Opening a quote shows the requested items, the total, the buyer’s note and a status timeline. The items table is read-only — every price change happens in the linked draft order.

Sending an offer

From the quote, Open draft takes you to the draft order holding that basket. Edit line prices, add freight, apply whatever adjustment you agreed, then lock the prices.

Back on the quote, Respond with quote asks for two things:

FieldWhat to do
DraftPick the draft you just priced.
Offer expiresThe date the offer stops being valid. Leave it blank for 30 days.

The buyer gets a Quote ready email carrying the total and the valid-until date, and their quote page changes to “We’ve sent you a price… accept to proceed to checkout at these locked prices.”

Example. You drop the kurta to ₹585 for 150 units — ₹87,750 — add ₹1,200 freight, and set the offer to expire on 10 October.

There is no quote document to download

The offer is a page in the buyer’s account plus an email carrying the total and the valid-until date. There is no quote PDF to send, print or attach. If your customer’s process needs a document, paste the figures into the message thread or attach your own file to a message.

Revising an offer

Send a second or third price on the same quote at any time before it is accepted, declined or expired. Respond with quote again and the new offer replaces the previous one, the history gains a row, and the expiry clock resets from the new date.

Example. Kapoor pushes back on the freight. You revise to ₹87,750 with freight waived. Their history now reads:

OfferTotalMovement
Offer 3₹87,750−₹1,200
Offer 2₹88,950−₹5,850 (−6.2%), +30 units
Offer 1₹76,800Opening request

The offer history is a shared ledger. Your buyer sees exactly these rows, with the same rupee, percentage and unit movement. There is no merchant-only version, so price every revision as though the customer is reading the trail — because they are.

You cannot revise after the quote has been accepted, declined or expired.

The message thread

Every quote carries a two-way conversation. Type in the box on the quote detail; use the paperclip for files. The buyer sees the same thread with their own compose box.

The thread is append-only — nothing can be edited or deleted once sent.

LimitValue
Files per message5
Size per file10 MB
Size per message25 MB
Messages per quote200
File typesPDF, JPG, PNG, WEBP, GIF, TXT, CSV, XLSX, DOCX

Download links re-check the reader’s permission every time and expire after about five minutes, so a forwarded link is not a way around that check.

Example. Vinayak Infra attaches PO-2291.pdf and a delivery schedule; you reply with a signed rate sheet. The paperwork stays on the quote instead of scattering across inboxes.

Acceptance, expiry and declines

Accepting takes the buyer straight to checkout on the locked prices. Their quote then reads “You accepted this quote. It became order #1084.”

Expiry is enforced at checkout, not at acceptance. A buyer who accepts on the last valid day and pays two days later loses the price — checkout refuses and names the quote. If you want to honour it, revise the quote with a fresh expiry.

The same rule protects you the other way: a bookmarked payment link for an expired offer cannot be paid, so a quoted price cannot leak into next quarter.

Declines are final for both sides. Either you or the buyer can decline; the quote closes and the buyer must send a new request from a new cart. You would decline rather than quote, for example, 900 m of a cable you are discontinuing.

Statuses run Requested → Quoted → Accepted or Declined. A Requested or Quoted offer that nobody answers lapses to Expired. Accepted, Declined and Expired are all final.

Who gets emailed

EventBuyerYou
Buyer sends a quote requestNobody is emailed
You send or revise an offerQuote ready
Buyer acceptsAccepted
Either side declinesDeclined
Buyer posts a messageNew buyer message on a quote

A new quote request notifies nobody. Someone has to open the queue. Make it part of a daily routine, the same way you would check unpaid invoices — a request sitting unread for three days is the most common complaint about quoting.

When a buyer does post a message you are emailed an excerpt with an Open quote link. Several replies inside 30 minutes collapse into one email so a fast back-and-forth does not flood your inbox.

Each of these emails lives in Settings → Notifications, in the B2B wholesale group, and can be reworded or switched off individually.

Example. Vinayak’s buyer posts “can you split delivery across two sites?” at 4:40pm. Your Pune rep gets the excerpt and opens the quote from the email.

Who can see a quote

A buyer sees their own quotes only — including a Location admin, who can otherwise see every order and balance at their branch.

That is deliberate. A quote thread carries purchase orders, negotiated rate sheets and a written conversation, so opening it to colleagues would expose far more than a number. If a customer wants a second person watching a negotiation, they should ask that person to raise the request.

What this does not do yet

  • You cannot start a quote. Every quote begins with a buyer sending their cart from checkout. To price proactively, build a draft order and send the invoice link — but that skips the accept step and the price history.
  • A new request emails nobody. Work the queue.
  • There is no quote PDF. The offer is a page in the buyer’s account plus an email with the total and the expiry.
  • The default expiry is 30 days and cannot be changed store-wide. Expiry is one date on the whole offer, never per line.
  • Declines and expiries are final for both sides. The buyer must request again.
  • Buyers cannot see colleagues’ quotes, even Location admins.
  • Acceptance reserves no stock.
  • The draft picker is not filtered to the company you are quoting.
  • The queue is reachable only from a company page.