Hello, I’ve created a website for our B2B customers to view our inventory. Customers can click on products to see available models and sizes, and place orders via email. The store is public because our B2B customers use it to showcase our products to their clients. However, I’ve removed the checkout feature to prevent B2C customers from placing orders.
Now, I’d like to implement a solution that allows only approved B2B customers to place orders directly through the site while keeping the site public for viewing. A simple password-protection for the entire site won’t work since it needs to remain accessible for browsing by everyone. What’s the best way to allow ordering functionality exclusively for verified B2B customers while keeping the catalog public?
Thanks for any help 
Hi @Whynot11
You can achieve this by following two ways
First solution Customer tags:
- Assign customer tags to customers and use them to set up product visibility in your store. Only customers with the designated tag will be able to see and purchase the product.
- Then You can use that tag as a condition in your add-to-cart button
{% if customer %}
{% if customer.tags contains TAGNAME %}
{% else %}
{% endif %}
{% else %}
{% endif %}
The second solution is to create a separate password-protected collection. First, create a new page containing the product that can be added to the cart. Then, make a copy of that product that cannot be added to the cart. Next, create two different collections: one collection page that is password-protected (accessible only to your B2B vendors with a password) and another collection page to showcase your products. Ensure the showcase collection does not display quantities so the products cannot be purchased.
If you need any assistance you can share your collaboration code I will check and try to help you out
1 Like
Hey @Whynot11
Our app LevelOps B2B PDF-to-Order lets you keep your public product catalog open while limiting actual ordering to approved B2B customers.
When a purchase order (PDF or email) comes in, the app automatically creates a draft order in Shopify, so only verified customers can place real orders. No need to build a separate wholesale site — it works alongside your existing storefront.
You can check it out here: https://apps.shopify.com/levelops-email-to-order