What B2Bargain does
B2Bargain turns your Shopify store into a wholesale channel. You group your business customers into pricing tiers, give each tier its own prices and order rules, and Shopify enforces them at checkout — so what a company is quoted is what a company pays. Retail shoppers are never affected.
The prices and minimums are enforced by Shopify Functions (not by editing your theme), which means they survive theme changes and can’t be bypassed at checkout. Everything a company buyer needs — self-serve sign-up, saved lists, fast reordering, and quote requests — is built in.
Before you start
B2Bargain relies on Shopify’s built-in B2B features. Two things must be true on your store:
- Your plan supports B2B. Since April 2026 this includes Basic, Grow, Advanced and Plus — not only Plus. B2Bargain checks this for you and tells you on Store health if your store can’t use wholesale pricing yet.
- New customer accounts are turned on. B2B doesn’t work with Shopify’s older account system. You’ll find this under Settings → Customer accounts in your Shopify admin.
Quick start (3 steps)
From a fresh install, here’s the shortest path to a company buyer paying a wholesale price:
- Create a pricing group and set its prices. Go to Pricing groups → New group, name it (e.g. “Gold”), optionally set a base discount %, then open it and add rules. Click Publish to checkout — nothing applies until you publish.
- Assign a company to the group. Go to Buyers & companies and pick the group for that company. (No companies yet? See Getting buyers in.)
- Add order rules (optional) and publish them. On Order rules, add a minimum or pack size and click Publish to checkout.
That’s it. When a contact of that company logs in and checks out, they’ll see the wholesale price and any minimums you set. Prefer to be guided? Set up with AI can draft a starter set of tiers and rules from a plain-English description of your business.
Pricing groups
A pricing group is a reusable wholesale tier you assign companies to. Prices attach to the buyer, so you never duplicate products.
Creating a group
Name — what you call the tier (also the name of the discount created in your store). Base discount % — optional; if set, it creates a starting “percent off all products” rule.
The group page
- Publish to checkout — pushes the group’s current prices live. Important: editing a rule saves it but does not change checkout until you publish again. When you have unsaved edits, the group shows an “Unpublished changes” badge and a reminder — and Store health flags it too, so a price change can’t silently fail to go live.
- Price rules — the heart of the group. Add as many as you need:
- Percentage off — e.g. 20% off retail.
- Fixed price — a set wholesale unit price.
- Volume break — an extra % off at or above a quantity (e.g. +5% at 24+).
- Exclude — no wholesale price on the scoped items (they pay retail).
- Free shipping over ($) — a per-group threshold shown on the storefront free-shipping bar. It reaches buyers only when the B2Bargain company cfg theme embed is on (see Storefront setup).
- Draft rules with AI — describe the pricing in plain English and review the proposed rules before adding them.
- Live price preview — enter a retail price and quantity to see what a buyer in this group would pay. (It previews your saved rules; if the group has unpublished changes it says so.)
Order rules
Order rules are the minimums, pack sizes and increments a wholesale buyer must meet. They’re enforced at checkout for company buyers only — retail checkout is untouched.
- Min order value — a minimum spend (e.g. $500). Min order quantity — a minimum total units. Both apply to the whole order.
- Pack size / Quantity increment — require quantities in multiples (e.g. cases of 6). Max quantity — cap units per order.
- Applies to — whole order, or a specific product/variant (chosen from the catalogue). Min-value and min-quantity are always whole-order.
- Buyer message — optional custom text shown at checkout when the rule isn’t met; otherwise a sensible default is used.
Click Publish to checkout to activate them. Like pricing, changes don’t take effect until you publish.
Buyers & companies
This lists your Shopify Companies. Search by name, and page through with Next page if you have a lot. For each company you can set, and it saves as you go:
- Pricing group — the tier this company gets. This is what actually switches wholesale pricing on for them at checkout.
- Payment terms — Net 15/30/60 etc., using Shopify’s own B2B payment terms.
- Credit limit — records the company’s limit (for your reference).
- MOQ basis — whether minimums are measured against List price or the Discounted (wholesale) price.
- Price display — show Both prices or Discounted only on the storefront (needs the company-cfg theme embed).
- Tax exempt — remove tax at checkout for this company’s locations.
Bulk assign puts every not-yet-grouped company into one group in a click — handy right after an import.
Getting buyers in
Two ways to add wholesale buyers:
- Self-serve application form. Your storefront has a public form at
/apps/b2b-bridge/register— link it from your site or send it to prospects. Submissions appear in Approvals. The form is wrapped in your theme, so it looks like the rest of your store. - Add a buyer yourself from the Approvals page.
Approving
Pick a pricing group and click Approve. B2Bargain creates the Shopify Company, assigns it to the group, and writes the checkout targeting — so wholesale pricing is live for them right away. Approve without a group and you’ll be told the buyer has no pricing yet (they’ll pay retail until you assign one from Buyers).
Buyer self-service
Logged-in company buyers get tools that cut the back-and-forth:
- Saved lists & reorder — an Add to list button on product pages saves items
to a list; the wholesale portal (
/apps/b2b-bridge/portal) lets them refill a whole cart in one click. - Quote requests — buyers request a price on a set of items from the portal; the request lands in your Quotes queue, where you turn it into a Shopify draft order to price and send.
Quick order — order on behalf of a company
Quick order builds a draft order for a specific company, at that company’s wholesale prices, so a sales rep can place an order for a buyer.
- Pick the company under Order on behalf of (its pricing group is shown).
- Add products — the product picker lets you search your catalogue and choose specific variants; each becomes a line. You can also paste a list (SKUs / names / CSV) and the AI adds the matched items to the same grid.
- Set quantities. The grid shows each line’s retail and wholesale price (the exact price the buyer would pay, from their group’s rules), the per-line total, and the order total.
- Create draft order. The draft is attached to the company (so it carries their payment terms) with the wholesale prices applied, and appears in Shopify under Orders → Drafts to review and invoice.
Storefront setup
B2Bargain adds four pieces to your theme. Turn on the app embeds under Online Store → Themes → Customize → App embeds, and add the app blocks where you want them (Add block → Apps). None of them appear until you enable/place them.
| Piece | Type | What it does |
|---|---|---|
| B2Bargain prices | App embed | Hides prices from logged-out visitors and shows a “log in for wholesale pricing” prompt. |
| B2Bargain company cfg | App embed | The bridge that applies each company’s price-display choice and free-shipping threshold on the storefront. Turn it on if you use “Discounted only” display or per-group free-shipping. |
| B2Bargain add to list | App block | The “Add to list” button — place it on your product template. |
| B2Bargain free shipping | App block | A progress bar toward a free-shipping threshold — place it on cart/product. |
PO numbers at checkout
Company buyers can add a purchase-order number at checkout. On every B2B-capable plan, Shopify’s own checkout provides the PO field for company orders — nothing to set up.
On Shopify Plus, B2Bargain adds an extra buyer note field alongside it (and a PO field for non-company checkouts). Place it via Settings → Checkout → Customize → Add app block. The PO number and note appear on the order under Additional details.
Import buyers from another app
Import from another app moves your existing wholesale customers over. Paste a simple
export — one company per line as name, then tags (e.g. Acme Co, gold; wholesale)
— and B2Bargain matches those tags to the pricing groups you’ve created.
- Preview shows a dry run: which companies map to which group, any conflicts, and any that didn’t match. Nothing changes yet.
- Apply creates/matches the companies and assigns the groups.
- Undo last import rolls the most recent apply back.
Integrations
- Notifications — customise the approval email a buyer gets, and set where new quote-request alerts are sent. Emails send once outbound email is configured on your store (you’ll see a note if it isn’t yet).
- Accounting export — download your companies (group, terms, credit limit) or your orders as CSV. Order export becomes available once the app’s customer-data access is enabled.
- ERP / webhook — point B2Bargain at an
httpsendpoint and it POSTs B2B events (like “company approved”) as JSON. Send test event confirms the connection.
Store health & backups
Store health is your checklist. It tells you the plan it detected and whether B2B is available, then flags anything that would stop wholesale pricing working — no groups, a group with no rules or no companies, pricing not published, order rules not enforced, or a group with unpublished changes — each with a one-click link to fix it.
History & backups lets you snapshot your pricing setup before a big change and restore it in one click. A restore replaces your groups, rules and order rules (and re-links companies) — then re-publish to push it live.
Plans & billing
Every feature is on every paid plan — you pay as your wholesale grows. Plans differ by how many pricing groups you can create:
| Plan | Price | Pricing groups |
|---|---|---|
| Free | Free | 2 |
| Starter | $29/mo | 10 |
| Growth | $59/mo | 30 |
| Premium | $99/mo | 100 |
Change plans anytime on Plan & billing. Dropping to a lower plan keeps your existing groups working — you just can’t add beyond the new plan’s limit.
Troubleshooting
A buyer isn’t seeing the wholesale price
Work through these — each is a common cause:
- Is the group published? Editing rules doesn’t change checkout until you click Publish. Check for an “Unpublished changes” badge.
- Is the company assigned to the group on the Buyers page?
- Is the buyer logging in as a company contact (not a plain customer) and reaching the B2B checkout? Wholesale pricing applies to company buyers.
- Does Store health show your store as B2B-capable with new customer accounts on?
- The wholesale price shows in the cart/checkout, not on the product page.
Two “PO number” fields at checkout
On Plus, Shopify’s native PO field and B2Bargain’s can both appear for a company buyer. This is resolved automatically once the app’s customer-data access is granted, after which B2Bargain shows only the note field for company checkouts.
A price change didn’t take effect
You edited a rule but didn’t Publish. The group page and Store health both flag unpublished changes.
Still stuck?
Email support@b2bargain.com.