Stock Updates

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 Web checkbox on the Product Web tab. Woosage take all these products and matches them by Product/SKU Code to website products that have the relevant stock management flags set and, where there is a difference, uses the Sage value to update the website value.  

Woosage uses the Sage Free Stock value after the imported order have had stock allocated to them.  Website products can be sold when no stock is available if the backorder facility is used on the relevant products and the Negative Stock option is enabled on Sage.

To ensure that all orders imported from the website have stock allocated before the stock update from Sage to WooCommerce takes place the auto-allocate option must be set. This only applies if the orders are being imported as Sales Orders and for this reason we do not recommend creating Sales Invoices instead of Sales Orders.

Note regarding Variable Products:  In most cases, variable products on WooCommerce do not need to be held on Sage, only the variations. For example, Gloves in sizes Small, Medium & Large might be on the website as a variable product with a dropdown to select the size, each of which may have it's own stock.  The variations (Small, Medium & Large) would have separate SKUs and stock management settings. For further information see this article.

Defining Web Products on Sage

To allow only a selection of your Sage product’s stock levels to be pushed to WooCommerce Woosage uses a Sage field to identify the relevant products.  In the Sage Product Record, Web tab the Publish to Web checkbox must be ticked as shown below.



Bulk Update of Publish To Web checkbox

To ensure that products in Sage will have their stock levels updated on the website during each Woosage cycle the PTW flag must be set.

The easiest way is to export the SKU of all products on the website using Products>Export, removing any rows with blank SKUs, which are likely to be Variable products (parent).

Then replace the SKU column name with Stock Code and add a column to the right named Web Publish? and fill with the number 1 as show below.

Stock Code

Web Publish?

ITEM-1

1

ITEM-2

1

ITEM-3

1

ITEM-4

1

ITEM-5

1

Then save the file in Excel format (.xls) and the file can then be imported to Sage. Files can also be imported as CSV or XLSX.

Login to Sage as Manager and ensure no other users are logged on to Sage.

Select Import… from the File menu in Sage.

Select Backup… and backup Sage before continuing with the update.

Click Next

Select Product record from the list of Data Types.

Click Next

Select the Excel Worksheet option and ensure First row contains headings is ticked.

Click Next

Browse to select the file saved above

Click Next

Scroll to ensure both columns are mapped correctly.

Click Next

Check the summary and click Import

WooCommerce Stock Management

In WooCommerce you must Enable Stock Management in WooCommerce>Settings>Products>Inventory.  The other Inventory settings can be set as required.

Each product must also be set to allow stock management at product level by ticking the Manage Stock? checkbox as shown below.  If you are going to run the Woosage stock update imminently then there is no need to insert any stock quantity as it will be overwritten by the Sage values, otherwise, enter an initial quantity.  For variable products, the parent should not be set to Enable Stock Management and this should be done in each variation (the parent setting are not critical, as the variation settings will take precedence).  Initially, the stock quantity should not be left blank and must contain a numeric value.  If you do not know the stock quantity enter 0 (zero) and Woosage will overwrite it with the actual quantity when it runs.  

If you have Sage set to allow negative stock quantities, then you can use the Allow Back-orders? options



If you allow back-orders in the Product Data>Inventory settings WooCommerce will not display the stock if it is negative (regardless of stock display settings) and will allow the customer to order any amount.

Bulk Update of WooCommerce Product Stock Settings

For websites with large numbers of products, the options described above can be set in bulk using the WooCommerce Export and Import features as follows.

Export the SKU, Type, In Stock?, Stock, Backorders allowed? of all products on the website using Products>Export, (it may useful to add the Name field to help with identification)
Remove rows where the Type is Variable and any other rows with blank SKUs.
Modify the In Stock?, Stock, Backorders allowed? columns to show the desired state for each product, similar to the following


SKU



In stock?



Stock



Backorders allowed?



Explanation (not to be included in file)



ITEM-1



1



3665



1



Item in stock with backorders allowed and stock managed



ITEM-2



1


 




0



Item in stock with backorders not allowed and stock not managed



ITEM-3



0



0



0



Item out of stock with backorders not allowed and stock managed



ITEM-4



1



236



0



Item in stock with backorders not allowed and stock managed



ITEM-5



1



236



notify



Item in stock with Backorders allowed, but notify customer and stock managed



Note: ITEM-2 is shown for completeness and should not be be used as it will prevent stock from being updated by Woosage
In most cases the most simple solution is to set In Stock to 0 and Stock to 0 for all items then run Woosage to update the records with the actual stock quantities, but this may not be possible with a live website.
Once the file has been modified and saved it can be imported to the website using Products>Export

Stock Update Process

Woosage will update stock from Sage to the website each time the processing cycle executes, the frequency of which is defined in the Woosage Settings under Sleep Duration.

After the orders have been imported to Sage and the relevant stock is allocated to them, where applicable, then Woosage will extract the Free Stock for each web product and store it in the Woosage database.  Woosage will then get the website Stock Quantities and compare them to the Sage Free Stock quantities, at the same time checking that there are no orders in progress (orders placed since the cycle started) that would decrease the stock. A comparison is then made between the Sage Free Stock and the website Stock Quantity for each product and if they are different the website will be updated with the Sage Free Stock quantity. 

If a product exists on the website, but not on Sage then it is skipped and a warning message is issued.  This may be that  product has been created on the website with the incorrect SKU (Product Code), but it also may be valid (e.g. an item than is not on Sage as a stock item, such as a drop-shipped product).

If a Sage web product is not found on the website then there is an option to create the product.  This option, found in the Woosage Settings, will create a Simple product on the website including name, SKU, Price and Stock Quantity, with the Visibility set to be hidden from website visitors.  

Note: Stock updates can be paused by selecting Disable Stock Update in the Woosage Settings.

Extracting Sage Product Codes with Web Publish Status

The attached Sage report (see page footer) can be used to extract a list of Sage products with their Product Code and Description.  The report should be downloaded to your Sage report folder which is usually found under the Company.xxx folder (e.g. C:\ProgramData\Sage\Accounts\2020\COMPANY.001\REPORTS). It can then be found in the list of reports accessed from Sage Products and Services>Reports


    • Related Articles

    • 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 ...
    • 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 ...
    • Forcing a Stock Reset

      Woosage uses a local database to keep track of Sage stock changes and adds new products stock positions when added to Sage with PTW set. Following installation, under normal circumstances, Woosage will only push stock changes to the website if they ...
    • Negative Stock & Backorders

      In order to allow backorders on the website and to keep the stock synchronised you must allow Sage to have negative stock amounts and set each product on the website to allow backorders. If both are enabled then the website will reduce stock beyond ...
    • 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 ...