Variable Product Stock and Price Update Considerations

Variable Product Stock and Price Update Considerations

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: 
  1. The price of each variation being the same.
  2. The variation will use the same stock pool.
  3. 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.





    • Related Articles

    • Product Update Considerations for Variable Products with Woosage50

      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 ...
    • Woosage50 Price & Product Processing (Professional Edition)

      The features explained in this article are only available in the Professional edition of Woosage50 When the various product and prices settings of Woosage50 are enabled, the Sage product records are used to update and create website product data, ...
    • Stock Updates

      The Pro version of Woosage uses Sage as a stock master and will update WooCommerce with any updated stock quantities for products on the website. The Sage products that will have their stock level pushed to the website are marked with a Publish to ...
    • Woosage50 Professional - Stock Updates

      The Professional version of Woosage50 has the option to update website stock quantities using Sage as a stock master by enabling stock updates in the product settings. Stock Update Process Sage products that are to be updated on the website are ...
    • Product Codes (AKA SKU or Stock Codes)

      Sage Code Restrictions. A requirement of Woosage is that the SKU codes in WooCommerce must match the Product (Stock) codes on Sage in order to process orders and update website products. While WooCommerce can have SKU codes up to 255 characters in ...