Vendure B2B Storefront | Vendure

An included B2B buying experience your team can make its own

Company accounts, quotes, approvals, quick ordering, search, and checkout are already wired to Vendure. The storefront is included from the Scale plan: adapt it to your brand and workflows, or connect any other frontend through headless APIs.

Start with a complete buying experience, without a template ceiling

Most B2B teams hit the same wall. A fixed template puts a ceiling on buying flows, checkout, and brand experience. Starting from an empty frontend means rebuilding company accounts, quotes, approvals, reordering, search, and checkout before customers see any improvement.

The Vendure B2B Storefront gives your team a complete starting point while keeping the result in your control. Adopt the whole storefront, change any part of it, or use the same headless APIs from a frontend you already run.

The full B2B procurement surface, in a customer-facing app

Everything a buyer at one of your customers needs to do, already working in the storefront. Each flow connects to the platform capability behind it.

Company accounts and permissions

Customer companies with hierarchical units, users, and company-scoped roles. Permission gates on every storefront action: request a quote, place an order above a spending limit.

Quote-to-order

Buyers request quotes from the catalogue, and the accepted quote becomes an order at the agreed prices. Quote requests from Starter, negotiation across versions on Enterprise.

Approval workflows

Spending limits and named approvers from Scale; multi-level chains and timeouts on Enterprise. Buyers see pending approvals in their account. Approvers get an email and decide in the storefront or the Dashboard.

Quick-order and CSV upload

Paste a SKU list or drop a CSV. The storefront validates against the catalogue, resolves contract pricing, flags out-of-stock lines, and adds the rest to the cart.

Catalogue, search, checkout

Buyers find products fast with filtered search in their language, see live stock, and check out with their company addresses, company payment methods, and their own negotiated prices.

Your brand, your experience

The storefront is not a locked template. Your team changes anything: layout, checkout steps, wording, whole pages. What your customers see is decided by you, not by the platform.

One codebase, multiple business models

The storefront supports B2B and B2C experiences on one codebase, configured rather than maintained as unrelated builds.

B2C experience

Catalogue browsing, checkout, customer accounts, addresses, and order history for consumer channels running alongside B2B.

B2B wholesale: the full procurement surface

The B2B wholesale scenario swaps in the procurement flows: company accounts, quote-to-order, approvals, quick-order, shopping lists, and contract pricing. The same shell, configured for a buyer at a customer company instead of a retail shopper.

Specialised vertical: a configurator-driven storefront

The third scenario shows how far the same codebase bends: a configurator-driven storefront for a specialised vertical, with custom product configuration flows, project-based ordering, and vertical-specific catalogue presentation. It uses the product configurator, part of Enterprise. Same components, same routing, same checkout, different business model.

// Type-safe GraphQL via gql.tada
const productQuery = graphql(`
 query Product($slug: String!) {
 product(slug: $slug) {
 id
 name
 priceWithTax
 stockLevel
 }
 }
`)

// Server component — Next.js 16 RSC
export async function ProductCard({ slug }: { slug: string }) {
 const { product } = await query(productQuery, { slug })
 return (
 <Card>
 <CardTitle>{product.name}</CardTitle>
 <Price value={product.priceWithTax} />
 </Card>
 )
}

Under the hood: a stack your engineers will vouch for

One section for your technical team, because they will be asked. The storefront is a Next.js and React application, written in TypeScript end to end, talking to Vendure's GraphQL API with generated type-safe queries. UI primitives (Shadcn, Radix) and styling (Tailwind) live in your repository, with first-class internationalisation for multi-market storefronts.

What that means for everyone else: it is mainstream technology your team can hire for, there is no proprietary frontend runtime between you and your customers, and the whole thing is yours. Adopt it as your day-one storefront, or lift only the flows you want into one you already run.

Teams building complex commerce with Vendure

One storefront across every capability area

The storefront is where every capability area of Vendure lands in front of a customer. One application, every area:

FAQ

What teams ask before they commit to a storefront

Is this a starter project, or production code?

Production code, built to be your day-one storefront, not a sample to throw away. Every flow shipped in the storefront is a real implementation: company accounts, approvals, quote-to-order, quick-order, shopping lists, multi-step checkout.

Can we use only parts of it?

Yes. It is your codebase. Some teams adopt the whole storefront and theme it. Others lift only the flows they need (the quote thread, the approval surface, the quick-order panel) into a storefront they already operate.

Do we have to use Next.js?

The storefront is Next.js, and that is the supported reference implementation. Vendure itself is framework-agnostic on the storefront side: every flow in the app is built on the Vendure GraphQL API, so a team with a hard requirement to run on a different framework can adopt the patterns and rebuild against the same API. Most teams keep Next.js because the storefront is already there.

How does it stay in sync with Vendure updates?

The storefront tracks Vendure releases. New features land in the storefront alongside each release, so the customer-facing experience stays current with the platform. Your copy takes those updates on your schedule, reviewed by your team like any other change.

We have a stalled headless build or a legacy storefront. How do we get from there to here?

A common path for teams that land on this page. The migration shape is: adopt the storefront as the new application, then move buyer accounts, product data, and active orders from the previous system through the Vendure GraphQL API. Your team or an official partner scopes SEO redirects, content parity, and the cutover against your existing storefront's traffic and URL structure.

Does it support B2C and hybrid models?

Yes. The storefront ships reference scenarios on a single codebase: a B2C default, a B2B wholesale variant, and a specialised vertical that uses the product configurator, part of Enterprise. Hybrid retailers (B2B accounts and B2C buyers on the same backend) run both, scoped by channel or by the authenticated user's company context.

Which plan includes the B2B Storefront?

The Vendure B2B Storefront is included from Scale, and in Enterprise. On Starter and Growth you connect your own frontend through the same headless APIs.