Product Update Considerations for Variable Products with Woosage50

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 properties, some of which are shown below.  There can be lots of variations, but for simplicity, we have shown only two.

In the above diagram, we are only showing the stock and price properties and in this article we are ignoring other properties.

Variations can inherit properties from the parent variable product and 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 that will have its stock & price(s) updated according to the Woosage50 settings, provided that Manage Stock is set on the website and the Sage product has the Publish to Web flag set (see Stock Updates Article)

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/or price, but they may have different value for other attributes, such as shipping classes or weight.

The table below shows the settings for these situations:

Element
SKU
Manage Stock?
Stock Quantity
Price
Parent
Set
Set
Set
Can be set
Variations
Not Set (inherited)
Not Set
N/A
In herited if set in Parent or Set

In these cases, Woosage50 will use a single product on Sage to update the stock quantity on the parent and the price(s) on the variations.  This will result in: 
  1. The price of each variation being the same if set in parent or it can be set for the variations.
  2. The variation will use the same stock pool - see Variation Quantity below if variation have multiple quantities.
  3. All items will show the same SKU code.
Alert
This is not intended to be an exhaustive explanation of all the permutations 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.

Variation Quantity

WooCommerce assumes each variation has a quantity of 1, but when the variations all the same product (.e. same SKU)  but different "pack" sizes you might want them to share the underlying stock pool and in these cases the variations are multiples (e.g. a box of 10).  If an order is placed for 2 items WooCommerce reduces the stock by 2, rather than 20 (using the box of 10 example).

WooCommerce doesn't support this, so in order to support variations as multiples in cartons, boxes, pallets etc, we recommend the following plugin, which has an inventory reduction per item sold feature to accommodate this.

Price Updates

Optionally, the price(s) 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 (parent) SKU then the price of each Variation will be the same, but if the SKUs for each Variation are different then each will have its price set independently.




    • Related Articles

    • Creating Variable Website Products from Sage

      WooCommerce has a variable product concept that allows similar products (e.g. different sizes or colour) to be grouped under a single product. Each product within the group is referred to as a variation and each has attributes that are used to ...
    • Installation and Setup of Woosage for Sage Accounting

      Woosage for Sage Accounting is intended to be a self-install application and everything you need to do this is contained is right here in just 4 easy steps. Install the Woosage plugin Add your subscription Identifier Authorise Woosage to access your ...
    • What is Woosage for Sage Accounting?

      Woosage is a plugin for your website that will integrate your WooCommerce shop with Sage Accounting (also known as Sage Business Cloud Accounting - formerly Sage One). Woosage Essentials Edition is available and has the following features: Imports ...
    • Create an optional Sage Accounting user for Woosage

      While this step is optional, we we recommend that you add a Woosage user to allow us to access Sage Accounting on your behalf when installing WoosageBCA or providing ongoing support. If you do not add an additional user for Woosage, then we will not ...
    • Force a product stock update

      Woosage maintains a local database of stock positions, which it uses to see when quantities change in Sage. There was a bug that can cause a new product created by Woosage not to update, due to it being a draft, and this has now been fixed, but if ...