Wholesale field guide
Hide wholesale prices until login and approve wholesale buyers on Shopify
Wholesale prices are for approved shops, not for every visitor or for Google. Here is what Shopify does natively, where sellers add lock apps or theme code, and how Crate keeps prices behind an approved login.
The short answer
- Shopify B2B shows B2B prices only to signed-in B2B customers, but a store that also sells retail cannot be gated, so logged-out visitors still browse.
- Shopify's company account requests (free Shopify Forms app) collect applications and a file, but do not work on a store gated to B2B only.
- Crate keeps every wholesale price behind an approved login on your own domain, with applications and resale certificate upload, from $50/month without Shopify B2B.
The problem: wholesale prices are for approved buyers
A brand selling to shops does not want retail shoppers, competitors or search results to see its wholesale price list. It also wants to check who a buyer is, often with a resale certificate, before that buyer can order at wholesale.
Shopify sellers ask about this again and again. In 2023 a seller asked if it was possible to hide product prices until a customer logs in, having been told a paid app was needed; the answer was a theme code snippet, and the next question was where the login button had gone. In 2024 a seller running a wholesale app found hidden products left blanks where the items should be in filtered collections. In December 2025 a seller showing prices only to logged-in customers found the prices were still in the product data that Google reads.
What Shopify offers today
| Need | On Shopify | Source |
|---|---|---|
| B2B prices only after sign-in | Yes. B2B customers must sign in to see B2B products and prices. Needs new customer accounts; legacy accounts cannot be used for B2B | Sign-in, store type |
| Which plans | B2B is on Basic, Grow, Advanced and Plus. Not on Starter or Retail | Plans |
| Hide the whole store | Only for a store used just for B2B: restrict access to B2B customers. A store that also sells retail cannot be gated, and anyone can browse it | Restrict access, store type |
| Hide prices or one collection from logged-out visitors | Theme editor customization by customer type (Plus only on one help page, Advanced and Plus on another), custom Liquid, or an app such as Locksmith | Customization, requests |
| Wholesale application with approval | Company account requests with the free Shopify Forms app. The form creates the company at once; it cannot order until you approve. Not available on a store gated to B2B only | Company account requests |
| Resale certificate upload | One file of 20 MB or less on the request form. Tax collection is set per company location | Company account requests |
| Store password | Hides every page from visitors and search engines, and anyone with the password gets in | Password page |
If your store sells only to businesses and every buyer is set up as a Shopify B2B company, the restricted store and new customer accounts may be enough. The gap is the common case: one Shopify store for retail shoppers and wholesale buyers, where you want both a login wall for wholesale and an application to get behind it. Shopify says those two do not combine.
Lock apps, and what they cost
| App | What it locks | Listed price |
|---|---|---|
| BSS B2B Lock, Login & Password | Hide prices and add to cart until visitors log in; the free plan locks the whole site only | Free, then $9.99, $24.99 or $49.99/month |
| Locksmith | Hide products, collections and prices | $12/month on Basic, $29 on Grow, $99 on Advanced, $199 on Plus |
| Wholesale Gorilla | Wholesale pricing app; store and page locks are on its Premium plan | $34.95, $69.95 or $149.95/month (Premium) |
Each of these works inside your Shopify theme, so it shares the theme with your retail store. Sellers in the threads above ran into gaps left by hidden products and price data still sent to search engines, which a lock app or code snippet then has to handle too.
Login and approval with Crate on your Shopify catalog
Crate is a wholesale ordering portal that connects to Shopify. It imports your products into a separate portal on your own domain, so wholesale lives behind its own login and your Shopify store stays open to retail shoppers, unchanged.
- Prices only after sign-in. A buyer who is not signed in goes to the sign-in page. Prices are never sent to a visitor who is not signed in, so there is nothing to strip from the page code.
- An optional public preview. Turn it on and visitors browse your products with Sign in for pricing where the price would be, plus buttons to sign in or request an account. Products you limit to selected customers stay out of it.
- Hidden from search engines. Every portal page tells search engines not to index it.
- Applications with approval. Buyers apply from your portal with their business name and contact details. You get an email for each application, approve it in Crate, and the buyer gets a welcome email. Until then the buyer cannot sign in or order.
- Resale certificate upload. Applicants can upload a PDF, PNG or JPG up to 10 MB. Make it required if you need one, and it arrives attached to your application email. Only you can open it.
- Or invite buyers yourself. Add a customer and send an invite to set a password, with no application needed. You can switch applications off.
- Each buyer sees their own prices. Put buyers on price levels, or set a price for one customer, without touching your Shopify prices.
- Your domain on every plan. Use your own domain from $50/month, with no Shopify B2B, new customer accounts or Plus needed.
Where it may still fit: Crate's application form uses fixed fields (business, contact, address, certificate, message and how they heard about you) that you can make required, optional or hidden; you cannot add your own questions. Crate orders do not lower your Shopify stock counts, so adjust counts in Shopify when you ship. If your store sells only to businesses and your buyers are already Shopify B2B companies, Shopify's restricted store may be all you need.
For prices per buyer and volume breaks, see Shopify wholesale pricing. For what Shopify B2B includes on each plan, read Shopify wholesale without Plus, and for case packs, Shopify wholesale minimum order. Already using Wholesale Gorilla? See how to switch from Wholesale Gorilla. The buyer side is on the wholesale portal page, and if you are weighing a second Shopify store for wholesale, read separate wholesale store or one store.
Setting it up
- 01Connect Shopify from Integrations in Crate and choose which products are sold wholesale.
- 02Set your price levels, or a price for a single customer.
- 03In Settings, choose which application fields are required, including the resale certificate, and whether to show the public preview.
- 04Link your portal from your Shopify store, approve applications as they arrive, or invite the buyers you already have.
Questions
- Can I hide prices until login on Shopify without an app?
- Only in some setups. A store used only for B2B can restrict access to signed-in B2B customers. A store that also sells retail cannot be gated, so hiding prices from logged-out visitors means theme code or an app. Shopify's help pages differ on which plans can hide B2B content in the theme editor: one says Plus only, another says Advanced and Plus.
- Does Shopify have a wholesale application form?
- Yes. Company account requests use the free Shopify Forms app. Submitting the form creates the company and customer at once, and they cannot order or see B2B prices until you approve ordering. Shopify says the requests do not work on a store gated to B2B customers only.
- Can wholesale buyers upload a resale certificate on Shopify?
- The company account request form can take one file of 20 MB or less. Tax settings are set per company location by you; Shopify does not document a link between the uploaded file and a tax exemption.
- Why do signed-in wholesale buyers still check out at retail prices on Shopify?
- Shopify B2B decides by email. A customer whose sign-in email is linked to a company location gets B2B prices; one whose email is linked only to a customer profile gets the regular retail experience, and turning on required sign-in does not change that. In a Shopify Community thread from December 2025, sellers found the usual cause was a buyer signing in with a personal email while the company contact had a work email, so fix the contact email first. To block checkout for anyone outside a company, Shopify's tool is a cart and checkout validation function: through an App Store app on any plan, or through your own custom app only on Plus. Below Plus, Shopify's Checkout Blocks app only adds content to the Thank you and Order status pages.
- How does Crate keep wholesale prices private?
- Your Crate portal shows prices only to signed-in buyers, and each buyer sees their own prices. By default a visitor who is not signed in goes to the sign-in page. You can turn on a public preview that shows products with Sign in for pricing in place of each price.
- Can a buyer order from a Crate portal without an approved account?
- No. Only signed-in buyers can order, every login belongs to one approved business, and an application you have not approved cannot sign in, so there is no retail fallback to slip into. If several people order for one shop, add each of their emails to that business in Crate and they all see its prices. Crate does not change your Shopify checkout, so a wholesale buyer who shops your Shopify store still pays retail there.
- Can search engines see Crate wholesale prices?
- No. Prices are only sent to signed-in buyers, and every portal page tells search engines not to index it, including the public preview.
- Do I need Shopify B2B or Shopify Plus to use Crate?
- No. Crate runs its own wholesale portal with buyer logins and imports your Shopify products, so it does not depend on Shopify B2B companies, customer accounts or catalogs. Crate orders do not lower your Shopify stock counts.
- How much does Crate cost?
- Crate Wholesale starts at $50/month, with applications, approval, certificate upload, buyer logins and your own domain included. Growth is $80/month and Plus is $150/month.
Sources
- 1. Shopify Help Center: B2B customer sign-in
- 2. Shopify Help Center: Choosing a B2B store type
- 3. Shopify Help Center: Restricting store access
- 4. Shopify Help Center: B2B store customization
- 5. Shopify Help Center: Company account requests
- 6. Shopify Help Center: B2B features by plan
- 7. Shopify Help Center: Password page
- 8. Shopify App Store: BSS B2B Lock, Login & Password
- 9. Shopify App Store: Locksmith
- 10. Shopify App Store: Wholesale Gorilla
- 11. Shopify Community: Can you hide product prices until login for wholesale?
- 12. Shopify Community: Hide collections or products from retailers and show to wholesale only
- 13. Shopify Community: Hide prices from Google (a wholesale shop with login)
- 14. Shopify Community: How to block checkout if customer not associated with a company
- 15. Shopify.dev: Cart and Checkout Validation Function API
- 16. Shopify.dev: Shopify Functions, API availability
- 17. Shopify Help Center: Checkout Blocks
Shopify sources reviewed November 11 and 13, 2026. Shopify changes its products and app prices, so check its help center and the App Store for the latest.
Keep wholesale prices for approved buyers
Show us your Shopify catalog and how you approve wholesale buyers today. We can walk through how it would look in Crate.
14-day free trial. No credit card required.