
The case-pack grid is on the collection template. A guest adds forty SKUs, sees break quantities, and checks out at retail — or at wholesale you never meant to publish. The URL is not in the main menu. That is not access control. Visibility is still All customers.
Shopify bulk form for logged-in customers is one setting in OO - EU B2B & Wholesale: Visibility → Logged-in customers. No tag. No per-customer allowlist. Visitors without an account never see the form. Anyone who signs in does — including a retail shopper who only wanted order tracking.
Bulk forms ship on Growth on the live listing: $37/month or $370/year, 14-day trial. Free: one pricing rule, one registration form. Starter $22/month: unlimited pricing, registration, EU tax exemption (VIES), hide prices until login. Built for Shopify, 5.0 (34 reviews). Billed in USD.
Visibility priority (22 October) is which form wins when two match. This piece is only the logged-in rule and how to verify it.
A product template is a product template. `{% if customer %}` around an HTML table is not a bulk order form: no pack grid, no reorder, no Growth quote request. A password page leaks the first time someone forwards the link.
Shopify B2B companies on Plus is a different product. This app is Online Origins’ stack. Do not claim it replaces Plus B2B.
Accounts, tags, and draft orders exist natively. A single enabled bulk form that is invisible to guests and appears after login, without Liquid, does not.
All customers plus “we did not link it”. Collections get indexed. An old campaign URL still resolves. The form is On.
Theme hides a button; the app does not. A tag in the theme. Visibility still All. The product block or bulk-order page embed keeps rendering.
Testing as staff. How to test visibility rules: admin accounts do not reflect customer visibility. Use a customer account in a private window.
None of that is: guest sees nothing, customer sees the grid, status On.
How to show the form only to logged-in customers:
Admin → Apps → B2B & Wholesale → Bulk forms.
Open the form.
Visibility → Logged-in customers → Save.
Overview: status On. Off means nobody, including dealers who signed in.
Incognito, logged out, on the page that should host the form → hidden. Log in as a customer → the form appears.
Same article:
No special tags for this option.
Visitors without an account never see it.
Each customer gets one bulk form. A more specific form can steal the slot.
Visibility rules explained: All / Logged-in / tags / specific customers. When several could match: specific customer → tags → logged-in → everyone. A `Wholesale` tag form beats this logged-in form for that dealer. You will not see two grids stacked.
Logged-in only blocks guests. Every account still sees the form. A B2B-only shop can live with that. A shop that also sells to consumers usually wants Customers with specific tags instead. That is a different rule. This article does not retell the tag setup.
Common issue in the docs: All customers is still selected. Pick Logged-in customers, save, retest.
Form Off. Not placed on that template. Or a higher-priority form matches this customer and shows something else — or nothing if that form is disabled. Which bulk form is shown.
Guests should see normal product pages. Accounts should see the pack grid. Tags are not rolled out yet.
Growth — bulk forms are not on Free or Starter.
Form exists, products or collections assigned, theme placement done.
Visibility = Logged-in customers. On.
Incognito empty. Customer account populated.
When retail accounts start seeing the grid: add tags and a higher-priority form. Do not stack a second logged-in form.
Hide prices until login is Starter/Growth and a different module. It is the price, not the form. They can run together. They are not substitutes.
Install OO - EU B2B & Wholesale. Trial on Starter/Growth.
Be on Growth before you look for Bulk forms. Quote request and extra cart fields live there too; you do not need them for this visibility option.
Create or open the form, Logged-in customers, On, place it.
Test as a customer, not as staff.
Mixed storefront: plan tags. Logged-in only is the coarse gate.
How to create a bulk order form: turning the form On after Visibility is its own step. Creating is not publishing. Without theme placement (product block or bulk order page) there is nothing to test, however strict Logged-in is.
Tag-based and customer-based rules also require login. That is not a reason to “double up” Logged-in customers. One form, one visibility option. Reusing the same tag on two forms is ignored; the same customer on two specific lists collides. Logged-in only dodges that tag clash — until retail accounts see the grid, at which point you still need tags.
Hiding prices until login (Starter/Growth) does not close an open form. A guest may then see no price and still see a pack grid, or the reverse, depending which module is on. Set both deliberately. This article stays on the form.
Shopify bulk form for logged-in customers is Visibility → Logged-in customers, form On, incognito plus a real customer login. No tag required. No admin test. One customer, one form; more specific wins.
Guests should not find the pack grid through a quiet URL. Set the rule in the app. Listing: OO - EU B2B & Wholesale.
Services
Reviews
5/5
Mail: info@onlineorigins.nl
Tel: 073 234 0612
KVK: 89825624
BTW: NL865123639B01
Bruistensingel 500,© 2026 Online Origins