To enable the Xero integration, go to Configuration > Integrations, and enable the module using the plus icon in the top right hand corner of the Xero menu icon. Once the module has been enabled, click the menu icon to begin configuring it.
Connecting to Xero
You are required to connect to your Xero account before you can proceed with any further configuration. Start the authorisation process by clicking the Connect Now button.
You will be redirected to the Xero login screen. Once logged in, you will be asked to choose which tenant you would like to connect to. Confirming this choice will redirect you back to the Xero module in Halo, where you will now see the rest of the configuration options available.
The top section of the module now displays the tenant which you are connected to. Should you wish to change this, or remove Halo's access to your Xero tenant, use the disconnect button. You can also remove Halo's access to Xero by browsing to Company > Settings > Connected Apps in Xero, however, be aware that this will still show as connected in Halo and you will still need to use the disconnect button to clear all saved details.
All of your tax rates in Xero should be mapped to a tax rate in Halo. It is important that this step is completed before proceeding with importing customers and items, otherwise tax rates will not be applied correctly during the import. It is also recommended that you have a 1-1 relationship for your tax rates, and that you do not have extra rates in Halo that are not mapped to a Xero rate.
Tax rates can be imported from Xero using the button available. Alternatively, you can map each tax rate manually by opening the tax rate edit screen. It is recommended that you use the import functionality to ensure that every Xero tax rate is created in Halo.
Any contact which is listed in Xero as a customer can be imported from Xero into Halo. If you are using the additional top level functionality in Halo, you can choose which top level you would like customers to be assigned to during the import.
Once ready, click Import Contacts to bring up the importer screen, and import any contacts you would like to be created in Halo. If you are importing for the first time, Halo will look for existing customers that have the same name or account number as a Xero customer. If found, the existing record will be updated. If a customer has already been imported from Xero, they will be identified using the Xero ID which they will have been assigned previously, and updated accordingly.
Once a contact has been created as a customer in Halo, the majority of the details including the contact's user details can be found on the settings tab for that customer, under Billing Settings. Other information such as the phone number and addresses for that contact will be assigned to the main site at the customer, which will have been created or updated during the import.
Any existing items you have in Xero can be imported and created as items in Halo. Before proceeding with the item import, you should ensure that you have selected a group that the items will be assigned to during the import.
Once ready, use the Import Items button to open the importer screen to begin the import. If you are importing for the first time, Halo will look for existing items that have the same name or sales account code as a Xero item. If found, the existing record will be updated. If an item has already been imported from Xero, they will be identified using the Xero ID which they will have been assigned previously, and updated accordingly.
Syncing to Xero
Whenever a customer, item or invoice is created or updated in Halo, the changes can be automatically replicated in Xero. To enable this functionality, ensure that the Enable Syncing to Xero option is enabled.
There is also an additional option for you to specify a default item code. It is recommended that this is used, otherwise you may see errors if trying to push invoices to Xero which contain items that have not been assigned an item code (has not been synced to Xero).
For customers and items, any field which has been imported during the Xero import can be updated/set in Xero when an entity is updated in Halo. This includes the following fields.
Contact first name
Contact last name
Active status (a contact will be Archived in Xero when made inactive in Halo)
Sales tax code
Purchase tax code
Sales tax code
Purchase tax code
If an update should fail for whatever reason, an error will be displayed on the screen informing you of the issue. If you are creating a new customer or item in Halo, and you do not want them to be created in Xero, the Account number (customers) or the Item code (items) field should be left blank. Deleting customers or items from Halo does not delete them from Xero, however, deleting invoices in Halo will automatically delete them from Xero.
The following fields can be sent to Xero during invoice creation, and can also be updated after the invoice has been created, with the exception of the customer field, which can be chosen during the creation process only.