Add Invoices to Xero

Monday, Dec 9, 2019

Xero is a popular online accounting package. offers a service that automatically creates invoices from your registration/document workflow. You can for example, automatically invoice when a customer has registered, or alternatively automatically invoice when a customer has paid online, eg via paypal, ezidebit or worldpay.

Xero integration uses the latest API functions available to enable a range of services,including the automatic creation of contacts within Xero when creating an invoice, linking to your preferred account and appending all the sales from one course to the same invoice.

  • Connect Xero with by generating a public/private key-pair

  • Follow the instructions on Xero to set up a Private application

  • Take a note of your Consumer Key and Consumer Secret

  • Add a new Export Map

  • Make it of type ‘Xero Contact and Invoice’

  • Add your Consumer Key

  • Add your Consumer Secret

  • Add your Private Key that you created earlier

  • For each of the ‘Export Name’ values that you want to populate with data in Xero selected your preferred data from the Record Type within

  • The definition of what acceptable values can be used in Xero for contacts are found here.

  • Link the export map to the rules that are applied when an invoice is necessary. To create a ‘Paid’ invoice you will need to have two exports, applying a different status each time.

Keep in mind

Configure the Accounting Code field on the Tax Rule configuration to use the correct Account Code in Xero for the tax applied. It defaults to 200, ie Sales. See here for details

Tracking payments/invoices reporting and searching. allows a range of searching, tracking and reporting support features. The settings that suit you will depend on your needs, be sure to consult with staff to leverage our knowledge and expertise to make this work for you.

  • Tracking sales by branches or Course Providers:* The branch name is included in the reference so you can use that when searching. If you need to have sales from branches in different Xero Accounts then create a branch Tax Types and then Tax Rules for branches (or for each branch if you need to track each branch separately).

  • Tracking by Venue or course date external identifier* These details are included in the invoice reference field so that filtering can be applied or searching can mean those relevant courses can be found easily.

Using Document Agents

If a document agent is on the document then the documents are grouped in Xero to the same invoice, using an invoice identifier made up of the DocumentAgentId-CourseDateId. This means that when there are multiple bookings for the same agent on the same course these are grouped together for invoicing purposes.

In the event that all participants are enroled for the same customer, create a document agent for that customer so that all enrolments appear on the same Xero invoice.

Catering for different invoicing scenarios

Invoice Number

  • By Default all documents are exported with the document External Identifier.
  • When a document agent is specified invoice number will be in the format of DocumentAgentId-CourseDateId eg: 423-6534


Uses course date external id if present otherwise use course date internal id and include the location, course category, branch and provider names. Examples:

  • course date internal id: 7648 Brisbane CPR Joes Training First Aid RUS,
  • course date external id: RTG-Jul-CPR Brisbane CPR Joes Training First Aid RUS


  • By Default all documents are linked to a new contact as specified on the document
  • If document agent is present, document invoices will be linked to the Document Agent Identifier as contact (unique key) as the invoice number eg: 423 can cater for the following scenarios:

Scenario 1: Invoice each person who enrols on a course, sending the invoice automatically to the contact and then record it in Xero for accounting purposes.

Scenario 2: Private courses invoices should be linked to a central contact, recorded in Xero for accounting purposes.

Scenario 3: Groups of students on public courses should be linked to a central contact, recorded in Xero for accounting purposes

Scenario 4:


  • Address Mapping is driven by Xero, which lists multiple address lines - these can be used to map regions if necessary. Addresses are set as STREET automatically, rather than POSTBOX.

  • PhoneType is automatically set to Mobile; hence the labeling used

  • The export does not export the Contact, it exports the Document

  • Email Invoice does not current work - this is a future function

  • Troubleshoot by logging into your Xero account and visit then look at ‘history’.

  • Also search the logs within System > Logs and filter by the batch identifier ‘40’ in the ‘Batch’ field.