Xero Contact Mapping

Xero Contact Mapping

In Article Navigation can be found to the right of this article or via the buttons below


Because we hold accounting records it is important that we do our very best not to duplicate contacts between systems. Loft47 connects with many other systems you use in your business everyday, so in order to match as best as we can, we’ve developed a very sophisticated contact matching algorithm. 

Syncing Rules

When a transaction is posted, Loft checks the contact type in both Loft & Xero. If the contact doesn't exist in Xero, Loft will create the contact in Xero and automatically link that Xero contact to the "Linked Xero Contact" field in the Loft Contact.

During a Sync and Before a Batch Loft will perform the following:
  1. Pull every contact from Xero, updating existing contacts, creating new contacts, and pulling in any A/P and A/R balance in Xero.
  2. Push newly paid agents and their Org contact if the payable name field is set to be payable to the org in Loft.
  3. Attempt to Linked the contact to its respective Xero contact.

Contacts/Agents Paid to a Company Name/Organization

If a Contact/Agent is set to be paid to a Company/Organization, Loft will post all bills and credit notes to the Organization name.
Please note: Invoicing in Xero should be created with the Organization's name reflecting the syncing rules.

Agent and Organization Syncing Rule

The agent contact is always the Principal contact that all financials are associated with, regardless if that contact is set to be paid to the Organization. All AR/AP balance in Xero will sync to the Agent contact in Loft. If the agent is paid to the Organization, the AR/AP balance in Xero will sync to both contacts.

Linked Xero Contact field(s)

Contacts

The 'Linked Xero Contact' field must be linked to its respective Xero contact

Contacts/Agents payable to a Company/Organization

Any contacts payable to a Company/Organization, the 'Linked Xero Contact' field must be linked to its respective Xero Company/Org contact and the Profile Contact's 'Linked Xero Contact field must be blank.




Missing or Blank Linked Xero Contacts

Sometimes the 'Linked Xero Contact' field will be blank. This might be due to not having done a hard 'Xero Sync' in your Xero/Activity page (clicking the blue 'Sync Xero' button) for a while!

Blank

The field will have no contact present.
Search and select the contact from the dropdown to relink the contact.


Missing contact

The field will have a red 'Unlink' button present
If Missing, click the 'Unlink' button
This will clear the stuck field and make it blank
Search and select the contact from the dropdown to relink the contact. Please note, sometimes the 'Unlink' button will stick. If stuck, navigate to your Xero/Activity page and click the blue 'Sync Xero' button and let the sync fully run. If this does not resolve the issue, please reach out to support for assistance.

Missing Searchable Field

If you can't find the contact in the search functionality, this might be due to not having done a hard 'Xero Sync' in your Xero/Activity page (clicking the blue 'Sync Xero' button) for a while or have made a change to the contact on the Xero side. Navigate to the Xero/Activity page and perform the sync, once it fully runs, please head back to the contact to see if has either auto populated in the field or is searchable. 

Multiple Contacts in Searchable field

If you have more than one contact displaying in the searchable dropdown, this is a good indication that either the Xero contact has been changed or archived in Xero. You will need to head to Xero/Contacts and search in both the 'All' tab and 'Archived' tab to see if the contact is present in both tabs. Any duplicate contact present in the Archived tab that has an email associated with it, you will need to restore the contact, remove the email, and merge the duplicates on the Xero side. Please note, any change requires a 'Sync Xero' operation on the Loft side.

Disable Sync

When you choose to disable the Xero Sync in the profile in Loft it will no longer try to match any of the above criteria.  If it is currently ‘Linked’ to a Xero contact AP and AR balances will continue to update.

Contact Matching Algorithm Process

Loft will always match when the email in both apps match.
If the emails do not match across both apps, then Loft will attempt to match and compares sequences/groups of three characters. Two records match when 60% or more of these sequences align.

Preprocessing

The input strings are preprocessed to remove any leading or trailing spaces, and are converted to lowercase for case-insensitive comparison.

Trigram Extraction

The preprocessed strings are then divided into trigrams. Trigrams are generated by taking each consecutive set of three characters from the string, including spaces if present. For example, the trigrams of the string "example" would be "exa", "xam", "amp", "mpl", "ple".

Trigram Matching

The trigrams of the two input strings are compared to find the common trigrams. The number of common trigrams is counted, and this count is used as a measure of similarity. Similarity Calculation The similarity between the two strings is calculated using the Jaccard similarity coefficient, which is defined as the ratio of the number of common trigrams to the total number of unique trigrams in both strings. The formula for calculating Jaccard similarity is: Jaccard similarity = (Number of common trigrams) / (Total number of unique trigrams)

Scoring

The Jaccard similarity coefficient is then multiplied by 100 to get a similarity score as a percentage, with 100% indicating a perfect match and 0% indicating no similarity.

Example of Matching Algorithm

Here's an example of how two words, "example" and "samples", are scored using the trigram algorithm:

Preprocessing

The input words are converted to lowercase and trimmed of leading/trailing spaces: "example" and "samples".

Trigram Extraction

Trigrams are generated for both words: For "example": "exa", "xam", "amp", "mpl", "ple" For "samples": "sam", "amp", "mpl", "ple", "les"

Trigram Matching

Common trigrams between the two words are: "amp", "mpl", "ple".

Similarity Calculation

The number of common trigrams is 3, and the total number of unique trigrams in both words is 5. So, the Jaccard similarity coefficient is 3/5 = 0.6 or 60%.

Scoring

The similarity score between "example" and "samples" is 60% using the trigram similarity algorithm.


    • Related Articles

    • QuickBooks Online Contact Mapping

      In Article Navigation can be found to the right of this article or via the buttons below Syncing Rules Linked QuickBooks Online Contact Fields Contact Matching Because we hold accounting records it is important that we do our very best not to ...
    • Merge Contacts

      Merging Contacts PLEASE READ & WATCH THE VIDEOS OF THIS ARTICLE THOROUGHLY! We’ve opened up the ability to merge contacts for everyone using Loft. However, there are a few things we need to mention before you start to merge your contacts. Firstly, ...
    • Contact types explained

      Internal contact types  These contacts you use for internal use: Admin - this type can have full or office access to brokerage menus, deals, reports, etc.  You would assign your admin or conveyancer to this profile type and then reach out to us to ...
    • Adding People to Loft

      Head to the People's page under your Brokerage Menu Click the 'New' button Fill in the contact's information The fields highlighted in yellow are required The fields with blue borders are required if the contact is an Agent, contact that's paid to an ...
    • Xero/Loft - Common FAQ's

      Xero Support For General Xero help, please visit https://central.xero.com User Roles in Xero https://central.xero.com/s/article/User-roles-and-permissions-in-Xero-Business-edition-GL#UserrolesandpermissionsinXeroexplained Setup a bank feed You can ...