Skip to main content

WooCommerce - Data Mapping & Synchronisation

A comprehensive technical guide to the WooCommerce integration with Optiply. Covers synchronisation frequencies, multi-store (SubTenant) setups, API version limits, and detailed field mappings.

Written by Ricardo Guerreiro
Updated over a week ago

πŸ”— WooCommerce: Data Mapping & Synchronisation

This guide details exactly how data flows between your WooCommerce store and Optiply. It outlines synchronisation schedules, custom configuration options, and the specific logic used to handle variable products, stock updates, and order statuses.


⏱️ 1. Synchronisation Overview

The table below outlines how often Optiply pulls data from (or pushes data to) WooCommerce.

Entity

Sync Direction

Frequency

Products & Variants

WooCommerce β†’ Optiply

Hourly

Product Deletions

WooCommerce β†’ Optiply

Daily

Stocks

WooCommerce β†’ Optiply

Hourly (and upon new Sell Orders)

Sell Orders

WooCommerce β†’ Optiply

Hourly

Item Deliveries (Receipts)

Optiply β†’ WooCommerce

Every 15 minutes (If enabled)

Important Sync Rules & API Limitations:

  1. Product Sync & API Versions: WooCommerce API versions below 5.6 do not support modified_at filtering. If your store runs on an API version < 5.6, Optiply must run a full daily sync for products instead of hourly updates. For versions > 5.6, products update every hour.

  2. Product Deletions: Because deleted products or variants are not actively retrieved from WooCommerce, Optiply runs a daily "Full Sync" to check which products are enabled in Optiply but no longer exist in WooCommerce.

⚠️ Best Practice for Removing Products:

If you want to safely delete a product, first change its status to enable = false in WooCommerce. Wait for the sync cycle so the product disappears from Optiply. Once it is gone from Optiply, you can safely delete the product from WooCommerce entirely.


βš™οΈ 2. Integration Options & Features

Optiply offers a few specialised backend configurations for WooCommerce. Note: These options cannot be changed within the Optiply app. Please contact Customer Support if you need to adjust them.

  • SubTenants (Multi-Store Setups)

    If you have a main shop and a secondary WooCommerce shop selling the exact same products, you can link them! We pull Products and Sell Orders from the main shop, and only pull Sell Orders from the secondary shop.

    • Requirement: Products must have the exact same SKUs across both shops for mapping to work.

    • Backend Setting: We disable the product sync on the secondary shop (sync_products: false).

  • Sell Order Status Sync

    By default, Optiply only pulls Completed Sell Orders from WooCommerce. However, you can request that we sync all order statuses to Optiply (pullAllOrders: true).

  • Push Stock on Item Deliveries (Purchase Orders)

    Because WooCommerce has no native purchase orders, receiving stock in Optiply does not automatically adjust your WooCommerce inventory. If you want Optiply to automatically update your WooCommerce stock when you book a delivery, please let us know at support@optiply.nl and we will enable this for you.


πŸ—ΊοΈ 3. Data Mapping Details

Products

Note: Products with the type "variable" are not mapped, as they simply serve as parent products. We only map the underlying variants that hold stock/purchases.

Optiply Field

WooCommerce Field

Logic / Notes

Name

name

SKU Code

sku

Article Code

id

Price

price

Unlimited Stock

Evaluated

IF virtual = false AND downloadable = false AND manage_stock = true β†’ FALSE. Otherwise β†’ TRUE.

Stock Level

stock_quantity

Status

Evaluated

IF status = 'publish' β†’ enabled. Otherwise β†’ disabled.

Sell Orders

Optiply Field

WooCommerce Field

Notes

Total Value

total

Placed Date

date_created_gmt

Completed Date

date_modified_gmt

Remote ID

id

Sell Order Lines

Optiply Field

WooCommerce Field

Logic / Notes

Product ID

line_items.variation_id

If using a SubTenant (secondary shop), we map orders using line_items.sku instead.

Quantity

line_items.quantity

Subtotal Value

line_items.subtotal

Sell Order Limitations:

  • Sell Orders will be deleted in Optiply if the status in WooCommerce changes to: Cancelled, Refunded, or Failed.

  • We do not sync Order Line changes. New lines added, quantity edits, or deleted lines on existing orders in WooCommerce will not update in Optiply.


❓ 4. Frequently Asked Questions (FAQs)

Why am I getting a "403 - Forbidden" error during connection?

Optiply requests use a specific User-Agent (starting with or containing "Optiply"). If your server or security plugin is blocking the connection with a 403 error, you need to whitelist our User-Agent in your WooCommerce/server firewall settings.

Why aren't my supplier details syncing over?

It is not possible to keep track of supplier information natively in WooCommerce. Because this data is not available via their API, we cannot read it. You must manage and link your supplier data directly within Optiply.

If a customer changes their order in WooCommerce, will Optiply catch the update?

No. Optiply does not sync subsequent changes to Sell Order lines. If an order is modified in WooCommerce after the initial sync, those changes will not be reflected in your Optiply purchasing advice.

Did this answer your question?