When we started building the quote-first cart for Netorigo storefronts late in 2024, plenty of voices were sceptical. B2B purchasing has historically lived in email, on the phone, in face-to-face meetings, and adding a 'quote request' step to the webshop felt like throwing sand into a well-oiled sales process. Eighteen months and 1,247 quotes later, the data is unambiguous: we did not break the sales process, we accelerated it.
What the quote-first cart actually is
The classic B2C webshop adds the product to the cart, you pay, you are done. B2B purchasing is often a quote question instead: 'What is the discount price if we need 50 units?' or 'How do you compute logistics on five pallets?' The classic webshop cannot answer those questions, so the conversation hops to email.
The quote-first cart answers that need. On the Netorigo platform, a product can be flagged isOnlinePurchasable=false (a Prisma boolean on the product table), and the typical B2B buyer sees a 'Request quote' affordance instead of 'Buy'. In the cart, those items render with an amber 'Ajanlat alapjan' badge (Netorigo brand palette --nrt-amber-500), and instead of checkout the proceedToQuoteRequest MCP tool kicks off, routing the request into the sales-rep module at /admin/sales/quotes.
The number: 1,247 quotes, 34% conversion
In the last 18 months we have processed 1,247 quote requests across 8 partner storefronts. Of those, 424 turned into purchase orders, a 34% conversion rate.
For comparison: industry B2B benchmarks for quote-to-PO conversion sit between 22% and 28%. The 34% number puts us in the upper quartile, which is not an accident. The quote workflow includes an active sales-rep contact within 48 hours, and if that does not happen, the quote auto-expires after 14 days (quote_expiry_worker on BullMQ).
Median quote-to-PO time: 8 days
This is perhaps the most telling number. The classic email-driven B2B quote process (which most of our partners ran before) had a median quote-to-PO time between 19 and 23 days. The quote-first cart compressed that to 8 days. Three reasons:
- The webshop has already structured the data. Buyer company, billing address, contact person, previous order history are all in the sales-rep's hands on the first contact.
- The product catalog is fixed. Email B2B quoting often spends 3 to 5 days clarifying which product variant the buyer means. With webshop quotes, the
productIdis locked. - The sales rep can prioritise. The
/admin/sales/quotesmodule ranks quotes by value plus urgency, and the rep handles the high-conversion ones first. That single UX change shaves four to six days off the cycle.
The number we had to revise
One instructive bug: a quote was only counted as convertedToOrder if the sales rep manually marked it. If the buyer used the quote-linked URL (a quote can carry a quote_specific_pricing cookie that overrides the default list price at checkout) and self-completed the purchase, we did not credit it to the quote until March 2025. Once we instrumented it, we found that 47 quotes (3.8%) had been closed by the buyer on this path.
The fix was a quote_id column on the order table and an aggregator query in the sales dashboard. It moved our headline conversion number from 34.0% to 38.0%, a non-trivial 4-point improvement that was hiding in the data.
The lesson
The quote-first cart is not a replacement for the sales team, it is a force multiplier. The sales rep is still the sales rep, the relationship is still phone and email. But the webshop guarantees clean structured data on intake, and the sales rep gets to spend time on what actually moves revenue: the buyer relationship.