CUSTOM E-COMMERCE INTEGRATIONS

US Shopify Plus brands that have grown into NetSuite, ShipBob, and multi-warehouse operations need custom integration architecture — the native connectors break at the edge cases that matter most

The native Shopify-NetSuite connector handles straightforward product catalogues at moderate SKU counts. When the catalogue includes bundles, kits, subscription SKUs, or products with complex variants, the sync breaks in ways that are not immediately visible. Inventory discrepancies accumulate. The finance team finds the accounting errors at month-end. The fulfilment team finds the stock discrepancies when a backorder surfaces.

This is for you if

Who This Is For

This service is for US Shopify Plus brands that have grown into enterprise systems and are finding that the native integration connectors do not handle the full complexity of their product catalogue, order types, or fulfilment infrastructure.

You use NetSuite or SAP as your ERP and have found inventory discrepancies between NetSuite and Shopify, particularly on bundle products, kits, or subscription SKUs

You use ShipBob, Whiplash, or another 3PL and have found that subscription orders, B2B orders, or DTC orders with special fulfilment requirements are not routing correctly to the right warehouse

You have a Shopify B2B wholesale portal but wholesale orders are not flowing into your CRM (Salesforce or HubSpot), so your sales team cannot see wholesale order history alongside their pipeline

You operate warehouses on both coasts and are routing all orders to the primary warehouse rather than the nearest one, paying more in freight and delivering slower

You are at $5M or more in annual revenue and the cost of incorrect inventory data, missed order routing, or manual reconciliation work is measurable in staff time and fulfilment errors

What's broken

Four Integration Problems Slowing US Shopify Plus Brands

NetSuite-Shopify sync breaking on complex product configurations

The native Shopify-NetSuite connector handles simple product catalogues correctly: single-variant products with a one-to-one relationship between the Shopify SKU and the NetSuite item record. When the catalogue includes bundle products (one Shopify SKU that maps to multiple NetSuite assembly items), kit products, or subscription SKUs with trial periods and different billing frequencies, the connector either ignores those products or creates duplicate records. Inventory counts diverge. The NetSuite inventory record shows a different quantity than the Shopify inventory for the same physical product. Finance reconciliation at month-end requires manual correction. Custom NetSuite-Shopify middleware maps each product type — simple, bundle, kit, subscription — to the correct NetSuite item type and handles the inventory sync logic for each. Bundle products decrement the correct component items in NetSuite, not a phantom assembly item. Subscription SKUs sync correctly regardless of billing frequency.

ShipBob or Whiplash not receiving all Shopify Plus order types correctly

A Shopify Plus store running multiple sales channels simultaneously — Recharge for subscriptions, Shopify B2B for wholesale, and standard checkout for DTC — produces orders with different requirements for the 3PL. A Recharge subscription order needs to ship on a specific date with a specific packaging insert. A Shopify B2B order needs to ship with a packing slip that shows the trade price, not the retail price. A standard DTC order needs to ship with standard packaging. The native ShipBob or Whiplash Shopify integration does not segment order types and apply different fulfilment rules to each; it processes all orders with the same fulfilment logic. A custom integration layer receives all Shopify order types via webhook, identifies the order source (Recharge, B2B, DTC), applies the relevant fulfilment rule set, and posts to the 3PL API with the correct instructions, packaging specifications, and packing slip data.

Shopify B2B wholesale orders not flowing into Salesforce or HubSpot

Shopify Plus B2B wholesale orders are placed by buyers who also exist as contacts or accounts in the brand's CRM. When a wholesale buyer places an order through the Shopify B2B portal, the order is visible in Shopify but not in the CRM. The sales team managing that wholesale relationship cannot see order history in their CRM pipeline. They cannot trigger post-purchase sequences in Salesforce or HubSpot based on order behaviour. The Shopify B2B order and the CRM contact are disconnected. A custom integration maps each Shopify B2B customer account to the corresponding CRM contact or account in Salesforce or HubSpot, and posts each B2B order to the CRM as an associated deal or order record. The sales team sees the full wholesale order history alongside their pipeline, and CRM automations can trigger based on order events.

Multi-warehouse inventory allocation not automated

US brands with warehouses in both the East Coast and West Coast regions frequently route all orders to the primary warehouse regardless of the delivery address. An order shipping to Los Angeles from a New Jersey warehouse travels 2,800 miles and takes five days. The same order from the West Coast warehouse would take two days. The freight cost is higher. The delivery speed is worse. The reason it is not optimised is that the order routing logic has not been built. Custom order routing middleware receives each Shopify order, looks up the delivery address, calculates proximity to each warehouse location, checks inventory availability at each location, and routes the order to the warehouse that minimises freight cost and delivery time. West Coast orders go to the West Coast warehouse. East Coast orders go to the East Coast warehouse. Split-inventory orders have a defined rule for which warehouse ships which item.

What we engineer

Custom E-commerce Integrations We Build for US Shopify Plus Brands

NetSuite-Shopify Custom Middleware

We build a custom middleware integration between Shopify Plus and NetSuite that handles the full product catalogue complexity: simple products, bundles, kits, subscription SKUs, and complex variants. The middleware maps each product type to the correct NetSuite item type, handles component-level inventory decrements for bundles, and reconciles inventory counts bidirectionally. Inventory discrepancies caused by bundle sync failures stop.

3PL Order Routing Integration

We build a custom integration layer between Shopify Plus and your 3PL (ShipBob, Whiplash, or others) that identifies the order type — Recharge subscription, Shopify B2B, standard DTC — and applies the correct fulfilment rule set. Each order type reaches the 3PL with the right instructions, the right packing slip, and the right shipping method selection.

Shopify B2B to CRM Integration

We build a custom integration between your Shopify B2B portal and your CRM (Salesforce or HubSpot) that maps B2B customer accounts to CRM contacts, posts wholesale orders as CRM order records or deals, and keeps order history visible to the sales team within the CRM. B2B order events can trigger CRM automation sequences.

Multi-Warehouse Order Routing

We build a proximity-based order routing middleware that receives Shopify orders, determines the optimal warehouse based on delivery address, inventory availability, and freight cost rules, and routes orders to the correct warehouse via the 3PL or WMS API.

SAP and Recharge Integration Architecture

For brands using SAP as the ERP, we build the equivalent custom middleware for SAP-Shopify sync. For brands using Recharge or Skio, we build the subscriber data integration that keeps subscription status, next order date, and product selection visible in both Shopify and the ERP.

What changes

What Changes After These Integrations Are Built

Before
After
Before The native Shopify-NetSuite connector handles simple product catalogues correctly: single-variant products with a one-to-one relationship between the Shopify SKU and the NetSuite item record. When the catalogue includes bundle products (one Shopify SKU that maps to multiple NetSuite assembly items), kit products, or subscription SKUs with trial periods and different billing frequencies, the connector either ignores those products or creates duplicate records. Inventory counts diverge. The NetSuite inventory record shows a different quantity than the Shopify inventory for the same physical product. Finance reconciliation at month-end requires manual correction. Custom NetSuite-Shopify middleware maps each product type — simple, bundle, kit, subscription — to the correct NetSuite item type and handles the inventory sync logic for each. Bundle products decrement the correct component items in NetSuite, not a phantom assembly item. Subscription SKUs sync correctly regardless of billing frequency.
After NetSuite inventory data becomes trustworthy. When bundles, kits, and subscription SKUs sync correctly, the inventory figure in NetSuite reflects what is actually in the warehouse. Finance closes faster. Purchasing decisions are made on accurate data.
Before A Shopify Plus store running multiple sales channels simultaneously — Recharge for subscriptions, Shopify B2B for wholesale, and standard checkout for DTC — produces orders with different requirements for the 3PL. A Recharge subscription order needs to ship on a specific date with a specific packaging insert. A Shopify B2B order needs to ship with a packing slip that shows the trade price, not the retail price. A standard DTC order needs to ship with standard packaging. The native ShipBob or Whiplash Shopify integration does not segment order types and apply different fulfilment rules to each; it processes all orders with the same fulfilment logic. A custom integration layer receives all Shopify order types via webhook, identifies the order source (Recharge, B2B, DTC), applies the relevant fulfilment rule set, and posts to the 3PL API with the correct instructions, packaging specifications, and packing slip data.
After All order types reach the 3PL with the right instructions. When Recharge subscription orders, B2B wholesale orders, and DTC orders each route with their specific fulfilment rules, the 3PL executes correctly the first time. The exception rate drops. The back-and-forth between your operations team and the 3PL shrinks.
Before Shopify Plus B2B wholesale orders are placed by buyers who also exist as contacts or accounts in the brand's CRM. When a wholesale buyer places an order through the Shopify B2B portal, the order is visible in Shopify but not in the CRM. The sales team managing that wholesale relationship cannot see order history in their CRM pipeline. They cannot trigger post-purchase sequences in Salesforce or HubSpot based on order behaviour. The Shopify B2B order and the CRM contact are disconnected. A custom integration maps each Shopify B2B customer account to the corresponding CRM contact or account in Salesforce or HubSpot, and posts each B2B order to the CRM as an associated deal or order record. The sales team sees the full wholesale order history alongside their pipeline, and CRM automations can trigger based on order events.
After The sales team sees the full wholesale customer picture. When Shopify B2B orders flow into Salesforce or HubSpot alongside the CRM contact record, the account manager knows what a wholesale buyer ordered, when, and at what value. Reorder outreach is based on actual order history rather than memory or manual spreadsheet tracking.
Before US brands with warehouses in both the East Coast and West Coast regions frequently route all orders to the primary warehouse regardless of the delivery address. An order shipping to Los Angeles from a New Jersey warehouse travels 2,800 miles and takes five days. The same order from the West Coast warehouse would take two days. The freight cost is higher. The delivery speed is worse. The reason it is not optimised is that the order routing logic has not been built. Custom order routing middleware receives each Shopify order, looks up the delivery address, calculates proximity to each warehouse location, checks inventory availability at each location, and routes the order to the warehouse that minimises freight cost and delivery time. West Coast orders go to the West Coast warehouse. East Coast orders go to the East Coast warehouse. Split-inventory orders have a defined rule for which warehouse ships which item.
After Freight costs on West Coast orders decrease. When a West Coast order ships from the West Coast warehouse instead of the East Coast, the freight cost drops and the delivery time improves. At significant order volume, the freight savings on this routing optimisation alone justify the integration investment.
How it works

How We Build Custom Integrations

  1. 01

    Integration Audit

    Week 1

    We review your Shopify Plus configuration, your NetSuite or SAP item types and chart of accounts, your 3PL's API capabilities and existing Shopify integration, and your CRM's data model. We document where the current integrations are failing, which product types or order types are not syncing correctly, and what data is missing or mapping incorrectly.

  2. 02

    Integration Specification

    Weeks 1-2

    We write a one-page specification per integration covering the data flow, the field mapping, the order routing logic, and the error handling approach. For NetSuite integrations, the specification includes a mapping table of Shopify product types to NetSuite item types. For CRM integrations, the specification covers the Shopify B2B customer-to-CRM-account mapping and the order record structure. You review and approve before development begins.

  3. 03

    Development

    Weeks 2-6

    We build in a Shopify development environment connected to NetSuite sandbox, 3PL staging, and CRM sandbox environments. For multi-warehouse routing, we build and test the routing logic against historical order data before connecting to the live 3PL API.

  4. 04

    Testing and Handover

    Weeks 6-8

    We run end-to-end tests for each integration type: a bundle product order through NetSuite sync, a Recharge subscription order through the 3PL routing integration, a B2B order through to CRM record creation, and a West Coast order through the proximity-based routing logic. We provide documentation covering the integration architecture, the maintenance requirements, and the process for handling edge cases.

  5. 05

    Post-Launch Support

    We monitor each integration for the first 30 days post-launch and address production edge cases. For NetSuite and SAP integrations, we offer ongoing retained support given the frequency with which ERP configurations change as the business scales.

Common questions

Frequently Asked Questions

How do I integrate Shopify Plus with NetSuite for US DTC brands with complex product configurations?

The native Shopify-NetSuite connector uses a flat item mapping that works for simple one-to-one SKU relationships but fails when the Shopify catalogue includes bundle products that map to multiple NetSuite assembly or component items, kit products, or subscription SKUs with variable billing frequencies. A custom middleware integration uses the NetSuite SuiteScript or REST API to create and update NetSuite records at the correct item type level for each product configuration: inventory items for simple SKUs, assembly items for bundles, and subscription billing items for recurring products. The middleware also handles the reverse flow: inventory quantity updates from NetSuite posting back to Shopify so the storefront always reflects the accurate available quantity from the warehouse management layer.

How do I route Shopify Plus subscription orders, B2B orders, and DTC orders correctly to ShipBob?

ShipBob's API accepts order creation requests with fulfilment instructions, but it does not inherently distinguish between a Recharge subscription order, a Shopify B2B order, and a standard DTC order unless the integration layer segments them before posting. A custom integration middleware receives all Shopify order webhooks, identifies the order source using the order tags, sales channel, or app ID, and applies a fulfilment rule set per order type before posting to the ShipBob API. Recharge subscription orders include the specific line item note or packing insert instruction. B2B orders include the wholesale packing slip flag and the trade customer reference. DTC orders use the standard fulfilment parameters. Each order type reaches ShipBob with the instructions the 3PL team needs to fulfil it correctly.

How do I connect Shopify B2B wholesale orders to Salesforce or HubSpot CRM?

Salesforce and HubSpot both have REST APIs that support account, contact, and deal or order record creation. A custom integration maps each Shopify B2B company account to a Salesforce Account or HubSpot Company record using a unique identifier — typically the company email domain or a custom external ID field. When a B2B order is placed in Shopify, the integration posts the order to Salesforce as an Opportunity or Order record associated with the matching Account, or to HubSpot as a Deal associated with the matching Company. The sales team sees the wholesale order history in the CRM timeline without switching to Shopify. CRM workflows can trigger based on order events — for example, a reorder reminder sequence that fires 45 days after a B2B order is marked as delivered.

How do I build proximity-based order routing for multi-warehouse US Shopify fulfilment?

Proximity-based order routing requires three data inputs: the delivery address from the Shopify order, the inventory availability at each warehouse location, and a freight cost or delivery time rule per origin-destination pair. A custom routing middleware receives the Shopify order webhook, geocodes the delivery address, checks inventory availability at each warehouse via the 3PL or WMS API, and applies the routing rule — typically: route to the nearest warehouse that has all items in stock, with a fallback rule for split-inventory scenarios. The middleware then posts the order to the 3PL API specifying the selected warehouse. The routing decision and the warehouse selection are logged against the Shopify order for audit purposes. At meaningful order volume, the freight savings from routing West Coast orders to a West Coast warehouse versus a primary East Coast warehouse typically recover the integration cost within the first quarter.

What is the best middleware for a Shopify Plus + NetSuite + ShipBob integration for a US DTC brand at $10M+ revenue?

At $10M or more in annual revenue with a complex product catalogue, the most reliable middleware approach is a custom integration layer built specifically for the brand's NetSuite item types, Shopify product structure, and ShipBob fulfilment rules rather than a pre-built connector product. Pre-built connectors (Celigo, Boomi, or similar) handle standard configurations efficiently but require significant configuration work for bundle products, kits, and subscription SKUs, and that configuration is difficult to maintain as the product catalogue changes. A custom middleware built in Node.js or Python, hosted on a managed cloud environment, and maintained by the integration team gives the brand full control over the field mapping, the error handling, and the logging. When a NetSuite configuration changes or a new product type is introduced, the middleware is updated by the team that built it rather than by navigating a third-party connector's configuration interface.

Our team

The people behind the work

Not a black box. Real specialists you can call, with their names on the work.

Niraj Raut

Niraj Raut

Founder — Ecommerce SEO
Keshab Joshi

Keshab Joshi

PPC Expert
Hawrry Bhattarai

Hawrry Bhattarai

Google Ads Expert
Arogya Rijal

Arogya Rijal

SaaS SEO Expert
Start here

Get an Integrations Brief for Your US Shopify Plus Brand

If your NetSuite sync is producing inventory discrepancies, your 3PL is not receiving all order types with the right fulfilment instructions, or your B2B wholesale orders are not visible in your CRM, the problem is in the integration architecture between your systems. We will review your Shopify Plus setup, your ERP configuration, and your 3PL integration, identify where the data flows are breaking, and give you a plain-language brief covering what needs to be built, how long it will take, and what it will cost.