Shopify individual B2B price per variant: type the contract amount on the Growth bulk form. It overrides fixed and percent. Catalog prices stay as they are.
2026-10-24

Set a Shopify individual B2B price per variant

Café group North pays $12.40 on the 2 kg bag and $11.10 on the 5 kg. Retail stays $18 / $42 on the same SKUs. A store-wide “minus 20%” misses the 5 kg. One fixed price on every row in the grid makes tea cost the same as coffee.

Shopify individual B2B price per variant is the third pricing method on a bulk order form: Pricing → Individual prices, then a number per product or variant. Docs: How to set individual prices per product. Only buyers who can see that form see the number. Everyone else keeps the Shopify catalog price.

Bulk forms ship on Growth. OO - EU B2B & Wholesale listing (Built for Shopify, 5.0 from 34 reviews): Free (1 custom pricing rule, 1 registration form; no caps on Develop). Starter $22/month or $220/year (unlimited custom + volume, VIES, tax display). Growth $37/month or $370/year: bulk forms, draft checkout, repeat order, RFQ, order limits, wholesale cart. 14-day trial on Starter/Growth. USD.

Yesterday: which form a customer actually sees. Wrong visibility, right contract, wrong buyer. This article is the price line inside the form they *should* see.

One form, one method, no stacking

How B2B pricing works: a customer sees one bulk form. Methods do not stack across forms. Inside a form you pick individual prices, a single fixed price, or a percentage off the Shopify price.

Prices are incorrect or missing if more than one method is hanging around:

  1. Individual product prices

  2. Fixed price

  3. Percentage discount

Individual wins. “Percent off plus a handful of exceptions” in the same form is not a strategy. The exceptions are individual. The percent belongs on a different form — which that customer will never see.

The B2B amount shows in the grid while they type quantities. Checkout uses draft-order logic with that unit price. The ordinary product page is unchanged by the bulk form. Custom Pricing and Volume pricing are separate modules for the PDP. Not this article.

Shopify Plus catalogs exist. This app is Online Origins’ own path. Do not claim it replaces Plus B2B.

Why the contract number never appears

Variant left out of the form. You priced 2 kg. Select products only included 5 kg. Specific products do not auto-add new SKUs.

Form disabled, or you never saved. Enabled + save, or the grid is fiction.

Another form matched first. Visibility order: specific customers → tags → logged-in → everyone. Test logged in as that buyer, not as staff.

Expecting the catalog to move. Individual is a typed amount. Retail visitors still see $18. That is the point of leaving Shopify prices alone.

Server validation off / embed off. Keep Validate custom prices on the server on. Draft checkout recomputes the unit price. App embed must be on the live theme. Do not run the Tax Exempt draft flow at the same time.

Enter the amount per variant

  1. Growth. Bulk order forms. Open the form named after the contract, not “Form 3”.

  2. Include the SKUs in the contract. All variants or only 2 kg and 5 kg.

  3. Pricing → Individual prices.

  4. Pick the product, then the variant. Docs: each variant can have its own price.

  5. Type what they pay. It applies in the form for viewers of that form.

  6. Save. Form on. Product still in the selection.

  7. Log in as the test customer.

Individual does not track catalog changes. If retail goes up, North still pays $12.40 until you edit the cell. Percentage would follow retail — which is why it is the wrong tool for a signed contract.

Do not mix individual on form A with a percent on form B for the same login. They will only see one. Name forms “Wholesale – Contract North”.

Two bags, two numbers, one café

Roastery. Product “Blend 04”, variants 2 kg and 5 kg. Retail $18 / $42. Contract North: $12.40 and $55.00 — negotiated, not a round percent.

Form “Cafés – North”, visibility locked to that customer (or a tag you actually want at that priority). Individual prices on both variants. Contract South gets a second form. Retail never sees the grid.

Starter can do custom pricing on the product page. Per-variant contract amounts in the grid are Growth. Free is one custom pricing rule, not this.

Order limits, PO fields, RFQ also sit on Growth. Optional for the price itself, useful in the same buyer path.

Individual vs the other two methods, in one sentence each

Percentage tracks the Shopify price. Use it when the contract is “list minus 15%” and you want retail changes to flow through.

Fixed price is one number for every product in the form. Use it for a grab-bag where every SKU is $9. Not for 2 kg vs 5 kg.

Individual is the negotiated cell. Use it when North’s 5 kg is not 2.5× the 2 kg. It overrides the other two if they somehow share a form — which you should not let happen.

Draft checkout carries the unit price. Repeat order and RFQ sit on Growth beside the grid; they do not replace individual prices. Company blocks for custom + volume pricing are Starter PDP tools. The grid is Growth.

If prices look missing: form shown, priority, product inclusion, customer access, form enabled — in that order, from the troubleshooting doc. Most “bugs” are the wrong form or a variant left out.

Do this next

  1. Install or open OO - EU B2B & Wholesale. Growth if you need bulk forms.

  2. Create or open the form. Select products/variants.

  3. Individual prices. Type the contract.

  4. Visibility for that buyer. Preview as them.

  5. Server-side validation on. App embed on.

  6. Leave the Shopify price for the public storefront.

Hubs: B2B Pricing, Bulk forms.

Wrap-up

Shopify individual B2B price per variant is a typed amount on one Growth form. It beats fixed and percent inside that form. It does not rewrite the catalog. One form per customer, variant must be included, test as that customer. Listing: OO - EU B2B & Wholesale.

online origins logo full

The Shopify Select partner for ambitious e-commerce businesses that want to grow!

linkedin online origins iconinstagram online origins icon

Reviews

5/5

Check on Google

Mail: info@onlineorigins.nl

Tel: 073 234 0612

KVK: 89825624

BTW: NL865123639B01

Bruistensingel 500,
5232 AH 's-Hertogenbosch
Cookies

© 2026 Online Origins