
Custom Pricing already holds €7.10 for tagged wholesale accounts. Retail still shows €12.40 in the collection, in Google, in the cart drawer. Until the buyer has an account, that €7.10 should not sit in the HTML. Until then you also do not want Add to cart on a number you are not showing.
Shopify hide prices until customer login is the Login to see prices module in OO - EU B2B & Wholesale. Listing line: *login to see price rules*. What is included: Tax & prices, Starter (not Free). Shared app embed. Custom Pricing or Volume pricing owns the number. This switch hides it. It does not recalculate.
Theme app blocks vs the embed is the placement piece. Without the embed, Login to see prices stays in admin. This article is the module: when to turn it on, what it is not, and why it sits next to registration.
Shopify shows the catalog price to anyone with the URL. Password stores and Plus catalogs are different products. This app does not replace Shopify Plus B2B. Login to see prices is one storefront switch on the price the app already knows how to show.
A guest without the module still sees native Shopify. With the module on and the embed live, wholesale amounts wait for a session. Registration forms: after you approve, they can log in. Docs: *If prices should stay hidden until then, combine this with Login to see prices.* Approve without the module and a tagged account may still see retail until the list matches. Module without approval and anyone who created a password sees prices — including a neighbour who signed themselves up.
Custom Pricing changes the figure for tags, customers, or companies. Volume pricing changes it by quantity. Login to see prices only says: not until login. Three modules, one embed.
Password the whole shop. Fine for a private catalog. Bad for Google. Bad if you still sell B2C.
Liquid `unless customer` around the price. Dies on the next theme update. Misses the cart drawer. Misses JSON-LD. Support gets a view-source of €7.10 while the PDP says “Login”.
Bulk-form visibility instead of this module. Logged-in customers hides the grid. That is Growth. The product-page price stays. Login to see prices is Starter and rides the embed, not the bulk block. Hide only the sheet and the PDP still leaks.
Stay on Free because “we only have one list.” Free: one active Custom Pricing list, one registration form. No Login to see prices. That is Starter. Do not promise it at $0.
None of that is: Starter, module on, embed on, approve the application, test as a guest and as the approved account.
OO - EU B2B & Wholesale is Built for Shopify (5.0, 34 reviews). Live listing, USD, 14-day trial on Starter/Growth:
Free — 1 custom pricing rule, 1 registration form + approve/reject, Flow templates; development stores uncapped
Starter $22/month or $220/year (17% off) — unlimited custom + volume, company blocks, unlimited forms, EU Tax exemption (VIES + logs), tax display incl/excl, Login to see prices
Growth $37/month or $370/year — + bulk forms, draft checkout, repeat order, RFQ, order limits, wholesale cart
Login to see prices: Starter and Growth. Not Free. Founder accounts include Growth modules; compare plans in the app.
From the module map:
Tax & prices: Tax Exempt, Tax display, Login to see prices
Shared embed: Custom Pricing, Volume pricing, Tax display, Login to see prices, Order limits
Theme block (other family): bulk, quote, wholesale cart, registration
Turn the module on from its hub. Finish setup on the card. Save the theme. Changing theme keeps app config; you still add the embed again. Do not test as admin. Incognito, logged out, then the approved customer.
Tax display (incl/excl) is a separate Starter switch. Hiding until login does not decide VAT-in or VAT-out. That is tax display plus Markets. Earlier: B2B tax and currency.
“Studio Line” keeps retail curtains on the native Shopify price. The same SKU has a wholesale tier that must wait for login. Custom Pricing: tag `wholesale`, lower amount. Registration form on `/pages/apply`. Login to see prices on.
Install the app. Free to try the form. Starter for this module.
Customer management → Registration forms on. Block on the apply page. Finish setup.
B2B pricing → Custom Pricing. One list on Free; unlimited on Starter. Tag or company.
Tax & prices → Login to see prices on. Shared embed on the live theme. Finish setup.
Test: private window, logged out — no wholesale figure. Pending account — still no access. After approve: log in, PDP shows the list price. A guest must not still see €7.10 in the cart drawer.
Turn the module on before a list exists and you hide whatever the app would show — retail stays native until Custom Pricing matches. Turn on the list without the module and anyone with the URL sees the B2B amount as soon as the embed overrides the price. Order of operations: list ready, then hide, then approve.
Bulk forms stay Growth. This is not the grid. “Logged-in” on a bulk form is a different control.
Open OO - EU B2B & Wholesale. Starter if you need Login to see prices.
Embed on the published theme. Finish setup on the card.
Registration + approve. Combine them the way the registration docs say.
Custom Pricing or Volume pricing for the number. Do not use this module as a discount.
Test as guest, pending, approved tag. Not as store owner.
Theme change: embed again. Config in the app stays.
Shopify hide prices until customer login is Login to see prices: Starter, embed, no recalculation. Native Shopify prints the catalog price. This app can keep that storefront amount back until there is an account, then show the list price after approval. Not a Plus catalog. Not a Liquid hack. Not bulk-form visibility.
Flip the switch in OO - EU B2B & Wholesale. Retail does not see cost. Wholesale sees it after login.
Services
Reviews
5/5
Mail: info@onlineorigins.nl
Tel: 073 234 0612
KVK: 89825624
BTW: NL865123639B01
Bruistensingel 500,© 2026 Online Origins