I’m trying to solve a shipping configuration issue with my Shopify store and would appreciate some guidance from anyone experienced with Shopify B2B, Markets, shipping profiles, and delivery zones.
I currently have approximately 428 products, and the same products are available to both my Direct-to-Consumer (D2C) customers and my Business-to-Business (B2B) wholesale customers.
Current B2B Setup
I have already:
- Created company profiles for businesses enrolled in our wholesale program.
- Assigned those companies to the appropriate B2B Markets.
- Established designated delivery zones based on the geographic areas we service.
- Created flat-rate delivery pricing for those zones because B2B orders are delivered using our own company fleet.
The B2B side is intended to work like this:
B2B Company → Assigned Market → Designated Delivery Zone → Flat-Rate Company Fleet Delivery
The Problem
At checkout, my B2B customers are being offered the designated flat-rate delivery option AND UPS/general shipping options from my general shipping profile.
I do not want B2B customers to see or select UPS/general carrier shipping.
If a wholesale company is assigned to one of our B2B markets and falls within one of our designated delivery zones, I want only the applicable flat-rate company delivery option presented at checkout.
D2C Requirement
At the same time, I need the same 428 products to remain available to my regular D2C customers.
For the immediate future, I would actually prefer the D2C side to be:
D2C Customer → Product Purchase → Scheduled/Local Pickup
while B2B operates as:
B2B Customer → Assigned Market/Company → Designated Zone → Flat-Rate Fleet Delivery
I temporarily disabled portions of my general shipping setup to prevent the unwanted UPS options, but I don’t want that to interfere with product availability or create problems with checkout.
What I’m Trying to Accomplish
Essentially, I need one shared product catalog with two different fulfillment rules based on customer type:
B2B: Same products + designated delivery zones + flat-rate company fleet delivery ONLY.
D2C: Same products + scheduled/local pickup ONLY.
Has anyone successfully configured Shopify B2B this way?
Specifically, is there a native way to restrict shipping methods based on the customer’s Company, B2B Market, catalog, or customer status, or do I need to use shipping profiles, delivery customizations, Shopify Functions, or a third-party app to prevent B2B customers from seeing the general UPS rates?
I’m trying to avoid duplicating 428 products simply to create separate B2B and D2C fulfillment rules.
Any insight into the cleanest way to structure this would be greatly appreciated.




