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.

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.

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
- 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.
- Catalogs and pricing in B2B: what catalogs control; lowest-price behavior across overlapping catalogs; catalog limits by plan.
- Setting up quantity rules and volume pricing in B2B: per-variant rules; 10 price breaks per product; fixed-price behavior after volume pricing.
- Companies in B2B: company, location, and contact model; per-location settings; maximums including 10,000 locations and 25 catalogs per location.
- B2B overview: blended versus dedicated B2B stores; features on by default on supported plans.
- Build B2B apps: Company, CompanyLocation, and CompanyContact objects; catalog assignment to company locations.




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