This article covers the installation and setup Woosage.
Installation consists of the following steps, the first 5 of which are covered in this article:
- Run the Woosage installer
- Install the Woosage plugin
- Setup WooCommerce API keys and copy to Woosage settings
- Configure the other Woosage settings
- Create ODBC DSN
- Map Tax Codes between Sage and WooCommerce
- Map Payment Methods, if enabled
- If the Sage data is held on a server, then Woosage may require permission (see Service Setup)
- If this is a Woosage Pro installation, prepare Sage and WooCommerce for Stock Updates
- Start the Woosage Service from the Service tab (see Starting & Stopping the Service
The Woosage Application can be installed using the supplied installer.
The installer requires local administrator privileges to run.
Run the installer file (WoosageSetup_x-x.exe,
where x-x is the version number) on a Windows 10 PC that has network access to the Sage data. This will install the Woosage Service and the Woosage Control Centre. Open the Woosage Client, go to the settings tab and paste the contents of the licence text file into the licence key field and then apply other settings as described in Settings.
Note that Woosage will only run if this PC is running.
The Woosage Service will not be started after installation (as the settings will not have been configured) but will be set to start automatically after a restart of the PC. If you reinstall Woosage or update to a new version it will leave the service in the state it was prior to the update.
Install the Woosage plugin as follows:
- Download the plugin zip file to your computer.
- Log into WordPress and go to Plugins > Add New > Upload Plugin
- Select the zip file from step 1 and follow the installation instructions.
You will now be able to add a Sage customer account code to any user profile and orders placed by that user, when logged in, will be posted to their customer account on Sage. The Woosage plugin also allows the user to see which orders have been exported in the orders page and provides order actions to amend the export status to allow re-export or prevent export or orders.
WooCommerce REST API setup
To allow Woosage to communicate with your website you will need to create some unique API keys for authentication. The
WooCommerce API uses a Consumer Key and
Consumer Secret that must be entered in to the Woosage settings before running
Woosage for the first time. To create your keys as follows:
your website as an Admin and select WooCommerce > Settings > Advanced > REST API.
Select Add Key and complete the Key Details:
Add a Description for the key and select a User that is the key owner from the
drop-down. This user must be able to
access and update WooCommerce Orders and Products.
The Permissions must be set
Click the Generate API key button and the Key
details window will display the Consumer Key and Consumer Secret.
Important these details will no longer be
accessible once you leave this page so use the Copy buttons to save the details or paste them directly in to the
application settings are configured in the Woosage Control Centre Windows
application. The Woosage
settings are split in to the following sections:
Woosage – the settings to control Woosage
Website – the settings related to
Sage – the settings related to Sage
Customer - the settings related to customer accounts
These are described in the following sections.
change any settings or start/stop the Woosage Service the Woosage Control Centre must be run as an
administrator (the desktop icon created during installation automatically
starts in administrator mode).
If IT policies state that users should not be allowed administrator rights then the Woosage Control Centre can be initially installed and setup using an administrator account and the user can be granted rights to manage services to allow them to start & stop the Woosage Service via Woosage Control Centre. Details of how to grant user rights to manage services see this Microsoft Article.
Note, however, that any changes to setting will not be permitted, so will have to be carried out by an administrator account holder.
Note: Many of the settings can be enabled (on) or disabled (off). Enabled is denoted by a blue tick and disabled a grey cross.
Woosage Licence Key – enter your Woosage licence key.
Mark Completed in
WooCommerce – by
default orders that are exported to Sage are left in the Processing state. This toggle allows you to automatically mark an order as Completed as soon as it has
been exported to Sage to avoid having to manually mark it a Completed.
use caution with this setting as it will trigger a customer email, if enabled on your website.
Disable Stock Update – if enabled, this setting prevents the website being updated
with stock levels from Sage (Pro version only).
Create Sage Products in WooCommerce
- if enabled, then any new products added to Sage that have the Publish to Web checkbox ticked (see Stock Updates
) will be created in WooCommerce as Simple products. The product will be created with a SKU, Name, Regular Price and Stock Quantity, but will not be visible in the website front-end. (Pro version only)
Auto-Allocate Stock to
Sage Orders – if enabled, then orders imported to Sage will automatically allocate
stock. If using Woosage Pro this must be
switched on to ensure accurate stock update in WooCommerce.
Enable Payment Methods – Enable payments
to be posted to bank account based on WooCommerce payment method (see Payment
Enable Currency Mapping - Enable multi-currency functionality (Pro version only)
Enable ODBC Access - Enable ODBC method of reading data. Useful if there are a large number of items on Sage (Customers, Order, Products). Mandatory for Pro version
Sleep Duration – the period, in minutes, that the
Windows Service will sleep for after checking
for and transferring orders from WooCommerce and updating
the stock records and transferring to WooCommerce (pro version only). The
value of this setting will depend on the volume of orders you receive, your
internal order processing procedures and how often you amend stock in Sage (or
carry out transaction in Sage that change stock). During testing we recommend setting to 60 minutes and starting and stopping the service as required.
Number of Days to keep
order details –
orders older than this are deleted from the local Woosage database. We recommend setting this to between 30 and
Email Address – address for notifications (error,
failed orders etc.)
WooCommerce URL – the full URL of the WooCommerce website and must start with https://.
Note: the URL must match the actual site URL and include www if that is include in the site URL. If in doubt check the Site Address (URL) in the WordPress Settings>General Settings.
WooCommerce API Key – this is obtained from the
WooCommerce settings on your website and usually starts ck_
WooCommerce API Secret – this is obtained from the WooCommerce
settings on your website and usually starts cs_
WooCommerce Order Window – enter the number of days’ worth of
orders you wish to check for and retrieve (Woosage will only retrieve order
marked as Processing within that period). We recommend setting this to 5 or more to allow for order than may come
in over long weekends/holidays when the Woosage service may not be running.
WooCommerce Default Tax Code - enter the WooCommerce tax code to
be used in the event that an order has a missing tax code on a line item or
shipping charge. This will then be
mapped to the appropriate “T” code in Sage (e.g. use GB-VAT-1 and map to T1).
WooCommerce Order Status Options - select the the status of orders that will be exported from WooCommerce. The default is Processing and at least one must be selected.
Sage Version– select your version of Sage (versions 23 to 27 are supported)
Sage Data Path
– enter the directory path on the
local PC/server of the Sage database. To
Find the data path open Sage and select Help>About and look for the Data
Directory under Program Details. If your
data is on a local drive (e.g. C:\) the use the format C:\FolderName\FileName (substitute
C, where the Sage Data is held on another drive). If your Sage data resides on a server don’t
use the mapped drive format similar to above, but use the UNC format instead (e.g.
\\ServerName\FolderName) and check that the folder can be accessed using
the Local System login, which will depend on your local IT security policies (if
not, see Woosage Windows Service Setup
Sage Username & Password – enter the Sage logon details. These credentials should be an account
specifically used for Woosage and not a user account. Sage does not permit multiple logons to the
same account. The user must have full rights to Invoices & Credits, Products & Services and Sales Orders (unless only posting invoices).
Post Sales Invoice to Sage – By default WooCommerce orders are
imported to Sage as Sales Orders. Use this toggle to post orders as Sales
Note: if you are
using one of the basic Sage 50 Accounts Cloud versions (e.g. Essentials) you may not have Sales
Order Processing functionality available.
Ignore Zero Total Orders - if this option is on, any orders that have a zero total will not be posted to Sage.
Note: if you are using this option amd the Mark As Completed in WooCommerce option, then zero total orders will NOT be marked as completed.
Sage Carriage Account - Enter the Sage nominal code for
your shipping or carriage costs.
Before setting the Sales Global and Product Nominal be aware of the following.
By default, product sales invoices post to the sales nominal code associated with each product, regardless of whether the invoice is created directly of via a sales order. This can be
overridden if the default sales nominal is set in the customer record. Each line item will show as a transaction with the appropriate nominal code when posting
(in addition to a separate carriage transaction).
If you set
global sales nominal in the invoice it will treat the whole invoice (excl.
carriage) as a single product transaction and because there may be many product
codes and descriptions it is left blank in the transaction record unless you provide a description or label in the global details
Setting the product nominal code has a similar effect to the sales global nominal codes, except that each product line item shows as a separate transaction (with product codes and detail), but with the same nominal code
Sage Global Nominal Code – the nominal code to add to the
Sales Order or Sales Invoice in Footer tab for posting Sage Sales Order or
Invoice. Optional, leave blank to use
Sage Global Details – Sage Global Details text to add to
the Sales Order or Sales Invoice in Footer tab.
Optional and only used if Sales Global Nominal Code is set.
Sage Global Department Number - Department number to allocate the Sales Order or Sales Invoice to. The default is -1, which indicates that it will not be set by Woosage.
Product Nominal Code – nominal code to post product line items to in Sage Sales Order or Sales
Invoice. Optional, leave blank to use Sage defaults.
Order Taken By – the content of this setting are
inserted in to the Sage Order Taken By field. For example, this is useful if
you want to identify online orders as, say, “Web Order”.
Base Invoice Number – only used if you wish to override
Sage auto numbering, when Woosage will add this number to the WooCommerce Order
number. Auto numbering will be used if
set to zero (0). This option is useful
if you have other systems that generate invoices in Sage (e.g. an E/MRP
system). For example, if the base
invoice number was set to 900000 and the order number was 673 then the invoice
number would be 900673.
If you are using the Pro version to keep your website updated with stock levels from Sage then you will also need to ensure that the relevant products are flagged in Sage - See Stock Updates
Sage Default Account Code – enter the Sage customer account that orders should be imported to when no customer specific Sage Account Code is present (or is not found in Sage). This is typically used for Sage accounts setup just for online orders (e.g. WEBSALES) rather than using specific Sage customer accounts. This account must exist on Sage.
Check for Existing Sage Account (Pro Feature) - if this option is on Woosage will check for an existing Sage Customer Account and, if found, use it when posting an order. If not found, and the Sage Account Creation option is on, then Woosage will create a new Customer Account. Otherwise, Woosage will use the Default Account Code from the Sage Settings.
Sage Account Creation (Pro feature) - if on Woosage will create a new if no Sage Customer Account is found and the above option is on. If off, no Customer Accounts will be created.
Sage Account Creation for Logged on User Only (Pro feature) - if this option is on Woosage will only create Customer Accounts if the order was from a logged on user. This option has no effect if Sage Account Creation is off.
Overwrite Sage Billing Address
– If switched off, Woosage will use the Sage customer account billing address in the Sage order, rather than that from the WooCommerce order, but only if the Order has a Sage Customer Account code that is not the Default Sage Account. If this option is on, the WooCommerce Order billing name and address will be used for the Sage order in all cases.
Overwrite Sage Delivery Address – If switched off, Woosage will use the Sage customer account delivery address in the Sage order, rather than that from the WooCommerce order, but only if the Order has a Sage Customer Account code that is not the Default Sage Account. If this option is on, the WooCommerce Order delivery name and address will be used for the Sage order in all cases.
Note: If an order contains a Sage Account code from the website User Profile (via the Woosage plugin), then Woosage will always use this regardless of the above settings - see Customer Accounts
Create ODBC DSN
Woosage using ODBC where it needs to get large volumes of Sage data and to do this the source of the Sage data for the ODBC driver must be setup separately.
At first installation, this can be done via the Utilities tab in Woosage Control Centre, where there is a button labelled Create DSN and clicking this will automatically create a 32-bit DSN. If you are using a 64-bit version of Sage you will need to create the DSN manually (see Using the ODBC Capability