About this plugin
Every paid WooCommerce order becomes an invoice in FreeAgent, so you stop typing orders into your books by hand.
When an order reaches Processing or Completed (you choose the statuses), the plugin:
- 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.
- 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.
- Marks the invoice as sent. No email goes to your customer.
- 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
- Your own free FreeAgent developer app (OAuth identifier and secret). This keeps your keys in your own site. Nothing goes through our servers.
- The FreeAgent bank account where payments are explained, for example the account your payment gateway pays out to.
- The income category for products and fees, and the one for shipping (Sales by default).
- A Sandbox switch, so you can try everything against a free FreeAgent sandbox company first.
Requirements and limits in version 0.1
- A FreeAgent account. Built and tested with a UK limited company in the FreeAgent sandbox.
- If your FreeAgent company is VAT registered, each line gets the WooCommerce VAT rate. If it is not, lines are sent without VAT.
- Orders must be in your FreeAgent company currency. Orders in other currencies are skipped with an order note.
- Refunds are not sent to FreeAgent yet. Record credit notes in FreeAgent 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 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:
- When you click Connect, your browser goes to the FreeAgent approval page (api.freeagent.com, or api.sandbox.freeagent.com in sandbox mode), and the plugin exchanges the returned code for tokens at the same host.
- 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 rates and shipping, and the payment amount and method name to the FreeAgent API at that host.
com/terms/
com/privacy/
This plugin is not made, endorsed or supported by FreeAgent. FreeAgent is a trademark of FreeAgent Central Ltd.