Cracking the Code: Offering Local Delivery for Self-Serve B2B Orders on Shopify
Hey everyone,
I recently saw a great discussion pop up in the Shopify Community that really hit home for a lot of B2B store owners. Our friend @excelele kicked things off, voicing a frustration many of you might share: the struggle to offer native local delivery options for your B2B customers who log in and place orders themselves. It's a head-scratcher because, as @excelele put it, the feature worked so "fluently for non-b2b."
They were distraught, feeling like they were forced into third-party apps just to manage something that feels pretty fundamental for local wholesale businesses. The core question was clear: "Any hope the feature will be available for b2b soon?" While there's no official word on immediate native B2B local delivery in the self-serve checkout, the community came through with some clever workarounds.
Why Native B2B Local Delivery is Tricky (for now)
As @veed confirmed, Shopify's B2B checkout currently doesn't support the native local delivery feature. No matter how you set it up for your direct-to-consumer (D2C) side, it won't appear as an option for your B2B buyers when they're logged in and checking out themselves. This is a crucial distinction, especially for B2B operations relying on self-serve wholesale orders.
Workaround 1: The Draft Order Method (For Managed B2B Accounts)
Before diving into a self-serve solution, let's look at a common workaround from @One-Sun1995 and @Maciej_Lektoro: leveraging Shopify's draft order functionality.
How it works:
- You (the merchant) create a draft order in your Shopify admin.
- Select the B2B customer and their company location.
- Add products and the delivery address.
- Under Add shipping or delivery, manually select Local delivery.
- Send the invoice/checkout link. Your customer pays, and the order comes in with local delivery pre-selected.
@Maciej_Lektoro even linked to the official docs here. The upside: it uses your existing local delivery setup. The downside, and a blocker for @excelele's self-serve model, is that it's not customer-facing. If your B2B relies on independent customer orders, this might not fit.
Workaround 2: The Self-Serve "Local Delivery" Hack with Checkout Blocks
This is where @veed offered a truly insightful, step-by-step solution for B2B customers to select a "local delivery" option themselves at checkout. It requires some setup, but it’s a powerful way to bridge that gap.
The core idea: bypass native local delivery for B2B. Instead, create a regular shipping rate that mimics local delivery, then use Shopify's free Checkout Blocks app to control its visibility based on postal codes. This ensures it only shows for addresses within your defined delivery area.
Here's how to set it up, based on @veed's advice:
- Prepare Your Shipping Profile: Go to Settings > Shipping and delivery. Open the shipping profile your B2B products use. Ensure a shipping zone covers your B2B market; otherwise, buyers see no shipping options.
- Create Your "Local Delivery" Rate: Within your delivery area's zone, add a flat rate. Name it something like Local Delivery, set your price, and any order-minimums.
- Install Checkout Blocks: Install the Checkout Blocks app (free, from Shopify).
- Set Up the Delivery Customization: In Checkout Blocks, navigate to Functions > Create function > Delivery > Hide.
- Target Your New Rate: Pick your new "Local Delivery" rate.
- Add Postal Code Rule: Add a rule on Shipping zipcode (postal code). Hide this "Local Delivery" rate for every postal code outside your delivery area.
- Optional: D2C/B2B Separation: If you also sell D2C and want them to use native local delivery, add a Customer is B2B rule. Set it so this new rate only shows for B2B buyers.
- Activate the Function: Set the function to Active.
- Test, Test, Test!: Log in as a B2B contact. Perform two checkouts: one with a local address, one outside. Ensure the "Local Delivery" rate correctly shows or hides. B2B addresses prefill from company location, so the rate responds to that postal code.
@veed also provided helpful links to the official Shopify docs for B2B shipping methods here and for Checkout Blocks delivery methods here.
Important Considerations for the Checkout Blocks Method:
While this method provides self-serve local delivery, note these trade-offs:
- Shopify Plus Requirement: @veed highlighted that Checkout Blocks delivery customizations often require a Shopify Plus plan. This is key for many merchants.
- Loss of Native Extras: You'll lose some native local delivery features like radius-based zones (you're managing by postal code) and direct integration with the Shopify Local Delivery app for drivers. However, you still get one clean shipping line on the order.
Wrapping It Up: Choosing Your Path
Shopify's B2B capabilities are evolving, and while native local delivery for self-serve B2B checkouts isn't there yet, the community has found robust workarounds. If your B2B model allows some manual intervention, the draft order method is a solid choice. But if, like @excelele, your buyers log in and check out themselves, then building a custom "Local Delivery" rate with Checkout Blocks is likely your best bet, especially if you're on Shopify Plus or considering an upgrade to unlock advanced checkout customizations. It’s all about finding the solution that best fits your operational flow and customer expectations for your wholesale business. For anyone looking to start their own online store, Shopify offers a fantastic platform to build and scale your business, whether B2B or D2C.