Ask a medical supply distributor why the catalog is not online and you will hear the same answer in every territory: we cannot put prices on the internet, because there is no such thing as the price. The clinic buys gloves on a GPO contract, the surgery center on a negotiated agreement, the health system on tiers that depend on volume nobody has added up yet, and the cash-pay practice on a list price that exists mostly as a starting point. All of that is true, and none of it is a reason to stay offline. It is the design brief. Customer-specific pricing is not the obstacle to selling medical supplies online; it is the thing the storefront is for.
Quick answer: A distributor sells online with contract pricing by making the storefront an extension of the contract, not a replacement for it. Each account logs in and sees three things that are already theirs: their contract price on every item, applied from the same record the ERP invoices against; their formulary as the catalog, meaning the products their organization has approved rather than everything in the warehouse; and their terms at checkout. The storefront's obligations are parity with the price file the account already receives, price updates applied on their effective dates, and eligibility handled at account setup rather than discovered on an invoice. Anonymous visitors browse the catalog without prices and are routed to open an account, which in this category is a feature, not a loss.
Why "what does it cost" has no single answer in medical distribution
A medical supply distributor's pricing is a stack of agreements, not a list. GPO contracts set tiered rates that depend on aggregated volume, health systems negotiate their own agreements on top, independent practices buy on assigned tiers, and the same box of nitrile gloves legitimately carries a dozen correct prices on the same day. The mechanics of administering that stack across a multi-facility network, tier aggregation, and the chargebacks that reconcile behind it are their own discipline, covered in the GPO pricing tiers guide. What matters for the storefront is simpler: the price an account sees while browsing must be the price its contract says, every time, or the channel loses the only argument it has against the fax machine.
That is why the foundational rule is the same one that governs all contract pricing on Shopify B2B: the ERP owns the price, the storefront displays it, and nothing is retyped in between. In medical distribution the rule just has more force, because a displayed price that disagrees with the contract does not merely confuse a buyer. It creates an invoice dispute, and behind that a chargeback claim that questions whether the sale qualified for the rate at all.
The price file is a trust document, and the storefront has to match it
Medical buyers already receive their pricing as data. The EDI 832 is the price/sales catalog document, the file a distributor sends an account listing its items and its contract prices, and the EDI 845 is the price authorization acknowledgment that communicates which contract prices have been authorized and when they take effect. Larger accounts load these files into their own purchasing systems and treat them as the truth. Which means the storefront is now the second place the account can look up its price, and the two must never disagree: a portal that shows $11.40 against a price file that says $11.15 has just taught the buyer to distrust the portal.
The operational consequence is that storefront pricing and price-file generation should draw from the same contract record in the ERP, and that mid-contract price changes carry effective dates the storefront respects. A price authorized to change on the first of the month changes on the first of the month, not whenever the next sync happens to run. Distributors that treat the 832, the invoice, and the portal as three outputs of one record never have this conversation with an account; distributors that maintain them separately have it every quarter.
The account's catalog is its formulary
In supply distribution, a formulary is the approved product list an organization has standardized on: the specific glove, the specific suture, the approved substitutes, and nothing else. A storefront that shows every account all forty thousand SKUs is ignoring how its customers actually buy, because the clinical staff ordering against a formulary do not want alternatives; they want their list. Customer-specific catalogs are the commerce expression of the formulary: each company account sees its approved items, its contracted prices, and its organization's units, which turns the storefront from a warehouse tour into the account's own supply room.
This is also where standardization becomes a selling tool rather than a constraint. When a product is discontinued or a contract switches an item, the formulary-scoped catalog is where the substitution shows up cleanly, mapped from the old item to the approved replacement, instead of leaving a buyer searching for a SKU that quietly vanished.
Day one is an eligibility problem, not a pricing problem
Every contract price has a membership behind it: the GPO roster the account must appear on, the health system affiliation that grants the negotiated rate, the effective dates on both. The account setup workflow is where that gets settled, verify the eligibility, assign the contract, provision the users, set the terms, and it is worth doing as a designed process because it happens hundreds of times and every shortcut becomes a pricing error with a paper trail. The account that joins a GPO mid-year, or leaves one, is the test case: the storefront should follow the contract assignment change on its effective date, exactly as the ERP does.
Get this right and the private side of the store takes care of itself. The gated experience, who can log in, what they can see, how buyers within a facility share carts and approvals, is the territory of private ordering portals for medical B2B, and the recurring ordering workflows that keep accounts inside the channel are covered in the wholesale medical supplies ordering guide.
What the logged-out storefront sells when it cannot show prices
The public side of a contract-priced store is not wasted space. It sells the catalog itself: complete product data, manufacturer numbers buyers can search because that is how clinical staff identify products, specification documents and SDS files in one place, and honest availability signals. It sells the account: a request-an-account flow that starts the eligibility workflow instead of a generic contact form. What it does not do is show prices, and in this category nobody expects it to; a distributor who worries that a priceless public catalog looks incomplete is applying retail instincts to buyers who have never once expected to see their contract rate on an open web page.
The capability, plainly stated
Everything above is standard machinery on a well-built Shopify B2B storefront: company accounts carrying contract price lists resolved from the ERP, catalogs scoped per account, terms at checkout, and effective-dated price updates flowing through the same sync that feeds the price file. It is the pattern Uncap builds for medical and dental distributors, where the pricing stack runs deepest and the cost of a mismatch is a dispute rather than a shrug. Uncap has been a Shopify Platinum Partner since 2013, with more than 380 B2B commerce projects delivered for manufacturers, distributors, and wholesalers. Talk to Our Experts if your accounts each hold a contract price and your storefront still shows one number to everyone, wiring the contracts into the browsing experience is the project, and it is a known one.
Frequently asked questions
How do you handle customer-specific pricing in B2B ecommerce?
Give each account its own logged-in experience: a company account carrying its contract price list, a catalog scoped to its approved products, and its payment terms at checkout, all resolved from the ERP record that also produces invoices and price files. The storefront displays contract pricing; it never becomes a second place where pricing is maintained.
What are EDI 832 and EDI 845 documents?
The 832 is the price/sales catalog: the file a distributor sends an account listing items and contract prices. The 845 is the price authorization acknowledgment, communicating which contract prices are authorized and their effective dates. A contract-priced storefront must agree with these files line for line, which is why storefront pricing and file generation should draw from the same contract record.
Can a distributor sell medical supplies online without showing public prices?
Yes, and in this category that is the norm: the public storefront sells the catalog, manufacturer part-number search, documentation, and an account-request flow, while every price lives behind a login where the account's contract resolves it. Medical buyers do not expect open-web pricing, so gating prices costs nothing and protects every agreement.
How do GPO contracts affect a distributor's online store?
Each account's GPO membership determines its contract and tier, so the storefront must apply the right agreement per account and follow membership changes on their effective dates. The deeper mechanics, aggregating volume across a health system's facilities so tiers trigger correctly, and keeping chargebacks reconcilable, are covered in the GPO pricing tiers guide linked above.