k-sync
Back to blog

Connecting your erp to Shopify after migrating from WooCommerce (2026)

How to integrate your ERP (NetSuite, SAP, Odoo, Sage, QuickBooks) with Shopify after migrating from WooCommerce — middleware options, API architecture, inventory sync, order routing, and common integration patterns.

·By k-sync
4 min read · 882 words

Mid-market and enterprise WooCommerce stores connected to an ERP (NetSuite, SAP, Odoo, Sage, QuickBooks) need to rebuild that integration after migrating to Shopify. The integration architecture changes because Shopify's API is different from WooCommerce's, but the underlying patterns — inventory sync, order routing, customer sync — remain the same. Here's how to approach the ERP integration after migration.

Common WooCommerce ERP integration patterns

Before migration, document how your WooCommerce ERP integration worked:

Shopify ERP integration options by ERP

NetSuite

SAP (S/4HANA or SAP Business One)

Odoo

Sage (X3, 200, 50)

QuickBooks (Online or Desktop)

Integration architecture: source of truth mapping

Before building the integration, define the source of truth for each data type:

Data typeTypical source of truthSync direction
Products (master data)ERP or PIMERP → Shopify
PricingERPERP → Shopify
Inventory levelsERP / WarehouseERP → Shopify (real-time or scheduled)
OrdersShopify (origin)Shopify → ERP
Order fulfillment statusERP / WMSERP → Shopify
CustomersDepends — often ERP for B2B, Shopify for B2CBidirectional
Invoice/accountingERPShopify orders → ERP invoices
Returns/refundsShopify (initiated)Shopify → ERP

Key Shopify API endpoints for ERP integration

Inventory sync

// Get inventory levels for a location
GET /admin/api/2024-01/inventory_levels.json?location_ids=LOCATION_ID

// Set inventory level
POST /admin/api/2024-01/inventory_levels/set.json
{
  "location_id": 1234,
  "inventory_item_id": 5678,
  "available": 50
}

Order sync

// Get new orders since last sync
GET /admin/api/2024-01/orders.json?status=any&updated_at_min=2024-01-01T00:00:00Z

// Update order fulfillment status
POST /admin/api/2024-01/orders/{order_id}/fulfillments.json
{
  "fulfillment": {
    "tracking_number": "1Z999AA10123456784",
    "tracking_company": "UPS"
  }
}

Product/pricing sync

// Update variant price
PUT /admin/api/2024-01/variants/{variant_id}.json
{
  "variant": {
    "price": "29.99",
    "compare_at_price": "39.99"
  }
}

Shopify webhooks for real-time ERP sync

Use webhooks for real-time event processing rather than polling:

Migration transition: dual-running ERP connections

During the migration window when both WooCommerce and Shopify may be processing orders:

  1. Maintain WooCommerce → ERP integration until WooCommerce is retired
  2. Build and test Shopify → ERP integration in staging/parallel
  3. Set a cutover date: on that date, disable WooCommerce integration, enable Shopify integration
  4. Manually handle any orders that bridge the cutover (last WooCommerce orders + first Shopify orders)

ERP integration migration checklist

ERP integration is often the most critical technical dependency in mid-market WooCommerce migrations — get it wrong and orders get lost, inventory goes out of sync, and fulfillment breaks down. It's worth dedicating a parallel workstream to ERP integration alongside the standard product migration. Use k-sync for the product/catalog migration and build the ERP integration separately with the appropriate time allocation.

Migrate your store with k-sync

Connect your WooCommerce store, validate your products, and push to Shopify in minutes. Free for up to 50 products.

Get started free

Related reading

Browse all migration guides