Want to try it? Every offer runs live on our demo store — store password 1
Install free
Wholesale · B2B · Bulk order

How to add a wholesale order form to a Shopify product page

A trade buyer who wants 40 harnesses in five colours should not have to pick a variant, press Add to cart and start again 40 times. Here is how to give them one order form, with or without Shopify's B2B features.

All guides · Updated 2026-10-16

Option 1: Shopify's own B2B features

Shopify has built-in B2B tools: company accounts, price lists, payment terms and a quick order list where a buyer types quantities for each variant. If your plan includes them and you run a separate wholesale catalogue, start there. Check Shopify's B2B help page for which plan includes which feature; it has changed over time.

Where a store without them gets stuck

  • The variant picker sells one variant at a time. Eight colours × six sizes is 48 trips through the same picker.
  • The quantity box is for one variant. There is no way to say "6 black small, 12 red medium" in one go.
  • Volume discounts are per variant. Shopify's built-in discounts can count a whole order, but the buyer sees nothing on the product page and finds out at checkout.
  • Wholesale apps often mean a second store front. A separate portal, login and price list is a lot of setup for a shop that just wants to sell in bulk.

Option 2: An order table on the product page with ZS Bundles

ZS Bundles can show a product as an order table: colours down the side, sizes across the top. Every cell has − / + buttons, a quantity you can type into, the stock status and the price. Discount milestones sit above the table, a running total below it, and one button adds the whole order to the cart.

  1. Install ZS Bundles and press Turn on in theme on the app's home page, then Save in the theme editor.
  2. Click Create bundle deal, choose Mix & Match, and add the product to the box.
  3. Under Variants, choose Grid.
  4. Add discount tiers by item count, for example 15 items 5%, 30 items 10%, 55 items 15%. Items from every colour and size count together.
  5. Publish. For a full-width table, add the ZS Bundles app block as its own section under the product in the theme editor.

Each colour and size goes into the cart as its own line, so it shows up correctly in orders, stock and fulfilment. The discount is worked out by Shopify at checkout with no code. Sold-out variants are greyed out, and when stock is tracked a buyer cannot order more than you have.

Try the order table on the demo store Install ZS Bundles free

Show it to trade buyers only

If the order table and its discounts are for wholesale customers only, limit the bundle to signed-in customers with a tag such as wholesale. Everyone else sees your normal product page.

What it does not do

  • It is not a full B2B system: no company accounts, net payment terms or separate price lists.
  • The table works with up to two options (for example colour and size). A product with one option is shown as a list; three options are not laid out as a table.

Tips for a wholesale table that gets used

  • Make the next step visible. "Add 23 more to save 15%" moves a buyer from 32 to 55 units better than any banner.
  • Set a sensible minimum. A trade order of 1 is a retail order; set the box minimum to your real case size.
  • Keep the retail buttons out of the way. On a trade-only product, hide the theme's own variant picker and Add to cart so there is one way to buy.
Featured on Featured on Fazier