FreeAgent for WooCommerce

Overview ↑ Back to top

The FreeAgent for WooCommerce extension allows you to synchronize your WooCommerce orders with invoices within your FreeAgent account.   If invoices are set to be generated automatically, when a WooCommerce order is placed a corresponding invoice will be created.

You will also be able to synchronize payments between WooCommerce orders and FreeAgent invoices.

Installation ↑ Back to top

  1. Download the extension from your dashboard
  2. Go to Plugins > Add New > Upload and select the ZIP file you just downloaded
  3. Click Install Now and Activate
  4. Setup the extension how you prefer by visiting Woocommerce > Settings > Integration (see next section on configuration)

Setup and Configuration ↑ Back to top

Settings Screen ↑ Back to top

Visit Woocommerce > Settings > Integration to manage the extension.

Click Connect to FreeAgent to allow the extension to access your FreeAgent account. After connecting successfully more options will appear:

freeagent settings

Connection Options

  • Connect FreeAgent: Asks you to log in to your FreeAgent account and allow WooCommerce access
  • Disconnect FreeAgent: Disconnects the currently connected FreeAgent account. This will stop any future contacts/invoices being created and disable the synchronization between WooCommerce and FreeAgent until it is reconnected

Invoice Options

  • Create Invoices: Allows the automatic creation of invoices when orders are created. If this isn’t checked invoices can only be manually created. This can be done on the order screen
  • Mark Invoices as sent: Allows for invoices to be marked as “sent” (open) rather than “Draft” when they are created
  • Custom Invoice Reference: Allows the designation of a custom reference to be used for FreeAgent invoices. This must include the order ID somewhere in the reference
  • Set Accounting Category for Invoices: Select the income category to be used for invoices (defaults to “Sales”)
  • Automatically Apply Payments to Invoices: Allows manual payments to be applied to FreeAgent invoices when a WooCommerce order payment is taken
  • Select Bank Account: Determines which bank account will be used when adding payments to your FreeAgent account
  • Set Payment Terms in Days: Sets the number of days before an invoice becomes overdue

Synchronization Options

  • Synchronize Automatically: Periodically check FreeAgent invoice statuses and references to ensure they match the corresponding WooCommerce order data
  • Synchronization Frequency: Determines how often FreeAgent invoices will be synchronized with WooCommerce orders
  • Synchronize Now: Press this to manually run the synchronization process

Usage ↑ Back to top

Synchronization of Orders and Invoices ↑ Back to top

Automatically creating invoices

If you have opted to create invoices automatically then a new invoice will be created in FreeAgent every time a new order is created. A contact will also be generated in FreeAgent using the customer’s details.  If you opted to mark the invoice as “Sent” then their status will be updated to “Open”.  The invoice status will be shown alongside the order on the Woocommerce > Orders screen:

invoice status column on orders screen

Manually creating invoices

If you opt out of automatically creating invoices for orders an extra button for these actions will become available to you. On the WooCommerce > Orders screen:

invoice order action buttons on orders screen

And also on the dropdown on the individual order’s edit screen:

actions added to order actions dropdown on single order screen

When an order is updated the changes made to any items on the order (along with any additional items/charges) will be reflected in the invoice on FreeAgent provided the option to automatically create invoices is checked on the settings page.

Synchronizing Payments

If you choose to synchronize automatically on the settings screen when a WooCommerce order status is updated to processing/completed a manual payment is added to the corresponding invoice in FreeAgent and the invoice is marked as “Paid”.
Additionally, a check will be run (frequency determined by the selected value in the dropdown) that checks WooCommerce order statuses against FreeAgent invoice statuses. If a FreeAgent invoice status has been updated and this is not yet reflected in the WooCommerce order; the details will be synchronized and the order status will be updated.

Invoice Items

Each order item is added to the invoice as a separate line item with its corresponding tax rate.  Please note: there is minor discrepancy in amounts between WooCommerce and FreeAgent due to the way each system handles the rounding of totals during the calculations.  Moving forward, we will be looking to group order items by tax class which negates this issue.

FreeAgent invoice showing order items from WooCommerce


New FreeAgent Metabox ↑ Back to top

There is also a new metabox added to the edit order screen for easily viewing the corresponding invoice in FreeAgent and seeing its status:

Screenshot of the Freeagent invoice meta-box shown on the Edit Order page

FAQ ↑ Back to top

What if I want to use my own FreeAgent Application to connect my account? ↑ Back to top

We have you covered. First, create your own app at Once done, add the following snippet to the functions.php file in your theme, and options will appear on the integration settings page for you to enter the details of your application.

add_filter( 'woocommerce_freeagent_use_custom_freeagent_app', '__return_true' );

WooCommerce - the most customizable eCommerce platform for building your online business.

Back to the top