Send WooCommerce orders to Sage Accounting as invoices with VAT
If you type WooCommerce orders into Sage Accounting by hand, this guide sets up the free Skillmerc Sync for Sage Accounting plugin so each paid order arrives in Sage on its own. It works with Sage Accounting UK. It does not work with Sage 50 desktop or the South African Sage Accounting (which Sage do I have?).
What ends up in Sage
When an order reaches Processing or Completed (you can choose the statuses), the plugin:
- Finds the customer in Sage by reference, or creates them with their billing address, email and phone.
- Creates a sales invoice with one line per product and fee, a separate shipping line, and the VAT WooCommerce charged on each line.
- Records the payment as a customer receipt in the bank account you pick, so the invoice shows as paid.
The order notes show the Sage invoice number.
Before you start
- WooCommerce running on WordPress 6.2 or later, PHP 7.4 or later.
- Your Sage Accounting login.
- About ten minutes.
Step 1: install the plugin
In WordPress go to Plugins > Add New, search for "Skillmerc Sync for Sage Accounting", install and activate it. Then open WooCommerce > Settings > Sage Sync and copy the callback URL shown there.
Step 2: create your own Sage developer app
The plugin uses your own free Sage app, so your keys stay in your site and nothing passes through our servers.
- Sign in at developerselfservice.sageone.com with GitHub or email.
- Click Create App, give it a name and paste the callback URL from Step 1. Save.
- Copy the app's Client ID and Client Secret into the plugin settings and save.
Step 3: connect to Sage
Click Connect to Sage, sign in with the Sage login you use for your books, and allow access. You come back to the settings screen.
Step 4: pick accounts and VAT rates
After connecting, the plugin loads your Sage accounts and VAT rates. Choose:
- the sales ledger account for products and fees,
- the ledger account for shipping,
- the bank account where payments are recorded,
- the Sage VAT rate for taxed lines and for untaxed lines.
If you charge more than one VAT rate (for example 5% reduced rate items), map each WooCommerce tax rate to its Sage VAT rate. Save.
Step 5: test with one order
Place a test order and move it to Processing. Open the order and check the notes for the Sage invoice number, then find that invoice in Sage.
Orders from before you installed
Older paid orders are not sent automatically. Open each one and use the Sync to Sage now order action.
When something goes wrong
- Sage is down or the login expired. The order is retried in the background up to 5 times (after 5 minutes, 30 minutes, 2 hours and 6 hours). A retry never creates a second invoice.
- An order note says the Sage total differs from the order total. Usually a WooCommerce tax rate maps to the wrong Sage VAT rate. Fix the mapping in the settings, then correct that invoice in Sage.
- An order was skipped because of its currency. Version 0.1 only sends orders in your Sage base currency.
- A refund. Refunds are not sent yet, so record the credit note in Sage by hand.
- Where to see errors. In the order notes, and under WooCommerce > Status > Logs with the source skillmerc-sync-for-sage-accounting. Turn on the debug log in the settings for more detail.
The plugin works with the block checkout, the classic checkout and High-Performance Order Storage (HPOS). Questions: open a topic in the plugin's support forum.