SAP Business One and WooCommerce integration
SAP Business One runs financial and inventory operations, while WooCommerce handles online sales. Connecting the two keeps your order and customer data in sync between your storefront and your back office without manual entry. Orders placed in WooCommerce flow into SAP Business One as invoices, mapped to the correct customers and GL accounts. Customer details stay aligned so your sales orders reference accurate Business Partner records.
What moves between them
Orders and customers flow from WooCommerce into SAP Business One. When an order is created in WooCommerce, ml-connector reads it through polling or via webhook, maps the customer to a Business Partner in SAP Business One (creating one if needed), and creates an Invoice with line items matched to SAP Business One Items. Customer updates in WooCommerce are synced to Business Partner records in SAP Business One. The sync runs on a schedule you define; WooCommerce can also push new and updated orders via webhook if enabled.
How ml-connector handles it
ml-connector stores the WooCommerce API credentials encrypted and uses HTTP Basic authentication on each call. On the SAP Business One side, it manages the session token lifecycle: it logs in before the 30-minute idle timeout expires, reuses the session across calls, and catches the -5002 session-expired error to trigger a fresh login. Orders are matched by their WooCommerce order ID to prevent duplicates, and a check against SAP Business One's DocNum field ensures no re-posting. Customer records from WooCommerce are mapped to Business Partners, using email or name matching to find existing records or creating new ones with a standardized naming convention. Line items from WooCommerce orders are matched to SAP Business One Items, and if a product does not exist as an Item, the sync can either create a placeholder item or post the amount as a generic revenue line. Because SAP Business One is on-premise and often behind a firewall, polling is the default; webhooks are supported if the customer's admin activates the Webhook Messenger Service.
A real-world example
A small-to-midsize retailer runs SAP Business One on-premise for inventory, GL accounts, and financial reporting, and operates a WooCommerce storefront on their own WordPress hosting. Before integration, the owner spent 30 minutes daily exporting orders from WooCommerce and manually entering them into SAP Business One, mapping each customer to a Business Partner and each product SKU to the matching Item. Month-end reconciliation required chasing differences between WooCommerce order totals and the sales GL account in SAP Business One. With SAP Business One and WooCommerce connected, each order flows automatically into SAP Business One within minutes, customer records stay aligned, and the GL is reconciled daily without manual entry.
What you can do
- Map WooCommerce orders to SAP Business One Invoices with automatic customer and item matching.
- Keep customer records in sync by creating or updating Business Partners based on WooCommerce customer data.
- Match products from WooCommerce orders to SAP Business One Items, with configurable fallback for unmapped SKUs.
- Manage SAP Business One session token lifecycle, detecting and refreshing on the standard 30-minute idle timeout.
- Poll on a configurable schedule or receive push notifications via WooCommerce webhooks when available.
Questions
- How does the integration handle SAP Business One's session token expiry?
- ml-connector tracks the 30-minute inactivity window and logs in before expiry, reusing the session across multiple calls. If a call returns the -5002 session-expired error, it immediately re-authenticates and retries the request. This ensures orders continue to sync without manual intervention.
- How are WooCommerce orders matched to SAP Business One customers?
- ml-connector compares the WooCommerce customer email or name against existing SAP Business One Business Partners. If a match is found, the order uses that partner; if not, a new Business Partner is created with a standardized naming convention. This ensures invoices always reference a valid customer record.
- What happens if a WooCommerce product SKU does not exist as an SAP Business One Item?
- ml-connector can be configured to either create a new Item on-demand or post the order line as a generic revenue entry with the product name and amount. You choose the behavior based on your inventory policies and data governance.
Related integrations
More SAP Business One integrations
Other systems that connect to WooCommerce
Connect SAP Business One and WooCommerce
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started