Overview
↑ Back to top- Summarized Mode (recommended): Invoices are created daily to record accumulated sales, organized by tax amount, currency, and sales type. This is the recommended mode, especially for larger stores.
- Detailed Mode: Invoices are generated automatically when a WooCommerce order is placed, creating a corresponding invoice along with a contact for that user. You can also synchronize payments between FreeAgent invoices and WooCommerce orders.
Installation
↑ Back to top- Download the extension from your dashboard
- Go to Plugins > Add New > Upload and select the ZIP file you just downloaded
- Click Install Now and Activate
- Setup the extension how you prefer by visiting WooCommerce > Settings > Integration (see next section on configuration)
Setup and Configuration
↑ Back to top- Click on the My Apps link on the top of the page.
- Click the Create New App button on the top right.
- Enter a meaningful name for your app along with a description if necessary (these can be anything but will enable you to identify them if, for example, you are using multiple apps for different connections).
- The OAuth redirect URIs field will need the address to your websites connection page. This can be found on the settings page in the WordPress admin area (WooCommerce > Settings > Integrations > FreeAgent), labelled OAuth redirect URI. The existing URIs within this field can be left in place (these are used for testing purposes) and you can add your own URI on a new line. It will not cause issues if you delete the existing URIs.
- Finish the process by clicking Create App.
- On the next screen you will be presented with your application credentials. Copy both the OAuth Identifier and OAuth Secret over to your FreeAgent settings page in the WordPress admin and click Save Changes. This will store these values in your database.
- Once the page has reloaded, click Connect to FreeAgent and proceed to sign in and approve your new application.
Settings Screen
↑ Back to topConnection Options
↑ Back to top- Connect FreeAgent: Asks you to log in to your FreeAgent account and allow WooCommerce access.
- Disconnect FreeAgent: Disconnects the current FreeAgent account, stopping any future contacts/invoices from being created and disabling synchronization until reconnected.
Invoice Options
↑ Back to top- Create Invoices (detailed mode only): Automatically create invoices when orders are created. If unchecked, invoices can only be manually created on the order screen.
- Send Invoices (detailed mode only): Sends created invoices to the contact via FreeAgent.
- Mark Invoices as sent: Mark invoices as “sent” (open) rather than “Draft” when created.
- FreeAgent User Email Address: The “from” email address for sending emails from FreeAgent (required if “Send Invoices” is checked).
- Custom Invoice Reference: Designate a custom reference for FreeAgent invoices, which 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”).
- Set Payment Terms in Days: Sets the number of days before an invoice becomes overdue.
- Set Default X Item Type (detailed mode only): Set the item type to appear on the invoice for products, shipping and fees.
- Automatically Apply Payments to Invoices (detailed mode only): Apply manual payments to FreeAgent invoices when order payment is taken in WooCommerce.
- Select Bank Account: Choose which bank account will be used when adding payments to FreeAgent (a bank account and contact named “WooCommerce” will be generated in summarized mode).
- VAT MOSS (summarized mode only): Mark all products as digital services eligible for VAT MOSS.
Synchronization Options (detailed mode only)
↑ Back to top- Synchronize Automatically: Periodically check FreeAgent invoice statuses and references to ensure they match WooCommerce order data.
- Synchronization Frequency: Determine how often FreeAgent invoices will be synchronized with WooCommerce orders.
- Synchronize Now: Manually run the synchronization process.
Usage
↑ Back to topSummarized Mode
↑ Back to top- Separate invoices for each currency if operating with multi-currency.
- Invoices for all goods and services sold outside the EU, organized by tax rate.
- Invoices for services sold to the EU, VAT marked as “Reverse Charge”.
- Invoices for products marked as “EC VAT MOSS,” organized by billing country and tax rate (Important: invoices will only be created if the tax rate matches a valid option for the billing country in FreeAgent).
Detailed mode
↑ Back to topAutomatically creating invoices
If Create Invoices is set then a new invoice will be created in FreeAgent every time a new order is created. A contact will also be generated using the customer’s details. If Mark Invoices as sent is selected then the invoice status will be updated to “Open” (as per FreeAgent). The invoice status will be shown alongside the order on the Woocommerce > Orders 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 FreeAgent invoice, provided that it is editable at the time.Manually creating invoices
If you are not automatically generating invoices, a button for these actions will become available to you on the WooCommerce > Orders screen: Also under Order Actions on the individual order edit screen:Synchronizing Payments
If Synchronize Automatically is enabled, a manual payment is added to the corresponding FreeAgent invoice, marking it as “Paid” when a WooCommerce order status is updated to processing/completed. A periodic check will ensure WooCommerce order statuses match FreeAgent invoice statuses, updating order status if necessary. Invoice ItemsEach order item is added to the invoice as a separate line item with its corresponding tax rate.FreeAgent Metabox
A metabox is added to the edit order screen for viewing the corresponding FreeAgent invoice and its status (in summarized mode, this links to the daily invoice).FAQ
↑ Back to topMy application has disconnected from my FreeAgent account, what can I do?
↑ Back to top- Consider switching to Summarized Mode, since this reduces the number of requests to FreeAgent, helping avoid API rate limit issues (recommended).
- Consider disabling Synchronize Automatically, since this option repeatedly checks open invoices, comparing them to orders until the invoice is marked as paid.
How can I match up my Stripe payments with my invoices/sales entries when they’re a different amount?
↑ Back to top* £106.29 into bank account
* Explain as £108
* Explain resulting debit as charges
Please consult a professional before using this method to ensure it’s suitable for your company.
WooCommerce allows prices to be set with more than 2 decimal places, causing inconsistencies when compared to FreeAgent, which only allows 2 decimal places. This can result in a 1p difference when the systems are rounding subtotals. To handle this you can:
Version 1.6.0 updates the data structure and invoice generation method in summarized mode. Upon installing this version, a notification will prompt you to migrate the invoice data. This ensures the invoice(s) created at the end of the day are correct. New features include support for multi-currency, EC goods and services, and VAT MOSS.
If you make a change within your FreeAgent account you should then check the settings within your WordPress application, and update them to match. Not doing so could cause issues with invoices being generated as some specific settings are required, these include: Accounting category for invoices, FreeAgent user email address and Bank account. If any of these settings are removed/changed within FreeAgent and not updated within your WordPress settings you may see errors logged and invoice generation failed. Simply visit WooCommerce > Settings > Integration > FreeAgent, update the required settings and click “Save changes” to fix this.
Yes, there is a filter available in the plugin which will allow you to run it in sandbox mode. The following snippet can be used in your active child theme or wherever you would insert custom code:
add_filter( ‘woocommerce_freeagent_is_sandbox’, ‘__return_true’ );
You will also need a FreeAgent sandbox account which you can sign up for here. Setting up an application works in the same way as with a live account (the same application credentials can be used).
Why are my invoice totals showing 1p different to my order totals?
↑ Back to top- Consider disabling “Rounding”in WooCommerce > Settings > Tax (Round tax at subtotal level, instead of rounding per line).
- Consider manually adding a 1p discount line item to erroneous invoices created in FreeAgent.
- Consider creating a new spending category in FreeAgent called “Rounding Errors”, and set it as N/A for VAT. Then, explain the incoming transactions as the full invoice amount including the rounding error, and explain the leftover penny as “Rounding Errors”