B2B Wholesale Portal with Company-Specific Pricing
A 70-year-old UK manufacturing business needed to migrate their wholesale operation from a legacy B2B portal onto Shopify Plus — without disrupting 200+ active trade accounts or their existing NetSuite ERP.
The problem
The client's B2B business was running through a 15-year-old bespoke portal. Each company account had unique pricing tiers, minimum order quantities, and payment terms. Sales reps managed orders manually via spreadsheets. The ERP (NetSuite) was the source of truth — but nothing was connected. Orders were re-keyed twice. Errors were constant.
Technical challenge
Shopify's native B2B features (company accounts, catalogs, payment terms) had only been available for 18 months when this project started. Documentation was sparse and several edge cases around catalog inheritance and volume pricing required direct API experimentation. The NetSuite integration needed to be bidirectional — syncing orders out and inventory/pricing back in near-real-time.
Architecture
Native B2B foundation
Used Shopify's native B2B APIs to create company accounts, contacts, and payment terms. Each of the 200+ accounts was migrated with their specific catalog and pricing rules via the GraphQL Admin API in a controlled batch process.
Catalog per account
Each company was assigned a dedicated price list via the Catalog API. Volume pricing tiers were mapped to price list quantities. This eliminated the need for any third-party B2B app.
NetSuite connector
Built a Node.js connector that syncs in both directions — orders pushed from Shopify to NetSuite via REST, and inventory + pricing updates pulled from NetSuite via webhook triggers on a 15-minute schedule during business hours.
Purchase order workflow
Extended checkout with a Shopify UI Extension for PO number capture. PO numbers are stored as order attributes and flow through to NetSuite automatically.
Results
The new portal went live with all 200+ accounts active on day one. Order processing time dropped 40% in the first month — primarily from eliminating manual re-keying. The client used the increased capacity to open wholesale to 40 new accounts they previously couldn't support operationally. Wholesale revenue grew 3× in year one.
Have a project
like this?
Tell me what you're building. I'll tell you exactly how I'd approach it.