Running B2B and DTC from one platform: architecture and tradeoffs
Two channels, two sets of customers, radically different requirements. Here's how to design a single commerce stack that serves both without compromise.
Running both B2B wholesale and DTC from the same commerce platform is one of the most common requests we get — and one of the most frequently architected badly. The two channels have fundamentally different requirements, and most platforms were designed for one or the other.
Here's how to do it properly, with the tradeoffs you'll actually encounter.
Why it's genuinely hard
B2B and DTC differ on almost every dimension:
- Pricing: DTC uses public prices; B2B needs per-account price lists, volume tiers, and negotiated rates
- Checkout: DTC checkout is optimised for individuals paying by card; B2B needs PO numbers, net payment terms, invoice payment
- Catalogue: B2B customers often see different products, different MOQs, or different units of measure
- Account management: B2B needs company accounts with multiple buyers and approval workflows
- Tax: B2B transactions often involve tax-exempt customers or reverse charge VAT
- Order volumes: B2B orders are larger and less frequent; customer service implications are different
Architecture option 1: Shopify Plus with native B2B
Best for: Brands where DTC is primary and B2B is an important but secondary channel. Relatively standard B2B requirements.
Shopify Plus now includes native B2B features: company accounts, per-account price lists, payment terms (net 30/60/90), draft orders, and a dedicated B2B storefront. If your B2B requirements fit within these constraints, this is the fastest and most cost-effective path.
What you can do natively: Per-account price lists, volume pricing, payment terms, tax exemption, company accounts with multiple contacts, separate B2B storefront URL.
What you can't do natively: Complex approval workflows, ERP-driven real-time pricing, highly customised B2B checkout flows, B2B-specific catalogue visibility rules beyond basic.
Architecture option 2: Headless with a flexible commerce engine
Best for: Brands where B2B is equal to or larger than DTC, or where B2B requirements are genuinely complex.
CommerceLayer, Crystallize, or a custom solution give you complete flexibility over pricing logic, catalogue rules, and checkout flows. You build exactly what you need for each channel. The cost is significant engineering investment.
The ERP integration question
For any serious B2B operation, the commerce platform needs to speak to your ERP. Order data flows to ERP for fulfilment; inventory, pricing, and customer data flows back to commerce. Getting this right is where most B2B commerce projects succeed or fail.
Key considerations: Is the integration real-time or batch? Who is the source of truth for pricing — ERP or commerce platform? How are customer account structures mapped between systems? What happens during integration downtime?
Our practical recommendation
Start with Shopify Plus native B2B if your requirements fit. Add custom apps only where you genuinely need them. Invest in a clean ERP integration before you invest in frontend polish — broken data is more damaging than a less polished UI.
If your B2B requirements include complex approval workflows, real-time ERP-driven pricing, or highly customised checkout, plan for a headless build from the start. Don't start on Shopify assuming you'll migrate when you outgrow it — migrations are expensive.
The operational reality
The most common failure mode we see isn't technical — it's operational. Companies underestimate how different B2B customer service is from DTC. B2B buyers expect account managers, not self-service portals. Make sure your team structure supports the channel model you're building, not just the technology.
Want to put this into practice?
We help brands apply exactly this kind of thinking to their actual business.
Contact us