Xero Integration
Workflows

Contact matching between SwiftFox and Xero

Match SwiftFox contacts to Xero to avoid duplicate invoices.

ID:
273

When you send an invoice from SwiftFox to Xero, SwiftFox needs to attach it to a Xero contact. To avoid creating duplicate Xero contacts, SwiftFox performs contact matching at the moment an invoice is sent. This applies to both Person and Organisation profiles.

How matching works

When an invoice is integrated/sent, SwiftFox matches the SwiftFox contact to an existing Xero contact using three fields:

  • First name
  • Last name
  • Email
  • If a Xero contact matches on first name + last name + email, SwiftFox links the invoice to that existing Xero contact.
  • If no match is found, SwiftFox creates a new Xero contact and links the invoice to it — unless the connected organisation's Miscellaneous settings narrow which Xero contacts transfer and this one falls outside that choice, in which case the invoice may be skipped on its first import instead. See Configuring mappings for those settings.

When it runs

Contact matching happens when the invoice is sent/integrated to Xero — not when you first open or draft the invoice. The customer details on the invoice are what SwiftFox uses to perform the match.

Scope

  • Applies to both Person profiles and Organisation profiles.
  • Applies to invoices raised from a profile's Financial tab, as well as invoices generated through standard Forms and Events ticketing.

Best practice to avoid duplicates

  • Keep the SwiftFox contact's first name, last name and email accurate and consistent with how the contact appears in Xero before sending the first invoice.
  • If a contact already exists in Xero, ensure the same email and name are used in SwiftFox so the match succeeds and a duplicate is not created.
  • Remember that matching is based on an exact match across all three fields — a different or missing email means SwiftFox will not link to the existing contact. What happens instead depends on the connected organisation's Miscellaneous settings: normally SwiftFox creates a new Xero contact, but where those settings narrow which contacts transfer and this one falls outside that choice, the invoice may be skipped on its first import rather than link to the existing one.