Episode 2

Shopify Plus B2B: Moving Enterprise Wholesale Online in 90 Days

A $30M wholesale brand that ran on phone orders and PDF price lists moved to Shopify B2B in 90 days. Here's the complete playbook — what worked, what nearly killed the project, and what they wish they'd known.

58:45·Guest: Marcus WebbDirector of Ecommerce & Digital Operations, ProfessionalStar Distribution·Host: Ivan P.

Details

  • How ProfessionalStar Distribution ran $30M/year in wholesale orders through phone, email, and PDFs before Shopify B2B.
  • The business case that got C-suite buy-in: $280K in annual labor costs replaced by self-service ordering.
  • Shopify B2B company accounts explained: how they model real-world wholesale relationships — contacts, locations, payment terms, catalogs.
  • Why net-30 and net-60 payment terms on Shopify B2B still require a third-party integration and which ones are production-ready.
  • The custom price list migration: importing 50,000 SKUs with 400 company-specific pricing tiers from a legacy ERP.
  • How to handle minimum order quantities (MOQs), case packs, and pallet pricing inside Shopify B2B without custom apps.
  • The sales rep portal: building an internal tool so reps can place orders on behalf of accounts without sharing admin access.
  • EDI and ERP integration: how they connected Shopify B2B to NetSuite using the Shopify Admin API and a middleware layer.
  • Change management reality: the 12-week internal training program that actually got sales reps to use the new system.
  • Order approval workflows: when buyers need internal sign-off before an order is submitted and how to build that on Shopify.
  • The launch disaster: what broke in week one and the emergency patches that saved the go-live.
  • Metrics six months post-launch: order processing time, error rate, and whether the ROI case held up.
  • What Shopify B2B still can't do natively in 2026 and the apps that fill the gaps.
  • How they plan to expand to 200 international accounts and what Shopify Markets adds to the B2B picture.
  • The decision to stay on Shopify Plus vs. moving to a dedicated B2B platform — and what almost made them switch.

Show Notes

  • 01Shopify B2B company accounts: contacts, locations, payment terms, and catalogs explained
  • 02Net terms on Shopify B2B: Resolve (Pay Later), Mondu, and custom solutions compared
  • 03Bulk price list import via Shopify Admin API: the CSV format and rate limit strategy
  • 04NetSuite → Shopify order sync via webhook: recommended architecture and error handling
  • 05Sales rep impersonation in Shopify: the multipass token approach for rep-placed orders
  • 06Order approval apps for Shopify B2B: Govalo, Order Approval by Buddy Apps, and custom solutions
  • 07EDI integration: how Shopify handles 850, 855, 856, and 810 documents via middleware
  • 08Shopify B2B checkout: what's different from DTC and the fields you need to collect
  • 09Training materials: the three documents that reduced support tickets by 60% in week two
  • 10Six-month ROI review: what to measure to validate the business case for Shopify B2B

Timestamps

0:00Marcus intro: 15 years in wholesale distribution, now digital-first
3:20The business before Shopify B2B: fax machines and PDF price lists in 2024
7:45Building the business case: how to get finance to sign off on Shopify Plus
12:10Shopify B2B company accounts: what they are and how to model your business
17:30The payment terms problem: net-30/60 is not built in the way you expect
22:15Price list migration: 50,000 SKUs, 400 companies, 90 days
27:40MOQs and case pack logic: how they handled it without custom apps
32:05Building the sales rep portal: order-on-behalf workflow
36:55NetSuite integration: architecture, middleware, and failure modes
41:20Change management: getting sales reps to stop using the spreadsheet
46:10Week-one launch disasters: what broke and what the fix was
50:30Six months later: metrics, ROI, and honest regrets
54:45What Shopify B2B still can't do — and what's coming
57:50Closing: the one thing to get right before you go live

Transcript

H

Ivan P.0:00

Marcus, you ran a $30M wholesale business on phone orders and PDFs until two years ago. That seems insane from the outside. What was the internal logic that kept that system alive so long?
G

Marcus Webb3:20

Honestly? The salespeople liked it. Phone orders meant relationship time. The reps were protective of the manual process because it justified their existence. The CFO liked it because we understood it. Changing that required showing in dollars what the inefficiency actually cost — and that number was $280,000 a year in labor just processing orders. That's when people got uncomfortable.
H

Ivan P.12:00

Walk me through what Shopify B2B company accounts actually model. A lot of developers have only worked with DTC — how is the data model different?
G

Marcus Webb12:10

Instead of a customer, you have a company. The company has one or more locations — a shipping warehouse in Texas, a billing address in New York, a secondary warehouse. Each location has one or more contacts who can place orders. Each company gets a price catalog — their specific pricing tier — and payment terms. Net-30, net-60, whatever you've agreed. It maps to how wholesale actually works. The DTC model of 'one customer, one address' just doesn't fit B2B.
H

Ivan P.17:15

You mentioned net-30 and net-60 terms aren't truly native to Shopify B2B. That surprised me. Can you explain what's missing?
G

Marcus Webb17:30

You can set the terms on a company account, and it changes the checkout flow so buyers don't have to pay at order time. But Shopify doesn't manage the credit risk assessment, it doesn't send dunning emails, it doesn't integrate with your AR ledger automatically. You either build that yourself or you use a service like Resolve or Mondu that sits between Shopify and the buyer. We used Resolve and it worked, but it was another vendor to manage.
H

Ivan P.46:00

Tell me about the launch disasters. Something always breaks in week one on a migration of this scale.
G

Marcus Webb46:10

Three things. The price list sync had a race condition — orders placed in the first 20 minutes of go-live showed the wrong price because the ERP sync hadn't completed. We caught it before anyone paid the wrong amount but it was terrifying. Second, the sales rep impersonation flow broke for reps logging in through SSO because of a token scope issue we hadn't tested in prod. Third, about 15 companies had locations set up incorrectly and couldn't see their checkout. We had an all-hands incident room for six hours on launch day.
H

Ivan P.50:20

Six months later — did the ROI case hold up?
G

Marcus Webb50:30

Better than modeled. Order processing labor costs are down 70%, not 60% as we projected. Error rate on orders dropped from 4.2% to 0.3% — that's the one I'm most proud of. Average order value went up 8% because buyers can see their full catalog without waiting for a rep to send a quote. The only number that disappointed was adoption: we expected 85% of accounts online by month three, we're at 71%. Some of the older accounts still prefer the phone.
Let's ship something great

Ready to hire a Shopify expert?

Get matched with a pre-vetted Shopify developer in 48 hours. 30-day guarantee.