Support for

Xero accounting integration

James Scheck
by James Scheck 11 months ago

UPDATE: Move to OAuth 2.0 before 30 September 2021

Xero's OAuth 1.0a was discontinued as of 30 September 2021 - this means you'll need to move to OAuth 2.0 before this date in order for your Xero integration to continue working.

You can do this by visiting Workgroup > Invoices > Export and clicking the 'Upgrade to OAuth 2.0' button.

For more information, please click here to read our discussion on w3pin.

Connect w3p to Xero

You will need:

  • A Xero account;
  • Access to w3p via your Nettl, or w3p partnership.

Xero provides accounting software services internationally. With our custom integration, it's possible to export your customers, invoices, and payments from Flyerlink and into Xero.

NB: The integration only works one way:

Flyerlink information is sent to Xero,
Xero information can't be downloaded to Flyerlink.

What can I export from Flyerlink into Xero?

  • Customers
  • Invoices
  • Credit notes
  • Payments*
  • Overpayments**
  • Transfer price invoices

* To export payments you will need to set up a Bank Account in Xero to receive payments from.

** Payments are exported to Xero as allocations to posted invoices. If a payment has been created in Flyerlink but not allocated to a posted invoice yet, we will export it to Xero as an Overpayment. As soon as an Overpayment has been allocated to a posted invoice, we will allocate the Overpayment to that invoice in Xero.

What isn't supported?

  • Wages
  • HR Management
  • Purchasing and petty cash

All of these can be managed within Xero.

Connecting Flyerlink to Xero

To start importing your information to Xero. Log in to your w3p account:

1) Head to Workgroup > Admin > Workgroup Settings

Ensure your workgroup invoice export type is set to Xero


2) Head to Workgroup > Invoices > Export

You should see an option to export to Xero, if you see an option to export to Sage50 contact a member of your support team and they will change the export option for you.

3) Press the Sign in with Xero button

4) Sign in to Xero, select the organisation you want to connect to and then confirm the permissions

5) To receive payments in Xero

a) Add a bank account in Xero, and ensure the bank account has a nominal code selectable in Xero's Chart of Accounts

b) Choose your linked account via Workgroup > Invoices > Export and press Save.

Now you can start exporting.

Manually exporting

Choose your time frame of the period you want to export Flyerlink data into Xero.

Xero have a daily limit of 1,000 API requests a day, so you can only import a max of 3 months at a time. Importing weekly, fortnightly or monthly is more recommended.

When you start importing, you'll see a message saying the import has started. It will take awhile to run, the more you're importing the longer it will take. Don't worry, you can leave the page and come back to the export later.

You can see all previous Xero exports for your workgroup via Workgroup > Invoices > Export > Previous Xero Exports

Click an export to see an overview of which customers, invoices and payments were imported to Xero, along with any warnings if there were problems importing.

Did you know? The Xero exporter will only ever export invoices, credit notes and payments once.
If you choose a date range that's already been exported, we'll skip over information that's successfully exported.

This means you can go back in time to catch any invoices that might have failed without having problems of duplicate invoices or payments going into Xero.

Automatic exports

Flyerlink can also automatically send invoice Exports to Xero for you

All you need to do is tick “Auto export to Xero” via Workgroup > Invoices > Exports

Flyerlink then automatically send your invoices to Xero on the first working day of every week - immediately after your consolidated invoices are sent to your customers.

We'll log all the information sent along with any errors from Xero so you can review any time you need via Workgroup > Invoices > Exports > Previous Xero Exports.

The automatic invoice will be since your last export date (in upto 3 months batches), which will quickly become one weeks worth of invoices, purchases from Grafenia, customers and payments.

Custom tax rates

For the UK, US, NZ and Australia Xero comes with built in tax rate support

For other countries like Ireland, Netherlands and France to have full tax support you'll need to create tax rates in Xero and then map the Flyerlink tax rate to your custom rate.

1) In Xero head to
Create a new tax rate

Once you've made these head back to Flyerlink Workgroup > Invoices > Exports

Below the option to send data to Xero you'll see a section to map your tax rates

Pick the custom tax rates you've set up, otherwise we'll use a default tax rate which won't allow you to report on how much of each rate was used per invoice.

Nominal codes

The following nominal codes are used for information to be exported from Flyerlink into Xero:

Export Nominal code
Sales invoices 201
Transfer price invoices 301

(your bank account's nominal code)

If invoices are failing to export, please ensure 201 and 301 are not being used. You can change the nominal code in use to something else and the invoices will start to export.

That needs to be done in Xero Settings > Chart of Accounts

Change the nominal used to something else to make space for our integration

Payments will only be available for export after a bank account has been added in Xero, a nominal code has been chosen, and the bank account has been selected within Flyerlink.

Customer links

The integration works by creating new customers that we can send invoices & payments to

If you have existing Xero customers you can link the customer to your Xero account via Workgroup > Customers > View/Amend in the financial section

We need to know the right Xero customer ID if you're going to manually link
The place to find that is in Xero go to Contacts > All Contacts
Click the contact

Copy and paste the end of the url

Eg if the contact url is
The contact flyerlink needs is 1f27fab8-4275-46e1-8b58-4d543bfa3d77

Exporting for multiple workgroups

If you've got both a and Nettl workgroup, and you're switching customers between the two accounts, you can reuse the same connection.

After you've connected your first workgroup, head back to Workgroup > Invoices > Export and choose your second workgroup

You'll see a note "or use the same account as"

Select the first workgroup you've set up, and we'll reuse those details to send exports over.

Common questions

The export works well, but there are some potential issues you might encounter.

Xero daily API limit

Xero have a daily API limit of 1,000 requests. If you exceed it in one export, we won't be able to export the last items on the list and you'll need to reexport that time range.
Exporting little and often helps avoid this.

Duplicate customer, invoice and payment references

If you've created a customer in Xero with the same reference as our Flyerlink code, we'll assume they are the same person and reuse that customer for adding new invoices and payments.

If you've added an invoice with the same reference as our invoice code in Flyerlink, we won't try to update, change or add payments to it. We'll just show an error that the code isn't unique. This means your flyerlink invoice won't be exported to Xero if there's another invoice with the same reference as our invoice code.

Payments are the same, although it is very unlikely you will have a payment with the same reference we use in Flyerlink.

Defunct / archived customers

Xero complains about creating invoices or payments for customers that are marked as defunct.

Nominal codes

If you see an error Please enter a unique Code.

Then you will be using a nominal code in Xero we need to use. Please ensure 201 and 301 are not being used in the Xero installation for something else, as we use these to import Flyerlink information.


When do invoice & payments get exported?

Invoices will only be exported once they've been posted.

Payments get imported to Xero immediately, and allocated to a posted invoice as soon as the invoice is posted. If a payment was made and allocated to an invoice that hadn't been imported yet, we'll add that invoice too.

Why doesn't my bank account show?

Your bank account needs a nominal code to show as a bank account we can send money to.

To set this up, in Xero head to Settings > Chart of Account

Click your Bank Account to edit it

Add a code eg 501 for payments to go into

How do I reconcile bank feeds and Flyerlink payments?

If you connect Flyerlink to a bank in Xero we'll send all Flyerlink payment references over to Xero.
You may want to exclude the payment references and use the bank feed instead.

Another option is to add to help reconcile Stripe payments

Do we export invoice PDFs?

We just send Xero the invoice information, not the PDF we've created. Xero builds it's own that'll match the Flyerlink invoice and the reference means you can find the invoice in Flyerlink

How do I fix these errors?

An existing contact could not be found using the specified contact details. The contact name field is required to create a new contact.

This error typically means there's an issue with the customer that Flyerlink is linked with

Head to Workgroup > Customers > View/Amend
Click the link to see the customer in Xero

If the link is broken, then delete the link in Flyerlink first - it's likely the customer was deleted in Xero.

If the link works then make sure that contact isn't archived and is available to have data sent to it
Try resaving the contact and seeing if Xero present any errors

Account code '201' is not a valid code for this document.

This error typically means the nominal account we send invoices or bills to has become locked or moved

The way to solve is in xero to go to your chart of accounts - select the account code with the nominal you see and unlock it and ensure it's available as a sales or bill account.

You may need to talk to your accountant to fully resolve.

Seen something else?

Most of the Xero errors are explained here: and could be due to your set up.

You can always re-export old months if needed, we'll skip over everything that's successfully imported so re-exporting will be faster.

If you're concerned about anything not exporting, feel free to report to along with a link to the export you completed and an explanation of the problem - we may also need access to your xero account.


Jump to contents page of

Secrets & Chandeliers: FINANCE


All content is (c) Grafenia Operations Limited, 2022 and may not be used, copied or distributed without permission.