Book now

Field notes on Shopify B2B: company profiles, catalogs, quantity rules, and the ops load that doubles while nothing on the dashboard changes.

Turn on Shopify B2B and nothing looks different. Same products, same admin, same dashboard.

That is the trap. Wholesale on Shopify is not a discount code behind a login page. It is a second catalog: its own prices, its own availability, its own rules about who buys what and in what multiples. The retail catalog has a team. This one usually has a checkbox.

The machinery under the checkbox

The data model is honest about the scale, even if the dashboard is not. A company profile is the parent: under it, locations; under those, the actual humans placing orders. Each location carries its own addresses, tax IDs, payment terms, and its own set of catalogs, all inside the same admin as your retail store, blended with DTC or run as a dedicated wholesale storefront.

A catalog decides two things for the buyer attached to it: which products exist, and what they cost. Two catalogs for two distributors can disagree about both. That is the point of the feature, and the start of the workload.

Standard plans get up to three catalogs, which sounds contained. On Plus, catalogs are unlimited and a single company location can carry 25 of them at once. Wholesale drifts toward one catalog per negotiated relationship, because a catalog is exactly that: a handshake, encoded.

A company can hold 10,000 locations. Nobody has 10,000 locations. The merchants with forty are already behind on maintaining them.

Wholesale is a second catalog. Nobody staffs it. illustration 1

The comfortable theory of wholesale pricing

The comfortable theory says wholesale pricing is retail minus a percentage. One adjustment, applied across the catalog, easy to reason about, easy to leave alone.

The documentation disagrees, quietly, twice.

First: when several catalogs cover the same product for the same buyer, Shopify shows the lowest price. Reasonable for the buyer. For you, it means every overlapping catalog is a standing bid in an auction you forgot you were running. The promotional catalog built for a spring push and never retired will happily undercut the price you renegotiated afterward. No error, no warning. The buyer just pays less.

Second: volume pricing. You can set up to 10 price breaks per product, applied to each variant, so buyers get cheaper units at quantity. Useful. But once volume pricing touches a product, that product's price becomes fixed: the catalog's overall percentage adjustment stops applying to it. Update retail and the adjusted catalogs follow automatically, except for every product where someone once added a price break. Those keep their old numbers until a human notices.

Quantity rules carry their own fine print: minimums, maximums, and increments apply per variant, not across variants. A buyer cannot mix three colors to reach a case minimum. Every variant is its own little negotiation.

Shopify is doing nothing wrong here; negotiated commerce really is this fiddly once you write it down. What breaks is the assumption that it maintains itself.

April made it everyone's problem

For years this was Plus-only, which kept it rare, and kept it staffed, when it was staffed at all, by teams big enough to buy Plus.

On April 2, 2026, it stopped being rare. Shopify pushed company profiles, three catalogs, volume pricing, quantity rules, vaulted credit cards, and payment terms down to Basic, Grow, and Advanced at no extra cost. The pitch, from Shopify's own numbers: merchants selling B2B see up to a 4.1x increase in reorder frequency compared to DTC.

The incentive is real. The reorder math is real. What did not ship in April is the person.

Wholesale is a second catalog. Nobody staffs it. illustration 2

The staffing question

The pattern in every wholesale setup we open is the same: the retail catalog is alive, touched daily by merchandising, while the B2B catalogs are geology. Configured once, by whoever closed the first wholesale account, then left to hold negotiated prices through every retail change that came after.

A price list nobody owns is a liability with a login page.

To be fair, at three catalogs and a dozen locations, a spreadsheet and a calendar reminder genuinely cover it. The problem starts when the handshake count outruns the reminder.

What goes on the wall

  • Count surfaces, not products. Your real catalog is every product times every catalog that touches it.
  • Every catalog gets an owner and a review date on the day it is created.
  • Audit overlaps first: lowest price wins, silently.
  • After any retail price change, re-check every volume-priced product. They froze while you were not looking.

Turn on B2B and nothing looks different. Look closer.

If you want to know how many price surfaces your store is actually running, and which ones are quietly underbidding you, OKART's Infrastructure Stress-Test maps them read-only in a few days.

Sources

  1. Shopify brings native B2B features to millions more merchants: April 2, 2026 rollout to Basic, Grow, and Advanced; three-catalog limit; Plus exclusives; reorder-frequency figure.
  2. Catalogs and pricing in B2B: what catalogs control; lowest-price behavior across overlapping catalogs; catalog limits by plan.
  3. Setting up quantity rules and volume pricing in B2B: per-variant rules; 10 price breaks per product; fixed-price behavior after volume pricing.
  4. Companies in B2B: company, location, and contact model; per-location settings; maximums including 10,000 locations and 25 catalogs per location.
  5. B2B overview: blended versus dedicated B2B stores; features on by default on supported plans.
  6. Build B2B apps: Company, CompanyLocation, and CompanyContact objects; catalog assignment to company locations.

Latest Stories

View all

Wholesale is a second catalog. Nobody staffs it.

Wholesale is a second catalog. Nobody staffs it.

Turn on Shopify B2B and nothing looks different. Same products, same admin, same dashboard. But behind the login there is now a second catalog, with its own prices and its own rules, and nobody's name on it.

Read moreabout Wholesale is a second catalog. Nobody staffs it.

The search box became a chatbot, and it has never heard of you

The search box became a chatbot, and it has never heard of you

Ask ChatGPT to recommend the kind of product you sell. It names three brands, none of them yours. The store ranks on Google, the reviews are real, and the machine cannot read you. Notes on what answer engines actually eat.

Read moreabout The search box became a chatbot, and it has never heard of you

642,000 SKUs later, every catalog has the same seven problems

642,000 SKUs later, every catalog has the same seven problems

Every store believes its catalog is a unique mess. We believed it too, for the first few projects. Then the field notes started photocopying themselves: the same seven problems, in every catalog we opened.

Read moreabout 642,000 SKUs later, every catalog has the same seven problems