05 Aug 2026 · 2 min read
Magento 2 B2B: quotes, negotiation, and company accounts
How Magento 2 B2B actually works — company accounts, shared catalogs, and the quote/negotiation flow on a production-shaped local stack.
The B2B module turns Magento 2 from a store into a buying platform for organizations. This post builds on the multi-store & B2B intro and goes into the flows that matter for enterprise buyers.
Companies and structures
A company owns a hierarchy of users with roles and permissions. Buyers aren't isolated accounts — they belong to a team with approvers, so a purchase order can require sign-off.
Shared catalogs & custom pricing
B2B supports shared catalogs with per-company price tiers and visibility. The same SKU can show different prices and availability depending on the logged-in company — a scope problem beyond store views.
The quote / negotiation flow
This is the B2B differentiator:
- A buyer adds items and requests a quote instead of checking out.
- The merchant proposes revised prices / quantities.
- The buyer accepts, declines, or counters.
- On acceptance, the quote converts to an order.
It's a stateful, multi-step negotiation — not a single checkout. Model it with status transitions, not ad-hoc flags.
Quick order & requisition lists
B2B buyers reorder in bulk (SKU + qty grids) and save requisition lists for repeat purchases. These UX patterns assume high-frequency, low-touch ordering.
Test it locally
B2B needs the full stack — multiple customer contexts, the message queue for async company processing, and correct scopes. Stand up a production-shaped local environment with Govard so the company/quote flows behave like production, including the cron-driven background jobs.
Where this fits
B2B is the high-complexity end of the "Magento 2 in practice" arc. Before adopting it, weigh the operational cost against the revenue model — the earlier performance and audit posts are what keep a B2B store healthy at scale.
Next in this series: Magento 2 cron & the message queue —
/blog/magento2-cron-queue