Setup Order
- Install and activate the plugin on the primary store
- Install and activate the plugin on each child store
- On the primary: go to Multistore Sync → Connected Stores and add each child store using the Add Store wizard
- On each child: go to Multistore Sync → Connection, enter the primary store URL, and click Save & Authorise to complete the OAuth handshake
- On the primary: go to Multistore Sync → General Settings to configure stock buffer, variable product sync, delete sync, and other options
Add Store Wizard
The wizard on the primary walks through four steps:
| Step | Action |
| 1 — Details | Enter the store name and URL of the child site |
| 2 — Auth | Choose OAuth (recommended, requires HTTPS) or Manual API Keys (for HTTP/local environments). For manual, paste the Consumer Key and Consumer Secret generated on the child site via WooCommerce → Settings → Advanced → REST API with Read/Write permissions |
| 3 — Categories | Select which product categories from the primary are synced to this child store |
| 4 — Confirm | Review and save. The store is added with a Pending status until the first connection check completes |
How Sync Works
Stock sync
Stock levels are pushed from the primary to all connected child stores automatically every 5 minutes via Action Scheduler. When stock changes on the primary (sale, manual edit, or order), the update queues immediately and dispatches on the next scheduled run. Children always reflect primary stock minus any configured buffer.
Order sync
Orders placed on a child store are automatically pushed back to the primary store. This keeps inventory accurate on the primary regardless of which storefront the sale came from.
Product matching
SKU is the key used to match products between stores. Products without a SKU will not sync. Ensure all products you intend to sync have a unique SKU set on the primary before running an initial sync.
Initial vs. ongoing sync
- Initial / force sync — creates or updates all product data (title, description, price, attributes, images, variations) on the child, matched by SKU. Run this when first setting up or after product data changes on the primary.
- Ongoing (automatic) — only stock quantities are updated. Product data on the child is not overwritten by routine stock syncs, so local edits (e.g. translated descriptions) are preserved.
Technical Notes
- OAuth requires HTTPS on both the primary and child site. For local or staging environments without SSL, use Manual API Keys instead.
- Action Scheduler must be running on the primary store. If WooCommerce is installed, Action Scheduler is already present. Verify it is processing under WooCommerce → Status → Scheduled Actions.
- REST API must be enabled on child stores. Confirm under WooCommerce → Settings → Advanced → REST API.
- Stuck queue rows — if a server crash or fatal error leaves queue entries in a processing state, use Reset to Pending in General Settings to unblock them.
- Logs — all sync events are written to the Activity Log. Check there first when troubleshooting unexpected behaviour.