SKILLMERC tools

Sync WooCommerce orders to FreeAgent

Free plugin: every paid WooCommerce order becomes a contact, an invoice with VAT per line and a payment in FreeAgent, so the invoice shows as paid. Your keys stay in your own site.

Get it free on WordPress.org

Selling on Shopify? FreeAgent dropped its Shopify integration; see Shopify to FreeAgent.

Questions or problems: plugin support forum. Using Sage Accounting instead? See WooCommerce to Sage Accounting sync.

Guides


Every paid WooCommerce order becomes an invoice in FreeAgent, so you stop typing orders into your books by hand.

Setup walkthrough video (under one minute):

https://www.youtube.com/watch?v=cBpgG3Znojg

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

  1. Finds the customer in FreeAgent by email (from an earlier synced order, or among your 300 most recently updated FreeAgent contacts), or creates them with their name, company, email, phone and billing address.
  2. Creates an invoice numbered WC-(order number) with one line per product and fee, a separate shipping line, and the VAT rate WooCommerce charged on each line.
  3. Marks the invoice as sent. No email goes to your customer.
  4. Explains a payment in the bank account you choose, so the invoice shows as paid.

Each step saves its FreeAgent link on the order, and the order notes show the invoice number. If FreeAgent is down, rate limits the request 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 or a second payment for the same order. You can also send any order by hand with the "Sync to FreeAgent now" order action.

What you set up

Requirements and limits in version 0.1

External service

This plugin connects to FreeAgent, an accounting service run by FreeAgent Central Ltd, so it can create contacts, invoices and payment explanations in your FreeAgent company. It sends data only after you connect your own FreeAgent app on the settings screen:

FreeAgent terms: https://www.freeagent.com/terms/ FreeAgent privacy notice: https://www.freeagent.com/privacy/

This plugin is not made, endorsed or supported by FreeAgent. FreeAgent is a trademark of FreeAgent Central Ltd.

Installation

  1. Install and activate the plugin. WooCommerce must be active.
  2. Go to WooCommerce > Settings > FreeAgent Sync. Copy the redirect URI shown there.
  3. Sign in at https://dev.freeagent.com/ (a free developer account), create an app and add the redirect URI. Save.
  4. Copy the app's OAuth identifier and OAuth secret into the plugin settings and save. Tick Sandbox only if you are testing with a sandbox company.
  5. Click Connect to FreeAgent, sign in with the FreeAgent login you use for your books and approve access.
  6. Choose the bank account for payments and check the income categories, then save.
  7. Place a test order and check the order notes for the FreeAgent invoice number.

Frequently Asked Questions

Why do I need my own FreeAgent developer app?

A client secret cannot be kept secret inside a plugin that anyone can download. With your own app, your keys stay in your site and FreeAgent only gives access to the company you approve. Creating the app is free.

Which orders are sent?

Orders that reach one of the statuses you pick (Processing and Completed by default) after you connect. Each order is sent once. Changing the status again does not create a second invoice.

An order note says the FreeAgent total differs from the order total.

FreeAgent works out VAT from the rate on each line, so rounding can differ from WooCommerce by a penny, and a WooCommerce rate that is not one of your FreeAgent VAT rates can differ more. Check the invoice in FreeAgent.

Where do I see errors?

In the order notes of the order, and in WooCommerce > Status > Logs under the source skillmerc-sync-for-freeagent. Turn on the debug log for more detail.

Screenshots

  1. Connect with your own FreeAgent app. The settings page shows which company is connected.
  2. Pick the bank account for payments and the income categories, then choose which order statuses are sent.
  3. The order notes show the FreeAgent invoice number and the payment. The "Sync to FreeAgent now" order action sends an order by hand.

Changelog

0.1.0