Magento 2 Request a Quote: The Complete RFQ Flow
Does Magento 2 have request a quote built in?
No — Magento Open Source ships with no request-a-quote workflow, so you add it with an extension; negotiable quotes are a feature Adobe reserves for its paid Commerce B2B tier. A working RFQ flow needs five parts: a storefront quote request, price gating where you need it, per-line negotiation in the admin, customer acceptance in the account, and conversion of the accepted quote into a real Magento order.
Trade and wholesale buyers rarely pay list price from a cart. They want to ask for a price on a specific basket, negotiate, and have an order raised once terms are agreed. If your store makes them do that by phone and email, the deal happens outside Magento — untracked, re-keyed by hand, and invisible to your reporting. This post covers what the flow needs, how to evaluate an extension, and how the B2B Suite implements it on Open Source.
The five parts of a working RFQ flow
- A quote request on the storefront. Buyers build a basket of products and quantities and submit it as a quote request instead of — or as well as — checking out. This must capture real catalogue items with SKUs, not a free-text contact form, or you are back to re-keying.
- Hidden or gated pricing where you need it. Many B2B catalogues cannot show list prices at all; the quote button replaces "add to cart" on those ranges. The gating side is a discipline of its own — covered in hide prices and gate your catalogue.
- Admin negotiation. The request lands in your admin as a draft quote against the real catalogue. You adjust per-line prices and quantities, add or remove lines, and send the quote back — with the customer record and full history attached, not scattered across an inbox.
- Customer acceptance. The buyer views the quote in their account, with its status, and accepts or responds. Email notifications should deep-link to the right quote so acceptance is one click, not a login treasure hunt.
- Conversion to a real order. An accepted quote becomes a normal Magento order at the agreed prices, flowing into your existing fulfilment, stock and accounting. This step is the whole point — the detail is in quote-to-order on Magento Open Source.
What to check before you buy any RFQ extension
The market has plenty of quote extensions; the differences show up in the last 20% of the workflow. Evaluate against this list:
- Real order conversion. Does an accepted quote become a genuine Magento order with the negotiated prices — stock decremented, totals correct, visible under Sales → Orders — or does it just email you a list to re-key?
- Per-line negotiation. Can you change price and quantity on individual lines, or only discount the whole quote?
- Quote history in the account. Can the customer see every quote and its status under their account, or does the thread live only in email?
- Customer-group awareness. Does the quote flow respect Magento's customer groups and group pricing, so trade accounts start from their own rates?
- Headless support. If your storefront is not Luma, the flow must be exposed over an API — a quote button that only exists as a PHTML template is useless on a headless frontend.
- Version support. Confirm the extension is built and tested for the Magento 2.4.x line and current PHP before it goes anywhere near production, and run
bin/magento setup:upgradeandbin/magento setup:di:compileon a staging copy first.
How the B2B Suite implements it
The B2B Suite for Magento 2 covers the whole loop on Magento Open Source: request-a-quote on the storefront, per-line negotiation in the admin, quote emails with deep links, customer quote history under the account, and one-click conversion of an accepted quote to an order. It pairs with rule-based price hiding — show "call for price" or hide prices for guests or specific customer groups — so gated ranges and quotable ranges are one consistent configuration rather than two bolted-on extensions.
It is built for Magento Open Source 2.4.9 and runs on PHP 8.4 and 8.5. It is one piece of the wider Magento B2B without Adobe Commerce playbook — customer groups and tier pricing come from the free core; the RFQ workflow is the layer the core is missing.
Getting the flow adopted by real buyers
A quote button nobody uses is decoration. Three practicalities make the difference. First, put the request action where the buying decision happens — on the product page and the cart, not buried in a footer link. Second, acknowledge every request immediately by email and answer quickly; the fastest quote usually wins the order, so treat response time as a sales metric. Third, quote from the account's starting prices: buyers who see their trade rate as the opening position trust the process and stop asking for "your best price" on every line. Once the flow is live, the store becomes the system of record for your pipeline — every open quote is visible, valued and chaseable. The B2B Suite is available on its own with a one-off licence, and is included in the AgenticEcom Suite.
FAQ
Does Magento 2 Open Source have request a quote built in?
No. Negotiable quotes are an Adobe Commerce B2B feature. On Magento Open Source you add the workflow with an extension that handles the storefront request, admin negotiation, customer acceptance and conversion to an order.
Can customers see their quotes in their account?
With the B2B Suite, yes — quotes are listed in the customer account with their status, and email notifications deep-link to the right quote so review and acceptance take one click.
Does a request-a-quote flow work with a headless storefront?
Only if the extension exposes the flow over an API. The B2B Suite's quote flow runs over GraphQL, so it works on a headless frontend as well as the standard Magento theme.
How is a quote request different from a contact form?
A quote request captures real catalogue items, SKUs and quantities against the customer's account, becomes a negotiable draft in the admin, and converts to an order on acceptance. A contact form captures prose that someone then re-keys by hand.
