SYSPRO and WooCommerce integration
SYSPRO runs your manufacturing and distribution backend. WooCommerce runs your e-commerce storefront. Connecting the two keeps orders flowing from the web into your ERP, inventory levels accurate across both systems, and product prices in sync. When a customer places an order on WooCommerce, it flows into SYSPRO as an invoice and an inventory deduction. When you update prices or stock in SYSPRO, the changes push back to WooCommerce without manual intervention.
What moves between them
Orders and customer records flow from WooCommerce into SYSPRO once per hour or on webhook trigger. Each WooCommerce order maps to an SYSPRO sales order and invoice, with order line items matched to SYSPRO stock master records and customer master records. Inventory deductions occur in SYSPRO at invoice posting. Price and stock level updates flow from SYSPRO back to WooCommerce on a configurable schedule (typically twice daily), keeping the storefront aligned with warehouse inventory. Payment and refund records are logged but not auto-reversed in SYSPRO without manual review.
How ml-connector handles it
ml-connector stores both credential sets encrypted: the SYSPRO session token and the WooCommerce API Key. For SYSPRO, it logs in once per session and caches the UserId GUID until timeout, reusing it across order lookups and invoice posts. For WooCommerce, it presents the Consumer Key and Secret as HTTP Basic Auth on every REST call. The integration subscribes to WooCommerce webhooks for order.created and order.updated so new orders arrive immediately rather than waiting for the next poll window. When a webhook arrives, ml-connector validates the HMAC-SHA256 signature using the registered webhook secret. Order mapping requires WooCommerce product SKUs to match SYSPRO inventory item codes exactly; mismatches are logged and require manual resolution. Pricing updates from SYSPRO use the base unit cost and apply a configurable margin to set WooCommerce list prices. Stock level syncs treat SYSPRO warehouse quantities as the source of truth and may reduce WooCommerce stock to zero if SYSPRO shows zero on-hand. ml-connector tracks every order posting attempt and retries failed GL postings up to 5 times with exponential backoff.
A real-world example
A mid-sized manufacturing company sells industrial components through a self-hosted WooCommerce store and fulfills orders through SYSPRO. The sales team previously exported orders from WooCommerce each morning, manually re-entered line items into SYSPRO, and reconciled inventory by hand once per week. When a customer changed an order quantity on WooCommerce, the spreadsheet became stale and invoices did not match shipments. With SYSPRO and WooCommerce connected, orders post to AR automatically on webhook arrival, inventory deducts in real time as invoices are issued, and price changes made by the ERP finance team appear on the website within minutes. Month-end reconciliation is now a data audit rather than a manual lookup process.
What you can do
- Map WooCommerce orders to SYSPRO sales orders and invoices with automatic line item matching on SKU and customer master records.
- Deduct inventory from SYSPRO warehouse on invoice posting so stock levels reflect fulfilled orders.
- Push product prices from SYSPRO to WooCommerce with a configurable markup, keeping the storefront price-aligned with cost.
- Sync stock quantities from SYSPRO warehouses to WooCommerce product pages on a scheduled cadence, showing accurate availability to customers.
- Validate WooCommerce orders against SYSPRO inventory before confirming, with full audit trail and failed-order replay capability.
Questions
- How do orders move from WooCommerce to SYSPRO?
- WooCommerce sends order.created and order.updated webhooks to ml-connector in real time. ml-connector receives each webhook, validates the signature, maps the order lines to SYSPRO inventory item codes via SKU match, looks up or creates the customer in SYSPRO, and posts an AR invoice. If SKU mapping fails, the order is logged for manual review and can be replayed once the mapping is corrected.
- What happens to inventory when an order is invoiced in SYSPRO?
- ml-connector deducts the invoice line quantities from the SYSPRO warehouse on-hand balance in real time. If inventory is insufficient, the order posting fails, the order is marked for review, and the SYSPRO inventory remains unchanged. A recount or stock receipt must occur before the order can be retried.
- How are product prices kept in sync?
- ml-connector polls SYSPRO inventory masters for unit costs twice daily and applies a configured markup (e.g., cost 1.35 for a 35% margin) to set the WooCommerce regular price. Promotions or dynamic pricing in WooCommerce are not overwritten. If a price change fails to reach WooCommerce (API error, network timeout), ml-connector logs the failure and retries on the next sync cycle.
Related integrations
More SYSPRO integrations
Other systems that connect to WooCommerce
Connect SYSPRO and WooCommerce
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started