Once a WooCommerce store passes a few hundred orders a day, the ERP becomes the source of truth for stock, pricing, customers and fulfilment, and the store becomes one of several sales channels feeding it. At that point the integration between the two is no longer a nice-to-have. It is the part of your stack most likely to cause oversold stock, missing orders and finance teams reconciling spreadsheets at month end.
This guide covers the three ways to connect WooCommerce to an ERP, what data should flow in which direction, and the failure modes we see most often when we are called in to fix an integration someone else built.
Three Integration Approaches
1. Off-the-shelf connector
Plugins and SaaS connectors exist for most mainstream ERPs: NetSuite, SAP Business One, Microsoft Dynamics 365 Business Central, Odoo, Sage and Zoho Inventory among others. They map standard objects (products, orders, customers, stock levels) and run on a schedule.
Best for: standard catalogues, one warehouse, simple pricing. Watch out for: per-order or per-sync pricing that climbs with volume, limited control over retry logic, and custom fields that the connector simply cannot see.
2. Middleware / iPaaS
Tools such as Celigo, Make, Workato, Boomi or a self-hosted queue sit between WooCommerce and the ERP. They transform data, queue it, retry failures and log every transaction.
Best for: multiple channels feeding one ERP (WooCommerce plus marketplaces plus a B2B portal), or teams that want non-developers to adjust mappings. Watch out for: another subscription, and flows that nobody on your team fully understands after the implementer leaves.
3. Custom integration
A purpose-built WooCommerce plugin or service that talks directly to the ERP API, using WooCommerce webhooks and Action Scheduler for queued background jobs.
Best for: customer-specific pricing, B2B account hierarchies, multi-warehouse allocation, bundles or configurable products, or any ERP with a non-standard API. Watch out for: it needs to be built to production standards, with idempotency, retries and monitoring, or it becomes the most fragile part of your business.
| Connector | Middleware | Custom | |
|---|---|---|---|
| Upfront cost | Low | Medium | Higher |
| Running cost at volume | Can climb | Subscription | Hosting and maintenance |
| Custom pricing and B2B logic | Limited | Good | Full control |
| Time to go live | Days to weeks | Weeks | Weeks to a few months |
What Should Sync, and in Which Direction
- Products and pricing: ERP to WooCommerce. The ERP owns SKUs, cost, list price and customer-specific price lists. WooCommerce owns the marketing content: descriptions, images and SEO fields. Never let both systems edit the same field.
- Stock: ERP to WooCommerce, frequently. Event-driven where the ERP supports it, otherwise every few minutes for fast-moving SKUs. Hold a safety buffer on low-stock items.
- Orders: WooCommerce to ERP, immediately. Push on payment confirmation via a queued job, not inside the checkout request. The customer should never wait on your ERP.
- Fulfilment and tracking: ERP to WooCommerce. Shipment status and tracking numbers flow back so order emails and the customer account stay accurate.
- Customers: both directions, carefully. New web customers go to the ERP; B2B accounts, credit limits and payment terms come from it.
Rule of thumb: every field should have exactly one system of record. Most integration bugs we are asked to fix come from two systems both believing they own the price, the stock figure or the customer address.
The Failure Modes That Cost Money
- Synchronous calls in checkout. If the ERP is slow or down, checkout hangs. Queue the order and let a background worker deliver it.
- No idempotency. A retry after a timeout creates a duplicate sales order. Every push needs a unique reference the ERP can deduplicate on.
- Silent failures. An order that fails to sync must alert someone. We add a dashboard and daily reconciliation report comparing order counts and totals between systems.
- Full catalogue syncs during trading hours. Re-importing 20,000 products at noon hammers the database. Sync deltas, and schedule full rebuilds overnight.
- Ignoring API rate limits. NetSuite, Dynamics and most cloud ERPs throttle requests. Batch where the API allows it and back off gracefully.
- Tax and rounding mismatches. WooCommerce and your ERP may calculate tax per line or per order differently. Agree which system is authoritative before launch, not after the first audit.
Performance Considerations on the WooCommerce Side
An integration that writes thousands of stock updates an hour will expose any weakness in your WooCommerce setup. Enable High-Performance Order Storage (HPOS) so orders live in dedicated tables, use persistent object caching, and make sure stock updates do not purge your entire page cache each time. Our WooCommerce performance work usually runs alongside an integration project for exactly this reason.
How Long It Takes and What It Costs
A connector setup on a clean catalogue can go live in a couple of weeks. A custom integration covering products, price lists, stock, orders and fulfilment for a mid-size catalogue typically takes six to twelve weeks including testing against a sandbox ERP. As part of an enterprise WooCommerce build, our full custom builds start from around $40,000 including up to three integrations; standalone integration projects are scoped after a short discovery.
Checklist Before You Start
- A field-by-field map naming the system of record for each field
- Sandbox or test company access in the ERP
- Agreed sync frequency per data type
- A plan for historic orders and customers (migrate, or start fresh)
- Named owner on your side who gets the failure alerts
- Load test with realistic order volumes, including a sale-day spike
If you are planning an ERP rollout or replacing a connector that keeps breaking, talk to us. We will tell you whether an off-the-shelf connector is enough before recommending anything custom.
FAQ
Can WooCommerce integrate with NetSuite, SAP or Dynamics?
Yes. WooCommerce has a full REST API and webhooks, and all major ERPs expose APIs. You can connect them with an off-the-shelf connector, a middleware platform such as Celigo or Workato, or a custom integration built as a WooCommerce plugin or external service. The right choice depends on how custom your pricing, catalogue and B2B logic are.
How often should stock sync between WooCommerce and an ERP?
As close to real time as the ERP allows. Event-driven updates are ideal; otherwise sync fast-moving SKUs every few minutes and slower lines less often. Keep a safety buffer on low-stock items so the store does not oversell between syncs.
Should orders be sent to the ERP during checkout?
No. Orders should be queued and sent by a background job after payment is confirmed. Calling the ERP inside the checkout request means any ERP slowness or outage directly blocks customers from paying.
How much does a WooCommerce ERP integration cost?
Connector-based setups can cost a few thousand dollars plus a subscription. Custom integrations covering products, pricing, stock, orders and fulfilment are larger projects, usually six to twelve weeks. Kyne's enterprise WooCommerce builds start from around $40,000 including up to three integrations.