Variable products can be seen as a hierarchy, with the Variable Product as the parent and the Product Variations as the children. Within
WooCommerce each element (i.e. the parent variable product and each child variation) has a SKU and a
number of properties, some of which are shown below. There can be many variations and we have shown 2 for simplicity.
In the above diagram, we are only
concerned with properties supported by Woosage, so other properties, such as
shipping and tax class, are ignored.
Variations can inherit properties
from the parent variable product. This complicates the mapping of products to
Sage, which does not have the notion of variable products.
Generally, the parent is not setup
as a product on Sage and only the variations are required. For example, a
product may come in 2 sizes, Small & Large, and each would be a separate product
on Sage with it’s own Product Code (SKU), stock quantity and price. In this case, the parent variable product would not have stock
management set in the Inventory tab of the product on the website and stock
would be set for each variation individually.
The price of each variation would also be set individually. Woosage will not update the parent and each
variation is regarded as a separate product.
However, there are exceptions to
this where there is one product on Sage and it is used to populate multiple
variations that share the same SKU, stock quantity and price, but they may have
different attributes or tax and shipping classes.
The table below shows the settings
for these situations:
Element
| SKU
| Manage Stock?
| Stock Quantity
| Price
|
Parent
| Set
| Set
| Set
| N/A
|
Variations
| Not Set (inherited)
| Not Set
| N/A
| Set
|
In these cases, Woosage will use a
single product on Sage to update the stock quantity on the parent and the price
on the variations. This will result in:
- The
price of each variation being the same.
- The
variation will use the same stock pool.
- All
elements will show the same SKU code.
In all cases Enable Stock Management
must be set in WooCommerce>Settings>Products> Inventory
This is not intended to be an
exhaustive explanation of all the permutation of variable products that WooCommerce
can accommodate.
Stock Updates
In WooCommerce stock can be managed at Variable or Variation level (or not at all, but this does not apply here).
If Stock Management is set at Variable level then the Variations will be ignored and the stock quantity will be updated at Variable level. This means that all Variation stock will be taken from the Variable stock quantity. As the Variations are ignored, their Stock Management setting will have no effect.
If Stock Management is not set at Variable level, but is set for the Variation, then each must have a unique SKU. The stock quantity will then be updated at variation level
If Stock Management is not set at either the Variable or Variation level, then no stock updates will be applied for these products.
Warning: WooCommerce will allow stock management on the Variation and allow them to have the same SKU, but this case is not supported in Woosage.
Price Updates
Optionally, the price of an item can be updated at the same time as the stock quantity and price is always set at Variation level for Variable products.
If the Variation SKUs match the Variable SKU then the price of each Variation will be the same, but if the SKUs for each Variation are different (and unique) then each will have its price set independently.
Note: The Sage Sales Price is updated to the WooCommerce Regular Price using this process. All other Sage pricing structures are ignored.