Directory / plugin

Skillmerc Sync for Sage Accounting

v0.1.0 · by skillmerc

Send paid WooCommerce orders to Sage Accounting as a customer, a sales invoice with VAT per line, and a payment.

View on WordPress.org

About this plugin

Every paid WooCommerce order becomes a proper sales invoice in Sage Accounting, so you stop typing orders into your books by hand.

When an order reaches Processing or Completed (you choose the statuses), the plugin:

  1. Finds the customer in Sage by reference, or creates them with their billing address, email and phone.
  2. Creates a sales invoice with one line per product and fee, a separate shipping line, and the VAT that WooCommerce charged on each line.
  3. Records the payment as a customer receipt in the bank account you choose, so the invoice shows as paid.

Each step saves its Sage ID on the order, and the order notes show the invoice number. If Sage is down or a token expires, 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 for the same order. You can also send any order by hand with the “Sync to Sage now” order action.

What you set up

  • Your own free Sage developer app (Client ID and Client Secret). This keeps your keys in your own site. Nothing goes through our servers.
  • The sales ledger account for products and fees, and the ledger account for shipping.
  • The bank account where payments are recorded.
  • The Sage VAT rate for taxed and untaxed lines, and optionally a Sage VAT rate for each WooCommerce tax rate (for example 5% reduced rate items).

Requirements and limits in version 0.1

  • Sage Accounting through Sage’s Accounting API v3.1. Built and tested with Sage Accounting UK. Sage South Africa uses a different API and is not supported yet.
  • Orders must be in your Sage base currency. Orders in other currencies are skipped with an order note.
  • Refunds are not sent to Sage yet. Record credit notes in Sage by hand for now.
  • Orders paid before you installed the plugin are not sent automatically. Use the order action for each one.
  • Works with the WooCommerce block checkout, the classic checkout and High-Performance Order Storage (HPOS).

External service

This plugin connects to Sage Accounting, a service run by The Sage Group plc, so it can create contacts, invoices and payments in your Sage business. It sends data only after you connect your own Sage app on the settings screen:

  • When you click Connect, your browser goes to the Sage sign-in page (www.sageone.com), and the plugin exchanges the returned code for tokens at oauth.accounting.sage.com.
  • When an order is sent, the plugin sends the customer’s name, company, email, phone and billing address, the order number, date, line items, prices, VAT and shipping, and the payment amount and method name to api.accounting.sage.com.

Sage terms: https://www.sage.com/en-gb/legal/terms-and-conditions/
Sage privacy notice: https://www.sage.com/en-gb/legal/privacy/

This plugin is not made, endorsed or supported by Sage. Sage and Sage Accounting are trademarks of The Sage Group plc.

Plugin tags