Zoocchini: one store for retail and wholesale

Zoocchini sells children's swimwear and accessories in the US and Canada from two stores: retail, and wholesale on a separate app. I am merging both into one storefront on native Shopify B2B. The work so far is done on a dev store, and the live stores are untouched.

Problem

The client was paying for a separate wholesale store and app, and kept two catalogues and two sets of orders. In one store, wholesale buyers needed half the retail price, a minimum order, their own pages and menu, stock from their own warehouse and Canadian dollar prices. The Faire channel can show only one stock number per item, yet US and Canadian stock must be sold separately.

Solution

Native Shopify B2B markets, catalogues, companies, locations and quantity rules. What the plan lacks is built in the theme as separate files with a prefix, each behind a theme setting and neutral by default. Stock routing is done through shipping setup: each warehouse has its own location group and zone, so checkout sells only what the buyer's country has. For Faire, each account gets a backend store linked through Syncio.

Key decisions

  1. Chose native Shopify B2B over the wholesale app

    Why It removes a separate store and a subscription, and a company draft order is built at wholesale prices with no tax and no extra button.

  2. Chose separate theme files, each behind a setting with neutral defaults

    Why Base theme files stay untouched, nothing changes on the storefront until a feature is switched on, and future theme updates stay simple.

  3. Chose to keep the retail list price in a product metafield, not in the catalogue

    Why The catalogue option cuts the compare-at price by the same percentage, so a buyer would have seen two identical numbers.

  4. Chose to gate wholesale-only products in the theme, not by unpublishing them

    Why Unpublishing hides them from the buyers who should see them.

Results

  • Wholesale pricing applies automatically for every company, and draft orders build at wholesale prices with no tax.
  • The retail list price now shows next to the wholesale price on hundreds of products.
  • Eleven defects found in testing and fixed, four of them in my own code.
  • Checkout caps an order at the stock of the buyer's country warehouse.
  • A Faire test setup syncs stock in seconds and returns tracking back to the backend store.

Have a similar task?

Send a link and a few lines about what you need. I reply within 1 business day with questions or a fixed estimate.

Get a fixed estimate
  • The estimate is the priceHours and total agreed before work starts. No re-estimates.
  • No prepayment on small projectsProjects up to 20 hours usually need none.
  • 30-day warrantyCritical bugs from my work get fixed free, even after that.

My gift: start a Shopify store for €1 for your first month

Open your store through my partner link and try Shopify for yourself. When you need a theme, an app or a migration, I'm one message away.

Claim the €1 month (opens in a new tab)

Affiliate link: I may earn a commission if you sign up. The offer is set by Shopify and may vary by region.