SKILLMERC tools

Send WooCommerce orders to FreeAgent as paid invoices

If you copy WooCommerce orders into FreeAgent by hand, this guide sets up the free Skillmerc Sync for FreeAgent plugin so each paid order turns into a FreeAgent invoice on its own. It takes about ten minutes.

What ends up in FreeAgent

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

  1. Finds the customer in FreeAgent by email, or creates a contact 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. FreeAgent does not email your customer.
  4. Explains a payment in the bank account you choose, so the invoice shows as paid.

The order notes show the FreeAgent invoice number and the payment.

Before you start

Step 1: install the plugin

In WordPress go to Plugins > Add New, search for "Skillmerc Sync for FreeAgent", then install and activate it. Open WooCommerce > Settings > FreeAgent Sync and copy the OAuth redirect URI shown at the top.

Step 2: create your own FreeAgent app

  1. Sign in at dev.freeagent.com with a free developer account.
  2. Create an app and paste the redirect URI from step 1 into it. Save.
  3. Copy the app's OAuth identifier and OAuth secret.

Why your own app? A secret cannot stay secret inside a plugin anyone can download. With your own app, the keys stay in your site and FreeAgent only gives access to the company you approve. No order data passes through our servers.

Step 3: connect

Paste the identifier into Client ID and the secret into Client Secret, then save. Tick Sandbox only if you are testing against a FreeAgent sandbox company. Click Connect to FreeAgent, sign in with the login you use for your books and approve access. The settings page then shows "Connected to" and your company name.

Step 4: pick the bank account and categories

The page also tells you whether your FreeAgent company is VAT registered. If it is, each invoice line gets the WooCommerce VAT rate. If it is not, lines are sent without VAT.

Step 5: test with one order

Place a test order and set it to Processing. Within a few seconds the order notes should say "FreeAgent invoice WC-... created" and "Payment of ... recorded in FreeAgent". Open the invoice in FreeAgent to check the lines and VAT.

To send an order that was paid before you installed the plugin, open it and choose the order action Sync to FreeAgent now.

If something goes wrong

Get it free on WordPress.org


More WooCommerce and FreeAgent guides

Using Sage Accounting instead? See WooCommerce to Sage Accounting sync.