A senior engineer's guide to building a B2B wholesale portal on Shopify Plus. Company accounts, custom catalogs, net terms, the limits of native features, and the decision framework for when to extend with custom development.

If you are evaluating Shopify Plus for B2B, the question is not whether the platform can do it. It can. The question is which 80 percent of your wholesale operation maps onto native features, and what to do about the remaining 20 percent that always ends up being the difference between a working portal and a workaround. This post is the answer we give to founders, B2B operations leads, and CTOs who are deciding between Shopify Plus, Magento, BigCommerce B2B Edition, and a custom build for 2026.
The short version: Shopify Plus B2B has matured into a credible mid-market wholesale platform. Company accounts, custom catalogs, volume pricing, net terms, and a self-service buyer portal are all native. The B2B checkout is separate from D2C. Most projects that needed a stack of third-party apps in 2022 now need one or two. The remaining gaps are predictable and usually solvable with Shopify Functions, custom theme work, or a small custom app. The mistake is buying Plus expecting it to do everything, or rejecting it because of edge cases that two days of engineering would fix.
The 2026 feature set, the one available right now to any Plus merchant, covers a remarkable amount of wholesale operations.
Company accounts. Each wholesale customer is a Company with one or more Locations and multiple Users. A retailer with three warehouses and four buyers becomes one Company, three Locations, four User accounts. Each Location can have its own pricing, payment terms, and shipping address. This is the feature that replaces the spreadsheets and email chains most wholesale operations still run on.
Custom catalogs and pricing. Per-Company catalogs control product visibility and pricing. Volume discounts (buy 100, get 10 percent off) and quantity rules (minimum order quantity, multiples-of-12 for case packs) are first-class. Customer-specific price lists override default pricing without needing tags-and-conditions logic.
Net payment terms. Net 15, 30, 60, 90 are native checkout options. The buyer places an order, Shopify generates an invoice, the order ships on terms, the buyer pays from the portal. No external invoicing tool needed for standard cases.
Self-service buyer portal. Wholesale buyers log in, see their custom catalog, place orders, view order history, manage their billing addresses, and pay outstanding invoices. Quick order lists let them paste SKU and quantity to bulk-order without browsing. Reorder-from-history is built in.
Separate B2B checkout. The B2B checkout is its own flow, distinct from the D2C checkout. It supports purchase order numbers, deferred payment, draft orders for sales-rep-led quoting, and the company location/billing address pickers. Forcing wholesale buyers through a consumer checkout is the fastest way to lose accounts; Shopify gives you a real B2B checkout natively.
Shopify Flow for B2B. Workflow automation across B2B events. New company onboarded, send the welcome packet. Order placed over $10K, notify the account manager. Net 30 invoice 5 days from due, send the reminder. Flow handles the operational glue without custom code.
What you do not need to install as a separate app for any of the above: nothing. This is the change versus the 2022 Shopify B2B story. The "you'll need Bold, plus Locksmith, plus a quoting app, plus a custom price list app" stack has collapsed into the native B2B feature set.
Honest assessment from running Shopify Plus B2B projects in 2026:
Approval workflows. B2B buying often involves a procurement chain: buyer drafts an order, manager approves, finance signs off. Native Shopify B2B does not have multi-step approval workflows out of the box. Workarounds: draft orders the buyer cannot place themselves, Shopify Flow for notification-based approval, or a custom app that gates the cart with approval state.
EDI document exchange. Larger retailers and chain accounts expect EDI 850 (purchase order), 855 (acknowledgement), 856 (advance ship notice), 810 (invoice). Native Shopify does not speak EDI. You integrate via a middleware (SPS Commerce, TrueCommerce) or a custom EDI app. This is a real cost line for any wholesale operation selling to large retail.
Complex pricing rules beyond volume. Tier-based pricing (gold tier 20 percent, platinum tier 30 percent) is native. Conditional rules ("if the order contains SKU X, apply 5 percent off all other SKUs") needs Shopify Functions or a custom app. The good news: Shopify Functions are a real solution now, not a workaround. The bad news: someone has to write them.
Sales rep order placement on behalf of customers. A rep impersonating a buyer to place an order they will follow up on. The Shopify admin can place draft orders for any company, which works for simple cases. Field rep mobile workflows with offline catalogs, route planning, and quota tracking need custom development or a third-party tool like Pepperi.
Quote-to-cash for high-value enterprise deals. Draft orders cover small-team quoting. Multi-line negotiated quotes with line-item discounts, expiration dates, version history, and signature workflow need either custom development or integration with a CPQ tool.
Per-buyer payment method controls. Net terms are per-Company, not per-User within a Company. If you want one buyer at a Company to have Net 60 and another to be credit-card-only, you are doing it with custom logic.
ERP integration depth. Shopify Plus integrates well with NetSuite, SAP, Microsoft Dynamics via connectors. The depth varies. For wholesale operations where the ERP is the source of truth for inventory, pricing, and customer master data, expect to invest in a real integration layer rather than relying on the connector's defaults.
The B2B feature roadmap moves fast. Shopify ships substantial B2B updates at every Editions event. Validate the current state of any specific feature against shopify.com/editions and Shopify Plus partner documentation before architecting around a gap that may be closed by the time you launch.
Three patterns drive most of our custom B2B engagements on Shopify Plus:
The native gap. We typically build this as a custom Shopify app that intercepts cart submission, holds the order in an approval state with a dedicated portal page, notifies the approver, and submits to Shopify only after approval. The architecture is a Remix or Hydrogen embedded admin app with a database for the approval state, calling Shopify Admin GraphQL for the actual order creation once approved.
When the catalog rules go beyond "this Company sees these products at these prices". Examples we have built: contract-specific product availability that expires on a date, regional inventory routing where a buyer in Region X cannot order SKUs allocated to Region Y, dynamic pricing pulled from an external pricing engine on cart-build.
This is Shopify Functions territory. Functions are WebAssembly-deployed business logic that runs inside Shopify's checkout and cart. For a serious B2B portal, you will likely write at least one Function for discount logic and one for delivery customization.
The native portal handles orders and reordering well. It does not handle: contract document management, multi-step PO upload with line-item parsing, custom dashboards showing the buyer's YTD spend versus committed volume, or any feature specific to your industry's buying flow.
We build these as custom storefront pages on the Shopify Hydrogen or a Next.js headless front-end, authenticated against the Customer Account API, calling Shopify Admin API for the data. We covered the Hydrogen vs Next.js choice for headless storefronts in our Hydrogen vs Next.js post; the same trade-offs apply to a custom B2B portal extension.
Scoping a B2B wholesale project, we score the operation on four axes:
Score 0 to 4: Shopify Plus native B2B handles it. Go with the platform, ship in weeks.
Score 5 to 8: Shopify Plus B2B plus targeted custom development. Most engagements land here. Plan for 1 to 3 custom apps or Functions, a headless or partially-headless front-end if the buyer portal needs more, and a real ERP integration layer.
Score 9 to 12: Evaluate whether Shopify Plus is the right base versus Magento or a composable commerce stack. The "you can build anything on Shopify" answer is true but the engineering cost approaches a custom build, at which point the platform constraints start outweighing the platform benefits.
The middle band is where most mid-market wholesalers land, and it is the band Shopify Plus B2B is genuinely good at in 2026.
For a typical Shopify Plus B2B build at Sentinu, the engagement breaks into:
Weeks 1 to 2: discovery and architecture. Map current wholesale workflows to native B2B features. Identify the gaps. Decide on customization scope. Define the data model for companies, locations, users, catalogs, and price lists. Plan the ERP integration if applicable.
Weeks 3 to 5: platform setup. Configure companies, catalogs, price lists, payment terms, B2B checkout. Set up Shopify Flow for the automation flows. Build the data import pipeline from the legacy system or ERP. Theme work for the buyer-facing portal pages.
Weeks 5 to 8: custom development. Whatever custom apps, Functions, or headless portal extensions the project needs. ERP integration build-out. Testing harnesses.
Weeks 8 to 10: UAT and launch. Sales team and key wholesale customers in a UAT environment. Real data migration. Cutover playbook including the SEO continuity work covered in our Shopify migration SEO checklist for migrations from a previous platform.
Weeks 10 to 16: stabilization. Real orders, real edge cases, real fixes. Most B2B issues surface in the first 6 weeks because the variety of customer configurations is broader than any UAT plan covers.
A focused B2B Shopify Plus build for a mid-market wholesaler with one ERP integration and modest custom work typically runs 10 to 16 weeks at our pace. Bigger operations (multiple ERPs, EDI, multi-region) routinely take 6 months.
Recent engagements illustrate the range:
The pattern: the platform handles most of the work. The interesting engineering is in the integration with the rest of the business (ERP, CPQ, EDI) and in the workflow-specific extensions (approval, custom catalogs, custom portal pages). Neither set is fundamentally hard if scoped correctly.
Yes, in 2026. The native B2B feature set (company accounts, custom catalogs, net terms, B2B checkout) is exclusive to Plus. Standard Shopify can run a basic wholesale operation with apps like Wholesale Pricing Discount or SparkLayer, but the operational complexity is real and the cost of those apps over a few years often exceeds the Plus upgrade cost.
Starting around $2,300 per month for the platform license, more for higher-volume merchants. B2B features are included in the Plus subscription at no additional cost. Plan additional budget for custom development, ERP integration, and any premium apps that remain in the stack.
Yes, and this is the common pattern. One Plus store, two motions. The B2B and D2C checkouts are separate. The product catalog is shared, with custom catalogs filtering what each Company sees. The reporting can be split via custom metafields or via a Shopify Markets configuration if the geographic separation matters.
Shopify Plus is the fastest to ship and the cheapest in total cost of ownership for mid-market wholesalers under $50M annual GMV with relatively standard workflows. Magento (Adobe Commerce) wins on raw customization ceiling and complex catalog logic but has a 3-to-5x higher engineering cost. BigCommerce B2B Edition sits in the middle, strong on quoting, less polished on the buyer portal. We pick Shopify Plus by default for new B2B builds and reserve Magento for cases where the catalog logic genuinely cannot be modeled in Shopify.
Yes. NetSuite, SAP, Microsoft Dynamics, Sage, and Acumatica all have established integration paths via Celigo, Boomi, MuleSoft, or direct connectors. The integration depth varies; expect a real engineering investment if your ERP is the source of truth for pricing or inventory across all channels.
Native Shopify supports B2B reordering and saved orders but not true subscription billing for B2B. For recurring wholesale (replenishment subscriptions, contract-based delivery schedules), you integrate with Recharge or build a custom subscription layer using the Shopify Subscription API.
No. The platform is releasing B2B improvements continuously. If you wait for the perfect feature set, you wait forever. Scope your project against current features, plan for the small number of custom extensions you need, and ship. The next Shopify update may collapse one of your custom extensions into a native feature, which is a future simplification, not a current blocker.
If you are scoping a B2B build on Shopify Plus and the architecture decisions are the part holding you up, that is exactly what our Shopify app development and headless practices are built around. We help you map the operation, identify the genuine gaps, and build the custom extensions that turn native B2B from "mostly working" into "production-ready for your buyers." If the build also involves a migration from an existing wholesale platform, our migration SEO checklist covers the traffic and SEO continuity side.

A senior engineer's comparison of Shopify Hydrogen and Next.js for headless commerce. Architecture trade-offs, rendering strategies, SEO, hosting, and a decision framework based on shipped projects.

June 30, 2026 is a hard wall. Scripts editing is already locked. If your checkout discounts, shipping rules, or payment logic still run on Scripts, here is the migration playbook, the failure modes, and what it costs.

A senior engineer's deep dive into Shopify Functions in 2026. The five extension points, what each one solves, when Functions beat apps, when apps beat Functions, and how Functions fit alongside headless storefronts.