Sell by the unit, the box and the pallet, to a whole branch network
A wholesale ecommerce platform where the same product is sold by the unit, the box and the pallet, each with its own pack size and minimum quantity, and where a customer is a group of branches with one agreement between you.
Your customer is an account, and the account has branches
A wholesale customer is rarely one person. It is a buying group with a head office that negotiated the terms and fifteen branches that place the orders. The agreement sits at the top; the ordering happens at the bottom; and the invoice has to go wherever finance decided.
Platforms that model a customer as one login cannot hold that. So the head office emails a price list around, each branch orders by phone, and your sales desk types the results into the ERP. The cost is not the typing. It is the order that arrives wrong and ships anyway.
A company account holds every buyer at that customer, the roles they have, and the prices, addresses, payment methods and order history they share. Included from the Starter plan.
Each branch keeps its own buyers, delivery addresses and orders (from Growth). A company price list on contract pricing (Scale) applies to every branch.
Per-customer price lists and price rules, each carrying the period it applies for, so an annual agreement stops applying on the day it expires. Contract pricing from Scale.
Orders above a spending limit route to the right person at the customer before they reach your warehouse, so you are not chasing a purchase order that was never raised. Order approvals from Scale.
One product, three ways to buy it
The single most common reason a distributor cannot use a standard ecommerce platform is that the platform has one price per product. You sell the same item as a unit, a case of twelve and a pallet of ninety-six.
Packaging units, from Growth, set a pack size and minimum quantity per unit of sale. The price follows the pack size, and stock is calculated from the base stock. A separate pallet rate is a price rule on contract pricing, from Scale.
Each unit of sale is priced from the base price times the pack size. A separate pallet rate is a price rule on contract pricing, from Scale, rather than a discount code a buyer has to know to type.
Stock for each pack is calculated from the base stock, so a buyer asking for four pallets is told what you can actually ship before they commit to it.
The storefront shows each pack's minimum and step quantity, so buyers order in the right amounts.
Store credit holds rebates, goodwill and prepaid arrangements against the account and redeems it at checkout, from the Starter plan.
The repeat order is the whole business
Most wholesale revenue is the same customer buying similar things on a rhythm. That order should take seconds, and on most platforms it takes minutes because the buyer has to find each line again.
Buyers who know what they want add many lines at once by SKU or structured input, rather than searching for each one. From Starter.
Add a previous order to the cart in one click, with anything now unavailable or repriced flagged before checkout rather than after it. From Starter.
Company-scoped lists your team shares and governs, so a branch orders from a shared company list rather than one buyer's saved basket. Managed shopping lists from Growth.
Shared carts let a team assemble one order between them before anyone places it, from the Scale plan.
What your customers log into, and what your team runs behind it
A B2B catalogue people can search
Catalog search from Starter, the Typesense search engine from Growth, and global search across products, orders, customers, collections and assets for your own team from Growth.
Merchant onboarding without a rebuild
Adding a trade customer is creating a company account, attaching their price list and inviting their buyers. Company price lists from Scale. No developer, no new storefront, no separate login system to maintain.
Tax ID validation
Store and validate the tax identifiers a customer gives you. EU VAT numbers can be checked against VIES when the ID is created and re-checked on a schedule, so a cross-border order does not stall in finance. From Starter.
An audit trail
Who changed a price, an account or an order, and when. Administrators can sign in through your OpenID Connect provider. Both from Scale.
More than one market
Currency, language, tax and fulfilment per market on one deployment, for distributors selling across borders. See brands and markets.
One dashboard for your team
Catalogue, accounts, prices, orders and content in the Vendure Dashboard, with access scoped to the region or brand each person runs.
A merchant portal that is yours
The Vendure B2B Storefront is included from Scale, wired to accounts, contract prices and approvals, on a codebase your team owns. Or point the portal you already run at the GraphQL Shop API and keep it.
Included in your Vendure plan under one commercial licence, with support from the Vendure team and no separate add-on SKU. On open-source Vendure Core, this is a capability your team builds and maintains itself. See what's included.
The ERP keeps its job
Vendure does not do warehouse management, route planning or demand forecasting, and it does not pretend to. Those live in the systems you already run, and replacing them is not on the table.
Your team connects the ERP through the APIs and plugins, so orders go in without re-keying and stock comes back to the buyer. See ERP and integrations.
What distributors ask before they switch
Yes. Packaging units, from Growth, set a pack size and minimum quantity per unit of sale. The price follows the pack size, and stock is calculated from the base stock. A separate pallet rate is a price rule on contract pricing, from Scale.
Each branch keeps its own buyers, delivery addresses and orders (from Growth). A company price list on contract pricing (Scale) applies to every branch. You keep one commercial relationship rather than twenty unconnected logins.
You may not need to. If your customers are happy, your order volume is flat and nothing is re-keyed, leave it alone. The case for changing is usually one of three things: orders still arrive by phone and email, the portal cannot express your pricing, or nobody can safely upgrade it. If none of those is true for you, we would rather say so.
No. Vendure is headless, and your team connects it to the systems you keep. Most teams start with one customer segment or one region, hold the ERP as the shared source of truth, then extend from there. The migration guides describe how teams have sequenced this.
Then say so early. Standard contract pricing on Scale covers per-customer price lists and rules with validity dates. Logic beyond that, along with multi-round quote negotiation and procurement punchout, sits on Enterprise, and it is worth scoping before you pick a plan rather than after.
Put your trade ordering online
Set up your customer structure and price a pallet against a box in a 14-day trial, or compare the plans to see where packaging units start.



