Woosage50 integrates the order processing and product management functions of WooCommerce and Sage 50 Accounts. It has two components.
Woosage50 Plugin - this is a plugin that is installed on your WooCommerce website. It is the Woosage50 control centre, providing the settings and schedules for processing orders and updating website product data from Sage. It also provides an API that allows secure interaction with the plugin by the Woosage50 Service.
Woosage50 Service - this is a Windows services that runs on PC or server on your local network* and it acts as a bridge between the Woosage50 plugin and Sage. It utilises the Woosage API to interact with the Woosage50 plugin and accesses the Sage data via the Sage interface (SDO & ODBC),
* The Woosage50 Service can also run on a Windows Remote Desktop Server provided that it has access permissions to read and write to the Sage data
The relationship between the service and plugin is illustrated in the diagram below.
The Woosage50 Service runs two concurrent processes:
Orders - importing website orders to Sage and updating website stock quantities from Sage.
Products - updating website product and price data from Sage.
The service runs continuously, taking its processing instructions from the Woosage50 Plugin, which has user-defined schedules to determine when the orders and products cycles are to be run. It uses the Woosage API to contact the plugin to enquire if there are any processing activates to be carried out or if any settings have changed. It then either carries out those instructions as follows, or sleeps for 60 seconds before repeating.
The orders cycle starts by requesting the plugin to deliver any unprocessed orders, and the settings, if changed. It then imports the orders to Sage according to the settings. Once the orders have been processed, the service gets the free stock from Sage for all web products, checks for any changes and sends them to the plugin to update the website stock quantities.
The products cycle gets the product & price data from Sage for all web products and sends this to the plugin in batches, pausing between each to allow for processing of the data.
The Woosage50 Plugin monitors the processing activity of the Woosage50 Service and displays the status Woosage50 website page.
This article is intended to give an overview of how Woosage50 works in simple terms and is not a detailed description of all operations.