Last Tuesday, a merchant running a packaging supply store reached out to HideShip support with a familiar problem. Their wholesale clients, placing $2,000 orders every week, were seeing "Standard Shipping ($8.99)" at checkout right next to their negotiated free freight rate. Two of their biggest accounts had already called to complain. One threatened to take their business elsewhere.
If you sell to both retail customers and businesses from the same Shopify store, you've probably hit this wall. Managing B2B shipping rates in Shopify is frustrating because Shopify shows every rate to every customer in a zone. No exceptions. Your wholesale buyer ordering 500 units sees the same checkout as someone buying a single item.
The good news: you can fix this without Shopify Plus, without a developer, and without rebuilding your shipping setup. In this guide, we'll walk you through exactly how to manage B2B shipping rates in Shopify so wholesale and retail customers each see the right options at checkout.
Here's what we'll cover:
- Why Shopify's native shipping settings don't separate B2B from B2C
- Three approaches to B2B shipping (and which one fits your store)
- Step-by-step setup with HideShip's rule engine
- Real scenarios with specific rule configurations
- Best practices for keeping your B2B shipping clean long-term
Want to skip ahead? Install HideShip from the Shopify App Store and set up your first B2B shipping rule in under 10 minutes. No code required.
Why B2B shipping needs different rules than retail
Wholesale and retail are fundamentally different buying experiences. Your retail customer is comparing a $9 flat rate against free shipping on a $40 order. Your B2B customer is placing a $1,500 restock order and expects the shipping terms you agreed on over a handshake (or an email).
Here's where the friction shows up:
- Order size mismatch: B2B orders are larger, heavier, and more frequent. Retail shipping tiers don't make sense for pallet-sized shipments.
- Rate expectations: Wholesale buyers expect negotiated rates or free shipping above a certain threshold. Seeing "$14.99 Express" on a $3,000 order feels wrong.
- Free shipping threshold leaks: You set free shipping at $75 for retail customers. Every B2B order clears that threshold automatically, giving wholesale buyers free shipping they weren't supposed to get.
- Professionalism: B2B buyers notice when your checkout looks like it was built for consumers. It signals that you're not set up for wholesale.
According to Baymard Institute's checkout research, 22% of cart abandonments happen because the checkout process is too complex or confusing. For B2B buyers who expect a streamlined professional experience, irrelevant shipping options are a red flag.
How Shopify handles B2B shipping (and where it falls short)
What Shopify gives you natively
As of April 2026, Shopify expanded B2B features to all plans. That means every Shopify merchant can now use:
- Companies and catalogs: Assign B2B customers to company profiles with custom pricing
- Payment terms: Offer net 30, net 60, or other payment schedules
- Shipping profiles: Create different shipping settings per product group
- Shipping zones and rates: Set flat rates, carrier-calculated rates, or free shipping by zone
You can review the full B2B shipping setup in Shopify's documentation.
The gap: what native settings can't do
Here's the problem. Shopify's shipping zones show the same rates to every customer in that zone. There's no built-in way to:
- Show Rate A to wholesale customers and Rate B to retail customers
- Hide retail shipping from B2B buyers (or vice versa)
- Set different free shipping thresholds for B2B vs. B2C
- Show company-specific rates to individual wholesale accounts
- Prevent your $75 free shipping promotion from applying to business orders
This is the gap that a shipping customization app fills.
Three approaches to managing B2B shipping rates
Not every store needs the same solution. Here are three approaches, from simplest to most advanced.
Approach 1: Customer tags + shipping app (all plans)
How it works: Tag your B2B customers with a label like "wholesale" or "B2B" in Shopify admin. Then use HideShip to create rules that show or hide specific shipping rates based on those tags.
Best for: Stores on any Shopify plan that need to separate B2B and retail shipping without complex company structures.
Pros:
- Works on Basic, Shopify, Advanced, and Plus
- No code required
- Setup takes under 10 minutes
- Flexible: add or remove tags anytime
Cons:
- Requires manually tagging customers (or automating with Shopify Flow)
- Tags don't apply to guest checkouts
Approach 2: Shopify B2B companies + company-based rules (all plans)
How it works: Use Shopify's native B2B company feature to assign wholesale customers to company profiles. Then use HideShip's purchasing company conditions to show or hide rates based on company membership.
Best for: Stores already using Shopify's B2B features (companies, catalogs, payment terms) and wanting shipping to match.
Pros:
- Tighter integration with Shopify's B2B system
- Company-level control (different rates per company)
- Works on all plans since April 2026
- Supports company location-based rules
Cons:
- Requires setting up Shopify B2B companies first
- Slightly more setup than simple customer tags
Approach 3: Checkout Blocks (Plus only)
How it works: Shopify Plus merchants can use Checkout Blocks or custom checkout UI extensions to conditionally display shipping options.
Best for: Shopify Plus stores with developer resources and deep checkout customization needs.
Pros:
- First-party Shopify solution
- Full checkout customization beyond just shipping
Cons:
- Requires Shopify Plus ($2,300/month)
- Often needs developer involvement
- Limited to what Checkout Blocks supports
For most merchants, Approach 1 or 2 with HideShip delivers the best balance of power and simplicity. Let's set it up.
Step-by-step: set up B2B shipping rates with HideShip
Here's the complete walkthrough. We'll set up rules that show wholesale shipping only to B2B customers and hide retail rates from them.
Step 1: Create your shipping rates in Shopify
Before touching HideShip, make sure your Shopify shipping settings include both retail and B2B rates. Go to Settings > Shipping and delivery in your Shopify admin.
You'll need at least:
- Your retail shipping rates (Standard, Express, Free Shipping over $75, etc.)
- Your B2B shipping rate (for example, "Wholesale Free Shipping" or "B2B Flat Rate $25")
Create the B2B rate in the same shipping zone as your retail rates. Both sets of rates will be visible to everyone at checkout for now. That's fine because HideShip will handle who sees what.
Pro tip: Name your B2B rates clearly, like "Wholesale Free Shipping" or "B2B Ground." This makes it easier to identify them when setting up rules in HideShip.
Step 2: Tag your B2B customers (or set up companies)
Option A: Customer tags
Go to Customers in your Shopify admin. Select each wholesale account and add a tag. Pick one format and stick with it:
- "B2B" (recommended: short, clear, universal)
- "wholesale" (also fine, just be consistent)
Tags are case-sensitive in HideShip, so decide on "B2B" or "b2b" and use it everywhere.
Option B: Shopify B2B companies
If you're using Shopify's native B2B features, your wholesale customers are already assigned to company profiles. HideShip can target rules based on purchasing company name, company location, or company metafields. No extra tagging needed.
Step 3: Create hiding rules in HideShip
Open HideShip from your Shopify admin. You'll need two rules to fully separate B2B and retail shipping.
Rule 1: Hide B2B rates from retail customers
This keeps your wholesale shipping invisible to regular shoppers.
- Click Create Customization
- Choose Simple Customization
- Set the condition: Customer Tag > does not contain > B2B
- Select the shipping methods to hide: "Wholesale Free Shipping" (or whatever your B2B rate is called)
- Save
Now any customer without the "B2B" tag won't see your wholesale rate at checkout.
Rule 2: Hide retail rates from B2B customers
This gives your wholesale buyers a clean, professional checkout.
- Click Create Customization
- Choose Simple Customization
- Set the condition: Customer Tag > contains > B2B
- Select the shipping methods to hide: "Standard Shipping ($8.99)", "Express Shipping ($14.99)"
- Save
Now your B2B customers only see the wholesale rate.
If you're using Shopify B2B companies instead of tags, swap the condition to Purchasing Company Name and target the specific company.
Step 4: Test at checkout
This step is critical. Always test both sides of your rules.
- Test as a B2B customer: Log in as a tagged wholesale account, add items to cart, and proceed to checkout. You should only see the B2B shipping rate.
- Test as a retail customer: Use a customer account without the B2B tag. You should see your standard retail rates and nothing wholesale.
- Test as a guest: Check what untagged, non-logged-in customers see. They should get the default retail experience.
Important: If both rules fire for the same customer and hide all shipping options, Shopify will block the checkout entirely. Always make sure at least one rate remains visible for every customer type.
Common B2B shipping scenarios (with rule examples)
Scenario 1: Free shipping only for wholesale buyers
Marcus runs a coffee roastery. Retail customers pay for shipping, but his wholesale accounts (cafes and restaurants ordering 50+ pounds) get free shipping on every order.
The setup:
- Create a "B2B Free Shipping" rate in Shopify ($0, available to the whole zone)
- In HideShip, hide "B2B Free Shipping" from customers whose tag does not contain "wholesale"
- Retail customers never see it. Wholesale customers always do.
Scenario 2: Different free shipping thresholds for B2B vs. retail
Elena's home goods store offers free shipping over $75 for retail customers. But her B2B accounts should only get free shipping on orders over $500.
The problem: Shopify's $75 free shipping rate triggers for B2B orders too, since they always exceed $75.
The setup:
- Keep the "$75 Free Shipping" rate for retail
- Create a "B2B Free Shipping (over $500)" rate
- In HideShip, create an Advanced Customization rule: Customer Tag contains "B2B" AND Cart Total is less than $500 > Hide "B2B Free Shipping (over $500)"
- Create another rule: Customer Tag contains "B2B" > Hide the retail free shipping rate
Now retail customers get free shipping at $75, and B2B customers only get it at $500. You can learn more about setting up free shipping thresholds in our cart total guide.
Scenario 3: Company-specific shipping rates
A building materials supplier works with three wholesale accounts. Each has different shipping terms:
- Acme Construction: Free shipping on everything
- BuildRight Inc.: Flat rate $50 per order
- Metro Contractors: Uses their own FedEx account (no store-provided shipping)
The setup:
- Create three B2B rates: "Acme Free Shipping," "BuildRight Flat $50," and "Metro - Ship via Your Account"
- In HideShip, use Purchasing Company Name conditions to hide irrelevant rates from each company
- Acme sees only their free rate. BuildRight sees only their flat rate. Metro sees only the self-ship option.
This level of customization uses HideShip's customer tag-based shipping rules or the purchasing company conditions available in Advanced and Ultimate plans.
Scenario 4: Hide express shipping for B2B (they use freight)
Wholesale orders are too large for express carriers. Showing "Express 2-Day ($24.99)" on a 200-pound order is misleading.
The setup:
- In HideShip: Customer Tag contains "B2B" > Hide "Express Shipping"
- Also consider hiding by product: if specific wholesale-only products are in the cart, hide consumer shipping methods automatically.
B2B shipping best practices for Shopify merchants
After working with thousands of stores managing B2B shipping, here's what we've learned works best:
-
Set separate free shipping thresholds. Never let your retail free shipping threshold bleed into B2B orders. Create distinct rates and use rules to control visibility.
-
Always keep a fallback rate. If a carrier API goes down or a rule misconfigures, your customer needs at least one shipping option. Test that every customer type has a rate available.
-
Use consistent tags. Pick "B2B" or "wholesale" and use it everywhere. Mixed tagging ("B2B", "b2b", "Wholesale", "wholesale-customer") creates gaps in your rules.
-
Test with real accounts. Don't just preview. Place a test order as a tagged B2B customer and as a retail customer. Verify both sides work.
-
Document your rules. When you have five or more shipping rules, it gets hard to remember what each one does. Keep a simple spreadsheet mapping rules to conditions and affected rates.
-
Review quarterly. Shipping costs change. Carrier contracts renew. New wholesale accounts join. Set a reminder to audit your B2B shipping rules every three months.
What HideShip can and can't do for B2B shipping
We believe in being upfront about our app's capabilities.
HideShip can:
- Hide shipping rates from specific customer types (by tag, company, or login status)
- Show B2B-only rates to wholesale customers
- Sort rates so the best option appears first for each customer group
- Rename rates for clearer labels ("DHL Express" becomes "B2B Ground - 3-5 Days")
- Create dynamic shipping rates that only appear when conditions are met (Ultimate Plan)
- Work on all Shopify plans, including Basic
HideShip cannot:
- Modify the price of a carrier-calculated rate (use Shopify's shipping settings or a rate-modification app for that)
- Hide local pickup or local delivery options (these are separate from shipping methods in Shopify's system)
- Apply rules to guest checkouts based on customer tags (guests don't have tags; consider using company-based or cart-based conditions instead)
For more details on condition types and what's possible, check the Shopify shipping rates documentation.
Frequently asked questions
Do I need Shopify Plus for B2B shipping customization?
No. HideShip works on all Shopify plans. Basic, Shopify, Advanced, and Plus. Shopify Plus offers deeper checkout UI customization, but for hiding, sorting, and renaming shipping rates by customer type, HideShip handles it on any plan.
Can I show different shipping rates to wholesale vs. retail customers?
Yes. Use customer tags or Shopify B2B company profiles to identify wholesale buyers. Then create HideShip rules that hide retail rates from B2B customers and hide B2B rates from retail customers. Each group sees only the rates meant for them.
How do I set up free shipping for B2B customers only?
Create a free shipping rate in Shopify's shipping settings. Then use HideShip to hide that rate from any customer whose tag does not contain "B2B" (or who doesn't belong to a B2B company). Only tagged wholesale accounts will see the free option.
Does HideShip work with Shopify's native B2B features?
Yes. HideShip integrates with Shopify's B2B system. You can create rules based on purchasing company name, company location, company metafields, and company location spending history. This means you can target shipping rules at the company level, not just by customer tags.
What happens if a B2B customer doesn't log in?
If a wholesale buyer checks out as a guest, customer tag-based rules won't apply because Shopify can't identify them. For these cases, consider using cart-based conditions (like cart total thresholds) or requiring B2B customers to log in before checkout.
Take control of your B2B shipping today
Managing B2B shipping rates in Shopify doesn't have to mean choosing between a messy checkout and a $2,300/month Shopify Plus plan. With the right rules, you can give wholesale and retail customers completely separate shipping experiences from the same store.
Here's what to do next:
- Decide your approach: Customer tags (simplest) or Shopify B2B companies (tightest integration)
- Create your B2B shipping rates in Shopify's shipping settings
- Install HideShip and set up your first hiding rule
- Test both sides: Verify B2B and retail customers each see the right rates
Every rule you create takes less than two minutes. Most merchants have their B2B shipping fully separated within 15 minutes of installing the app.
Install HideShip free from the Shopify App Store and start your 7-day free trial.

Install Now