Request-a-Quote (RFQ) Workflow for B2B Stores

By wcart_admin | Last Updated on June 26, 2026

Quick answer: A request-a-quote (RFQ) workflow lets B2B buyers add products to a cart and submit them for a custom price instead of paying a fixed retail amount. In ecommerce, you implement it by hiding prices or the buy button for wholesale roles, adding a “Request a Quote” action, capturing the buyer’s line items and notes, and routing that request to a sales rep who responds with a negotiated quote. The buyer can then accept the quote, which converts it into a real order. This is the standard way to handle bulk pricing, tiered discounts, freight quotes, and account-specific terms that a public price tag cannot express. Done well, it shortens the back-and-forth of email negotiation while keeping every quote auditable.

By the Wcart team. We build and support white-label ecommerce and multi-vendor marketplace software, so this is written from hands-on platform experience.

If you sell to businesses, the fixed “Add to Cart, pay now” flow built for consumers breaks down fast. Wholesale buyers expect volume pricing, net terms, freight estimates, and a human on the other end. The request-a-quote pattern bridges that gap. It keeps the convenience of an online catalog while preserving the negotiation that B2B deals require. This guide walks through how the workflow actually functions, how to configure it, and the operational details most teams miss the first time.

What “request a quote” means in B2B ecommerce

A quote (sometimes called an RFQ, for request for quote) is a formal, time-bound price offer for a specific set of products and quantities. Instead of the storefront committing to a price the moment a buyer clicks “buy,” the buyer assembles what they need and asks for terms. A sales rep reviews margin, stock, shipping cost, and the customer’s history, then issues a quote the buyer can accept, reject, or counter.

This matters because B2B pricing is rarely one number. The same SKU might sell at different prices to a first-time buyer, a contracted reseller, and a high-volume distributor. Freight on a pallet order is impossible to pre-calculate for every destination. Payment terms (net 30, net 60, deposit-then-balance) are negotiated per account. A quote is the container that holds all of those variables in one auditable document.

Quote vs. standard cart checkout

The two flows share a cart concept but diverge sharply in intent and outcome.

Aspect Standard checkout Request-a-quote
Pricing Fixed, shown upfront Negotiated, set by rep
Who decides price The system A salesperson
Buyer intent Buy now Request terms first
Payment Immediate After quote acceptance, often on terms
Best for Stock items, retail volume Bulk, custom, contract, freight-heavy orders
Audit trail Order record Quote document with versions and expiry

Most mature B2B stores run both. Small repeat orders go through fixed pricing, while large or custom orders go through quotes. The trigger is usually the customer’s role or order size, not the product itself.

The end-to-end RFQ workflow, step by step

Here is the full lifecycle of a quote from the buyer’s first click to a paid order. The same skeleton applies whether you run a single-vendor store or a multi-vendor marketplace, though the marketplace case adds a routing layer (covered below).

Step 1: Buyer assembles a quote request

The buyer browses the catalog as usual, but for quote-eligible products the “Add to Cart” button is replaced (or supplemented) by “Add to Quote” or “Request a Quote.” They build a list of SKUs and quantities, then add context: a target price, delivery location, requested terms, or a free-text note (“need this delivered before month-end, can split into two shipments”). Capturing intent here saves a full round of email later.

Step 2: Request is submitted and recorded

On submission, the system creates a quote record tied to the buyer’s account, timestamps it, and assigns a status of “Requested.” The buyer gets a confirmation, and the relevant sales rep gets a notification. The important part is that this is now a tracked object, not a lost inbox thread. You can report on quote volume, win rate, and response time.

Step 3: Rep reviews, prices, and responds

The rep opens the request, checks stock and margin, calculates or fetches a freight estimate, applies any contracted or volume discount, and sets line-item prices plus an overall total. They add an expiry date (quotes should never be open-ended) and any conditions. The status moves to “Quoted” and the buyer is notified that a priced quote is ready to view.

Step 4: Buyer accepts, rejects, or negotiates

The buyer reviews the quote. They can accept it as-is, reject it, or send a counter (“can you do better on line 3?”). A counter loops back to step 3 and creates a new quote version so the negotiation history stays intact. This versioning is what separates a real quote system from a glorified contact form. In practice it also saves you in a dispute: when a buyer insists they were promised a lower number, you can pull up exactly which version said what, and when.

Step 5: Accepted quote converts to an order

On acceptance, the quote converts into an order with the negotiated prices locked in. From here the buyer either pays immediately or, if approved for credit terms, the order ships against an invoice due on net terms. The original quote stays linked to the order for accounting and dispute resolution.

How to configure RFQ on your store

The setup work falls into a few clear buckets. Below is the practical order we recommend.

1. Gate pricing by customer role

RFQ usually applies only to B2B/wholesale accounts, not anonymous retail shoppers. The cleanest approach is to use customer groups: assign wholesale buyers to a group, then configure that group to see “Request a Quote” instead of fixed prices (or in addition to them). If you are not yet using groups, set them up first, because they are the backbone of all wholesale behavior. Our companion guide on how to set up wholesale pricing and customer groups covers this in depth.

2. Decide what triggers the quote path

Common triggers, which you can combine:

  • By customer role: all wholesale accounts always quote.
  • By product: only flagged “quote-only” SKUs (custom, made-to-order, or freight items).
  • By quantity threshold: fixed price below N units, quote above it.
  • By cart value: large carts route to a rep automatically.

3. Choose what to capture on the form

Keep the request form short but useful. The high-value fields are delivery location (drives freight), requested quantities, target price or budget, and a free-text note. Asking for too much upfront depresses submission rates. You can always follow up.

4. Define statuses, ownership, and SLAs

Agree on the status set (Requested, Quoted, Accepted, Rejected, Expired), who owns each quote, and a response-time target. Speed matters. A quote answered the same day converts far better than one that sits for a week. Set an internal SLA and report against it.

5. Set expiry and terms defaults

Every quote needs an expiry (commonly 14 to 30 days) so prices are not honored indefinitely as costs move. Define default payment terms per customer group to avoid re-negotiating terms on every deal.

RFQ in a multi-vendor marketplace

Marketplaces add one wrinkle: a single buyer cart can contain products from several vendors, and each vendor sets their own price. A marketplace RFQ should split the request by vendor so each seller quotes only their own line items. The buyer then receives one or more quotes and can accept them independently. This keeps vendor margins private and lets each seller manage freight from their own warehouse. If you operate a marketplace, make sure your platform supports per-vendor quote routing rather than forcing a single merged quote. The merged approach forces you to act as a pricing middleman, which defeats the marketplace model.

Common mistakes and how to avoid them

Treating the quote form as a contact form

A mailto link or generic contact form loses structure: no line items, no versioning, no status, no reporting. Use a real quote object so you can measure win rate and response time.

Hiding prices from everyone

Hiding all prices behind login frustrates legitimate buyers comparing options and can hurt discoverability. Gate by role so retail visitors still see prices while wholesale accounts get the quote path. Note that products with no visible price are generally excluded from Google Merchant Center listings, so weigh that trade-off for SEO and Shopping. See Google’s product structured data guidance for how price visibility affects rich results.

No expiry on quotes

Open-ended quotes become liabilities when input costs rise. Always set an expiry and re-quote after it lapses.

Slow response times

The single biggest lever on quote conversion is speed. Notify reps instantly, set an SLA, and track it. A request-for-quote process is, at bottom, a procurement interaction, and procurement teams expect timely, professional responses, as outlined in general request for quotation practice.

Measuring whether your RFQ flow works

Once live, watch a handful of metrics: quote request volume, median response time, quote-to-order conversion rate, average quote value, and the rejection/counter rate. If conversion is low but volume is healthy, the problem is usually pricing or response speed. If volume is low, the quote path may be too hidden or the form too long. We deliberately avoid quoting industry “average” conversion figures here because they vary enormously by category and deal size. Benchmark against your own trend instead. One pattern worth watching: a sudden spike in the counter rate often means your reps are pricing too high out of the gate, not that buyers got cheap.

Ready to put a proper quote workflow in front of your wholesale buyers? Explore the Wcart platform to see how role-based pricing, customer groups, and quoting fit together out of the box.

Frequently asked questions

What is a request-a-quote (RFQ) in ecommerce?

It is a workflow where a B2B buyer assembles products and quantities and submits them for a custom price instead of paying a fixed amount. A sales rep reviews the request and responds with a negotiated, time-bound quote the buyer can accept, reject, or counter. On acceptance, the quote converts into an order.

How is a quote different from a normal cart checkout?

A normal checkout uses fixed, system-set prices and collects payment immediately. A quote leaves pricing open until a salesperson sets it, supports negotiation and expiry, and typically allows payment on terms after acceptance. Quotes suit bulk, custom, or freight-heavy orders where one fixed price cannot capture the deal.

Should I hide all my prices to enable quotes?

No. Hide or replace prices only for wholesale customer groups, and keep prices visible for retail visitors. Blanket price hiding hurts buyer experience and can exclude your products from Google Shopping, since items without visible prices are generally ineligible for Merchant Center listings.

How do I limit quotes to wholesale buyers only?

Use customer groups. Assign B2B accounts to a wholesale group and configure that group to show a “Request a Quote” action instead of (or alongside) fixed pricing. Retail and anonymous shoppers continue to see standard prices and the normal checkout.

Do quotes work in a multi-vendor marketplace?

Yes, but the request should be split by vendor so each seller quotes only their own line items and keeps their margin private. The buyer can then receive and accept per-vendor quotes independently, rather than one merged quote that would force the marketplace to act as a pricing middleman.

How long should a quote stay valid?

Set an explicit expiry, commonly 14 to 30 days, so prices are not honored indefinitely as your input costs change. After expiry, the buyer can request a fresh quote, which protects your margins while keeping the door open.

What’s the best way to improve quote conversion?

Respond fast. Same-day, structured responses convert markedly better than quotes that sit for days. Notify reps instantly, set an internal response-time SLA, keep the request form short, and use a real quote object with versioning so you can measure and improve win rate over time.

Related guides

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

Awards & Recognitions