Once your WooCommerce store is connected, Qoblex keeps your products and stock levels in step with WooCommerce, in whichever direction you chose on the integration settings page. This is the day-to-day sync that runs after the initial product import: a product edited in WooCommerce can flow back into Qoblex, and a product, price, or stock change in Qoblex can be pushed out to WooCommerce, all according to your sync directions and the field checkboxes you ticked. This article explains what triggers the sync, which direction each setting drives, exactly which fields map to which WooCommerce fields, how Qoblex matches an incoming WooCommerce product to one you already have, and what you will see when it works. After reading it you will understand why a given field did or did not update, why stock in WooCommerce is replaced rather than added to, and why deleting a product in WooCommerce does not delete it in Qoblex.
What triggers the sync
The sync runs in two directions, each with its own trigger. – WooCommerce to Qoblex (inbound). When a product is created, updated, restored, or deleted in your WooCommerce store, WooCommerce notifies Qoblex through a webhook. Create, update, and restore are handled the same way: Qoblex fetches the current product from WooCommerce and updates (or creates) the matching Qoblex product. Delete unlinks it (see Deleting a product in WooCommerce). Webhooks for individual variations are ignored; Qoblex always processes the parent product. – Qoblex to WooCommerce (outbound). When you create or change a product, price, or stock level in Qoblex, Qoblex converts the change to WooCommerce’s format and pushes it to your store, subject to your sync directions and field selections. There is no separate schedule to configure for live changes: the inbound side reacts as soon as WooCommerce sends the webhook, and the outbound side reacts to changes you make in Qoblex.
Gating: when Qoblex listens for inbound product changes at all
This is the most common reason a WooCommerce product edit does not appear in Qoblex, so it is worth stating plainly. When your store is connected, Qoblex registers WooCommerce webhooks. Order webhooks (created, updated, deleted, restored) are always registered. Product webhooks (created, updated, deleted, restored) are only registered when at least one of your sync settings makes WooCommerce a possible source, that is when Inventory, Pricing, or Product information sync is set to a WooCommerce-sourced or both-ways direction. If none of them is, Qoblex does not register the product webhooks and product changes made in WooCommerce will not flow back.
Inventory levels synchronization (setting 1)
The first settings block, Inventory levels Synchronization, controls stock quantities. The question is How would you like us to sync your inventory levels (quantity adjustments, stock transfers, purchases…)? and the dropdown offers two choices: – Do not sync — no stock quantities move in either direction. – Sync from Qoblex to WooCommerce — Qoblex is the source of truth for on-hand quantities. Adjustments, stock transfers, and purchases in Qoblex update the WooCommerce quantity. When you pick Sync from Qoblex to WooCommerce, a second control appears: Which warehouse inventory levels are reflected in your WooCommerce store? Select one or more Qoblex locations. Qoblex adds up the available quantity across the locations you select and writes that single total to WooCommerce. You must select at least one location: if inventory sync is set to Sync from Qoblex to WooCommerce and no location is chosen, the settings page will not save and asks you to select at least one location to sync inventory levels to WooCommerce.
Sale order synchronization (setting 2)
The second block, Sale Order Synchronization, governs how WooCommerce orders arrive in Qoblex and is covered in the order-sync article. It does not move product or stock data outbound, so it is out of scope here.
Product synchronization (setting 3)
The third block, Product Synchronization, drives product-level data. Two dropdowns sit at the top. How would you like Qoblex to identify and match similar products across different stores? sets the matching strategy used when an incoming WooCommerce product is not already linked (see How Qoblex matches an incoming WooCommerce product): – Match products by name – Match products by SKU – Match products by barcode How would you like us to sync your products information? sets the direction for product data: – Do not sync — no product data flows in either direction. – Sync from Qoblex to WooCommerce — Qoblex is the source. – Sync from WooCommerce to Qoblex — WooCommerce is the source. – Sync both ways. What each direction does: – Sync from WooCommerce to Qoblex or Sync both ways: an incoming WooCommerce product create/update is applied to the matching Qoblex product, updating product information (field by field, gated by the checkboxes below), variants, mappings, and, when the Images checkbox is ticked, images. When the direction is Sync from WooCommerce to Qoblex specifically, WooCommerce also wins the image set outright, so images that no longer exist in WooCommerce are removed from Qoblex. – Sync from Qoblex to WooCommerce or Sync both ways: product changes in Qoblex are converted and pushed to WooCommerce. Under Do not sync or Sync from WooCommerce to Qoblex, Qoblex does not push product information out and will not create, update, publish, or delete a product on that store. – Do not sync: an incoming WooCommerce product that has no local match is not created in Qoblex, and Qoblex records a note that the product sync is off.
Push new products
When product information sync includes the Qoblex-to-WooCommerce direction (Sync from Qoblex to WooCommerce or Sync both ways), one extra toggle appears: Would you like to automatically sync new products created in Qoblex to WooCommerce? When on, a product you create in Qoblex is created in your WooCommerce store. When off, Qoblex does not auto-create the product in WooCommerce and records a note that new products are not pushed (a manual publish can still force creation). It is on by default.
Which product fields sync (the field checkboxes)
Under Which product properties and attributes would you like to sync? you tick the fields to include. These checkboxes appear only when product information sync is not Do not sync. Each checkbox gates its field on both the inbound and outbound legs: untick a field and it stops updating in both directions. The available checkboxes are: – Name / Title – Inventory Tracking Policy – Options and their values (ex. color, size…) – Description – Product Handle (url) – Images – Product Tags – Continue selling when sold out Two behaviours are worth knowing: – When Qoblex creates a brand-new product in WooCommerce, it sends the core fields (name, slug, description, tags) regardless of the individual checkboxes, because a new WooCommerce product needs them. The checkboxes take effect on later updates. – The barcode (WooCommerce GTIN/UPC/EAN/ISBN field) is only sent when the Qoblex variant actually has a barcode value, so an empty barcode will not blank out what is in WooCommerce.
Pricing synchronization (setting 4)
The fourth block, Pricing Synchronization, controls prices independently of product information. How would you like us to sync your product prices? offers: – Do not sync – Sync from Qoblex to WooCommerce — Qoblex prices are pushed to WooCommerce. – Sync from WooCommerce to Qoblex — incoming WooCommerce prices update your Qoblex price lists. Two more controls choose which price lists feed WooCommerce: Which price list would you like to assign to your product prices on your store? and Which price list would you like to assign to your product Compare At prices on your store? The regular WooCommerce price comes from your selected price list; the compare-at (sale) price comes from your compare-at list. The two lists must be different, and a non-reserved price list must use the same currency as the store. How the two WooCommerce price fields are filled: if your compare-at value is greater than zero, Qoblex sends the higher compare-at value as the WooCommerce regular price and the lower value as the WooCommerce sale price (so the discount displays correctly). If there is no compare-at value, Qoblex sends only the regular price and leaves the sale price empty.
How Qoblex matches an incoming WooCommerce product
When a WooCommerce product arrives, Qoblex decides whether it belongs to a product you already have. It always tries the existing link first, then falls back to your chosen matching strategy. 1. By existing link. If the WooCommerce product is already mapped to a Qoblex product, that product is updated. This link is created the first time the two are joined and is the reliable path. 2. By your matching strategy: – Match products by name: Qoblex looks for a Qoblex product whose name matches (trimmed of surrounding spaces). If that product is already linked to a different WooCommerce product, it is skipped rather than double-linked. – Match products by SKU: Qoblex matches on variant SKU. If the incoming product has no SKUs, or a matching product is already linked to another WooCommerce product, Qoblex records a warning and does not sync it. – Match products by barcode: same logic as SKU, matched on barcode. 3. No match: if nothing matches and product sync allows it, Qoblex creates a new product from the WooCommerce data. If product information sync is Do not sync, it is not created and Qoblex records that the sync is off.
Deleting a product in WooCommerce
When you delete a product in WooCommerce, Qoblex unlinks it. It removes the link (mapping) between the WooCommerce product and your Qoblex product, and the same for the variants, then records a note that the product was removed from that store.
Field mapping: product
The table below is the product-level mapping applied when a WooCommerce product is read into Qoblex and when a Qoblex product is pushed out. A “simple” WooCommerce product carries some fields (stock, backorders, weight, barcode) directly on the product; a “variable” product delegates those to its variations. | Qoblex field | WooCommerce field | Notes / transform | | — | — | — | | Name | Name | Pushed when Name / Title is ticked, and always for a brand-new WooCommerce product. | | Description | Description | Pushed when Description is ticked, and always for a new product. | | Product Handle (url) | Slug | Pushed when Product Handle (url) is ticked, and always for a new product. | | Categories / tags | Tags | Pushed when Product Tags is ticked, and always for a new product. On the way in, WooCommerce tags become the Qoblex product’s categories. | | Has variants | Type | A Qoblex product with variants is pushed as variable, otherwise simple. On the way in, only simple and variable are accepted. | | Archived status | Status (draft) | An archived Qoblex product is pushed with status draft; a WooCommerce product with status draft comes in as archived in Qoblex. | | Images (attachments) | Product images | Synced only when Images is ticked and product information sync is not Do not sync. See the images mapping below. |
Field mapping: variant
Variant-level fields map as follows. On a simple product these values live on the product itself; on a variable product they live on each variation. | SKU | SKU | Mapped in both directions. On the way in it also seeds the supplier SKU. | | Barcode | GTIN, UPC, EAN, or ISBN | Pushed only when the Qoblex variant has a barcode value (an empty barcode is not sent). Mapped in both directions. | | Tracked / Untracked | Manage stock | Pushed only when Inventory Tracking Policy is ticked: a tracked variant maps to managed stock (true), an untracked variant to unmanaged (false). On the way in, managed stock is stored as tracked, unmanaged as untracked. A variable product itself is set to unmanaged, because stock is managed on its variations. | | Allow overselling | Backorders | Pushed only when Continue selling when sold out is ticked: allow overselling maps to yes, otherwise no. On the way in, yes maps to allow overselling. | | Weight | Weight | Mapped in both directions. A zero weight is not sent. | | Weight unit | (store unit) | On the way in, the variant’s weight unit is taken from the store’s configured weight unit. | | Option values | Variation attributes | Pushed only when Options and their values is ticked. Each variant’s option values are matched to the product’s attributes by position; the count of a variant’s option values must equal the number of variation attributes or the product is not synced. | | Position | Menu order | Mapped in both directions. | | Regular price | Regular price | Only when pricing sync is Sync from Qoblex to WooCommerce; taken from your selected price list. See the pricing mapping below. | | Compare-at price | Sale price | From your compare-at price list; see the pricing mapping below. |
Field mapping: pricing
Prices are pushed only when Pricing Synchronization is set to Sync from Qoblex to WooCommerce. WooCommerce stores a regular price and an optional sale price; Qoblex fills them from your two chosen price lists. | Qoblex source | WooCommerce field | Notes / transform | | Selected price list value | Regular price | When there is no compare-at value, the selected price-list value is sent as the regular price and no sale price is sent. | | Compare-at price list value | Sale price | When the compare-at value is greater than zero, the compare-at value becomes the WooCommerce regular price and the selected price-list value becomes the WooCommerce sale price, so the sale shows the correct discount. | On the way in (Sync from WooCommerce to Qoblex), Qoblex reads WooCommerce’s regular and sale prices: the effective price is written to your selected price list and the higher (struck-through) price to your compare-at list. The two lists must be different, or the sync fails.
Field mapping: inventory (stock)
Stock is pushed only when Inventory levels Synchronization is Sync from Qoblex to WooCommerce. Unlike some integrations, Qoblex sends WooCommerce an absolute quantity, not a plus/minus adjustment: it computes the total available across the locations you selected and writes that number as the WooCommerce stock quantity. | Available quantity (summed across selected locations) | Stock quantity | The available quantities of the locations you chose under Which warehouse inventory levels are reflected in your WooCommerce store? are added together and written as one absolute quantity. At least one location must be selected: the settings page will not save with inventory sync set to Sync from Qoblex to WooCommerce and no location chosen. | | Location coverage | (validation) | Every variant must stock each selected location. If one does not, Qoblex stops the push for that product and records an error asking you to configure which locations to sync back to WooCommerce. | | Variant link | Variation ID | The variant must already be linked (mapped to its WooCommerce variation) before its stock can be pushed. |
Field mapping: images
Images are synced only when the Images checkbox is ticked and product information sync is not Do not sync and, for the outbound leg, includes the Qoblex-to-WooCommerce direction. | Attachment URL | Image source | The image URL is sent to WooCommerce. On the way in, each WooCommerce image URL becomes a Qoblex attachment; duplicate URLs are collapsed to one. | | File name | Attachment file name | Derived from the image URL and used to match a Qoblex attachment to the WooCommerce image on later updates. | | Variant image assignment | Variation image | On the way in, a variation’s image is linked to that variant; on the way out, each variant’s image is sent with the variation. |
What you will see when it works
- A linked product. After the first successful sync, the Qoblex product carries a link (mapping) to the WooCommerce product and store; that link drives every later update and is what deleting the product in WooCommerce removes.
- Activity notes. Qoblex records a note for each event, for example “[product] updated from [your store]“, “[product] created from [your store]“, “[product] removed from [your store]“, or “Successfully synced stock levels of [N] variants to [your store]“. These appear against the integration so you can see what synced and when.
- Failures you can act on. If a match is skipped or blocked, for example missing SKUs, a duplicate SKU or barcode, an unmapped location, an unsupported product type, or a product with no variants, Qoblex records a warning naming the product and the reason. Fix the underlying data and the next sync will pick it up.