If you sell wholesale, you already know the problem. Your trade pricing is a competitive advantage β€” a number you've negotiated with your buyers over years of doing business. The moment it's publicly visible on your website, your competitors know exactly where to undercut you, and retail customers who aren't entitled to wholesale rates start demanding them.

The answer most businesses land on is a locked-down trade portal β€” a separate site, a password on the whole thing, or just a PDF price list emailed on request. It works, but it's 2005-era thinking. Your buyers want to place orders online, check live stock, and get a proper invoice. A PDF doesn't do any of that.

What Other Platforms Make You Do

Shopify's standard plans don't support price hiding natively. To put "Login to view price" on a product page, you need a third-party app. The most capable ones β€” B2B Wholesale Hub, Wholesale Gorilla, Locksmith β€” run $30 to $99 per month on top of your existing Shopify subscription. To get anything resembling a complete B2B setup (price tiers, customer groups, order restrictions), you're typically running two or three apps simultaneously, each billing you independently.

If you want Shopify's own B2B tools β€” the ones actually built into the platform β€” that's Shopify Plus territory. The entry price for Plus is $2,000 a month. Wholesale pricing becomes an enterprise feature.

WooCommerce has plugins for role-based pricing. You configure them by assigning WordPress user roles to pricing tiers β€” a system built for managing admin access, repurposed for wholesale pricing. The logic leaks through constantly: you're not creating a "Wholesale Buyer" group, you're creating a WordPress user role. The concepts don't map cleanly onto what you're actually trying to do, and the setup reflects that.

BigCommerce has a dedicated B2B edition β€” but it's a separate product at a separate price, built for enterprises managing hundreds of trade accounts. If you have twelve wholesale customers and three trade tiers, the overhead isn't proportional to the problem.

Hiding your trade price shouldn't require an enterprise subscription. Most businesses with a B2B component are not enterprises β€” they're a local supplier with a handful of trade accounts and a few hundred products.

The Three Things You Actually Need

Most B2B pricing setups reduce to three requirements. First: the ability to hide prices from the general public until a buyer is authenticated. Second: different prices for different customer segments β€” contractors pay one thing, retail customers pay another, VIP accounts pay a third. Third: the ability to restrict who can actually place an order, not just who can see a price.

Everything beyond that β€” complex ERP integrations, credit account management, multi-currency matrix pricing β€” is valid for some businesses, but it's not where most B2B stores actually start.

Why Price Transparency Is a Competitive Risk

There's a broader argument here that goes beyond wholesale. Price transparency is not a neutral thing. When your prices are publicly indexed, competitors set their prices relative to yours. Price-comparison tools scrape your catalogue. Customers who find your retail price on Google won't understand why the same item costs less through a trade account β€” and they'll complain.

There are categories of product where the buyer relationship matters more than the listed price: specialty materials, professional equipment, bulk consumables. The price is a starting point for a conversation, not the final answer. Showing it to everyone before that conversation starts gives away information without creating any value.

How Mika Store Handles This

Price visibility in Mika Store is a per-product setting with two modes: always show, or login required. When a product is set to login required, the product page shows a "Login to view price" prompt in place of the price and add-to-cart button. Authenticated buyers see the price they're entitled to β€” which may be the base price, a group discount, or a per-account contract rate depending on how their account is configured.

Customer groups let you define segments β€” Trade, Wholesale, Contractor, VIP, whatever your business uses β€” and assign price overrides per group. A trade customer logs in and sees 22% below retail. A VIP account sees a different discount. Pricing resolves automatically based on their membership, with no manual configuration needed at checkout.

For businesses with individual contract pricing β€” a specific customer who's negotiated a specific rate for a specific product β€” per-account price overrides let you set exactly that, without grouping the customer into a tier that doesn't fit. The pricing hierarchy is: direct account override first, then the lowest group rate, then the base catalogue price.

Order restrictions work alongside pricing. A product can be set to trade-account-only ordering β€” authenticated, confirmed, group-assigned buyers only. Anyone else who somehow lands on the product page sees the correct restriction without being able to proceed. Violations are logged for security review.

All of this is available from Growth tier upward. No separate B2B module. No app marketplace. No enterprise negotiation. If you're running a store that sells to both retail and trade customers, it's built in.