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.
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