by Business Fundamentals

SuiteCRM BI-Directional link to Xero
Automated BI-DIRECTIONAL synch between SuiteCRM and Xero, synch most recent record. Accounts, Contacts, Invoice and Products, connect and forget. Synch based on your criteria. This module also gives you the ability to manually update Accounts/Contacts/Invoice records to/from Xero

Cancel at any time!
Free Trial

Admin Guide


Synchronisation Settings


There are a number of options available to you in the Xero Configuration Settings module that control how your synchronisation with Xero is implemented. Please read the following before completing/saving your Synch settings

Synch with Xero drop down
NO Synch: no records will synch with Xero AUTOMATICALLY Your manual synch options will still be available
Synch to Xero: synch changes in SuiteCRM records TO Xero ONLY
Synch from Xero: synch changes in Xero TO SuiteCRM ONLY
Synch MOST recent records: when records are changed/created in Suite, they are IMMEDIATELY sent to Xero. When records are changed/created in Xero they are IMMEDIATELY sent to SuiteCRM (nb there can be a slight lag from Xero in records being updated dependent on a number of things, web speed, site latency etc. Please refresh your records detailview window until the record changes to get some idea of the time taken)
Xero Log: When you're having problems, turn on the Xero Log function to give you the best chance of quickly finding the problem. This will affect the speed of the module, so we recommend to only turn on logging when needed

Which Records? drop down
ALL Records: all records are synched with Xero
Selected Records ONLY: only those records that have their Synch to Xero checkbox field selected will be synched

Update Records From datefield
Only records created AFTER this date will be synchronised

Update and Create tick boxes
Select the options here to define which records, and what actions should be synched. A delete action is available as well. Check boxes for this action (deleted in Suite and archived in Xero) can be added to the Edit and Detail views of the Xero Configuration Settings from the Admin -> Studio interface

Greenfields Installations

If you have EITHER an empty Xero installation and a populated SuiteCRM installation OR an empty SuiteCRM installation and a populated Xero installation, you can use the Xero Configuration Settings -> Detail View -> ACTIONS menu to either Send Records to Xero OR Get Records From Xero


Running these routines with records in BOTH apps attempts to match records based on their names. If you don't want extraneous records created in either application you need to ensure that ALL names are unique We recommend a CSV dump from both applications and using Excel and VLOOKUPs/Count functions to locate identical names and fix BEFORE running these and other routines that create accounts/contacts in either platform. Once this routine has completed, records will be linked using their respective application ID fields.

Dependent on the number of records in EITHER platform, these routines can take some time to complete. If you experience time-outs you may have to increase your php.ini -> max_execution_time variable

Xero Link Fields

Once the Suite to Xero connector has been installed you may want to make some changes to the List and Detail views of the Invoices, Accounts and Contacts modules to take advantage of the new fields that have been created. Your changes will be dependent on the selections you have made in the Xero Configuration Settings screen, e.g. in the Which Records? dropdown selecting Selected Records ONLY means you'll require the Synch to Xero field on the edit view of Invoices/Accounts/Contacts modules.

Our recommended changes are as follows.

In SuiteCRM, go to Admin -> Developer Tools section -> Studio:

ACCOUNTs module
1. Edit view -> Add the Synch to Xero field
2. Subpanels -> Contacts: Add Xero Primary Contact field
3. Subpanels -> Invoices: Add Xero Link, Xero Expenses Code

CONTACTs module
1. Edit view -> Add Synch to Xero and Xero Primary Contact fields
2. Detail view -> Add Xero Primary Contact field
3. List View -> Add Xero Primary Contact field
4. Subpanels -> Invoices: Add Xero Link and Xero Expenses Code

INVOICEs module
1. Editview -> Add Synch to Xero, Type and Xero Expense Code fields
2. Listview -> Add Xero Link, Type and Xero Account fields

What is the Xero Primary Contact field for

We've created a custom field for the Contacts module that allows you to set the Xero Primary Contact when synching data to/from Xero. If you have Accounts in Suite that have MORE than 1 related contact, we need to know WHICH of those contacts do you want to designate in Xero as the email recipient for Invoices, the Primary contact. If NO related Contact is designated, we will send the first 5 contacts, sorted by lastname, ASC to Xero and as your system changes over time, the person you assign in Xero as the primary contact may be overwritten by later synchs from Suite

Create a link from Xero to SuiteCRM

When we send an Account/Contact record to Xero we also send the ID of that record and store it in the Xero Contact -> Account No. field. To create a custom link to the SuiteCRM record from Xero do the following:

  1. In your Xero account go to Settings -> General Settings -> Custom Contact Links
  2. Click on the Add A Custom Link button
  3. Enter a name in the Name field e.g. Xero to Suite
  4. In the Link Definition field enter https://YourSuitecrmURL/index.php?module=Accounts&action=DetailView&record=
  5. Select ALL of that text
  6. From the Contact fields chooser, select the Contact Account No. field
  7. You should now see the URL change to https://YourSuitecrmURL/index.php?module=Accounts&action=DetailView&record={!CONTACTACCOUNTNO}
  8. Save the link record and view a contact, you should see your custom link on the right hand side of the window in the Contact Details section

IMPORTANT This link will ONLY work with records created from the module that you selected in the URL, in the above example the Accounts module, any records created from the SuiteCRM Contacts module will not link correctly.

What about Accounts or Contacts that are already in Xero?

When you click on the Send to Xero button from an Account or Contact record, we check for the existence of the contact. This initial check is based on matching NAMEs Names MUST match EXACTLY If they are found, we will bring back to SuiteCRM the Xero ID of that contact and create a link in SuiteCRM to that Xero record. Once those fields have been filled, the Manual button in the SuiteCRM Account/Contact record changes to Update Xero. Once the initial linkage has been created records are connected via their ID fields.

Saving Comment Saving Comment...