Find or create the right Xero contact, every time
Every invoice from a signed quote should land on the client's existing Xero contact, not a near-duplicate. These Zaps find before they create, and use a shared key so the match is exact.
- 5/5 on G2
- 4.2 on Capterra
- Building QuoteCloud since 2013
In the invoice Zap, Xero's Find or Create Contact searches by name and creates the contact only when there's no match. Separately, QuoteCloud's New Contact Created can run Xero's Create/Update Contact, with the QuoteCloud contact ID in Xero's account number, and Xero's New or Updated Contact can run QuoteCloud's Find or Create Contact by email.
Last reviewed by the QuoteCloud team
Two overlapping panels with sample data. Behind, Ledgerline Advisory's QuoteCloud contacts: Ana and Tom Ribeiro of Hearth Lane Bakery Ltd, added by Chloe Tan, and Leo Banerjee of Banerjee Joinery, found or created by a Zap from Xero. In front, an illustration of the Hearth Lane Bakery Ltd contact in the accounting app: Ana Ribeiro as the primary person, the account number QC-30418 set by a Zap, and the paid onboarding invoice in its history.
Contacts QuoteCloud address book
- ARAna RibeiroDirector · Hearth Lane Bakery Ltdana.ribeiro@example.com Added by Chloe · sent to Xero
- TRTom RibeiroDirector · Hearth Lane Bakery Ltdtom.ribeiro@example.com Added by Chloe · second director, added in Xero by hand
- LBLeo BanerjeeOwner · Banerjee Joineryleo.banerjee@example.com Found or created by a Zap from Xero
ContactHearth Lane Bakery LtdCustomer
- Primary person
- Ana Ribeiro
- ana.ribeiro@example.com
- Account number
- QC-30418 Updated by a Zap
- Secondary person
- Tom Ribeiro
- Sales account
- 260 · Fee income
- Invoice due
- 14 days after the invoice date
Activity timeline
- Invoice INV-3307 paidOnboarding fee, reference LA-1042Tue 14 Jul · 8:16 pm · Added by a Zap
- Secondary person addedTom Ribeiro, added by Sofia AlvarezTue 7 Jul · 10:15 am
- Contact createdFrom Chloe Tan's new QuoteCloud contactTue 7 Jul · 10:02 am · Added by a Zap
Illustration with sample data: a generic accounting contact, not Xero’s screen.
Why do duplicate contacts happen?
Ledgerline Advisory onboards new clients from QuoteCloud: Chloe Tan adds the directors, sends the fee proposal and the engagement letter. Sofia Alvarez runs the books in Xero, where Hearth Lane Bakery Ltd might already exist from last year's tax work, or might be typed as 'Hearth Lane Bakery'.
A Zap that always creates a contact makes a second one, and the invoice lands on the wrong record. Finding first, and keeping one shared key in both apps, keeps the client's history in one place.
- Xero's Find or Create Contact searches before it creates.
- Xero's account number holds the QuoteCloud contact ID, so a search by account number is exact.
- A Xero contact is the business; the people are its primary and secondary persons.
How do new QuoteCloud contacts reach Xero?
One Zap, QuoteCloud to Xero, with the QuoteCloud ID kept as the shared key.
ZapNew QuoteCloud contact: create or update in Xero
-
When
QCQuoteCloudTriggerNew Contact CreatedFires when a contact is added to the address book.Passes on
- Name
- Company
- Contact ID
-
Then
XeroActionCreate/Update ContactCreates the contact, or updates it if it already exists.Mapped in- Contact Name: company, else the person
- Account Number: contact ID
- Primary Person - First Name
- Primary Person - Last Name
- Primary Person - Email
Two directors of one business are two QuoteCloud contacts but one Xero contact: add the second person in Xero, or the second Zap run updates the primary person.
Chloe adds Ana Ribeiro, director of Hearth Lane Bakery Ltd, to QuoteCloud on Tuesday morning. Six minutes later Sofia sees Hearth Lane Bakery Ltd in Xero, with Ana as the primary person and QC-30418 as the account number, before any proposal has been sent.
Result
Clients exist in Xero from the day they enter QuoteCloud, under one name and one key.
QuoteCloud's Zapier app: Essentials and up
Client onboarding for accounting practicesAnd the other way: Xero contacts into QuoteCloud
A second Zap, Xero to QuoteCloud, for clients your finance team adds first.
ZapNew Xero contact: find or create in QuoteCloud
-
When
XeroTriggerNew or Updated ContactFires when a contact is created or updated in Xero.Passes on- Name
- Primary Person - Email
- Only if ZaFilter by ZapierFilterOnly continue if the contact has an email address and is a customer.
-
Then
QCQuoteCloudSearchFind or Create ContactFinds by exact email, creates only when there's no match, so it never updates or duplicates.Searches on
- First name
- Last name
- Company
No loop: this Zap only finds or creates, so a contact the first Zap sent to Xero is found in QuoteCloud and left alone. The same jobs can be built in Make, bring your own.
Sofia adds Leo Banerjee of Banerjee Joinery in Xero after a referral call. When Chloe opens QuoteCloud to send him a proposal, he's already in the address book.
Result
Whichever app a client starts in, the other one knows them.
Field map for the contact Zaps
| Direction | QCQuoteCloud: QuoteCloud field | Goes into | Example (sample data) | Note | |
|---|---|---|---|---|---|
| New Contact Created → Create/Update Contact | |||||
| Contact Name | QuoteCloud to Xero | Company, else first and last name | Xero contact field | Hearth Lane Bakery Ltd |
|
| Account Number | QuoteCloud to Xero | Contact ID | Xero contact field | QC-30418 |
The shared key. |
| Primary Person - First Name, Last Name | QuoteCloud to Xero | First name, last name | Xero contact field | Ana Ribeiro |
|
| Primary Person - Email | QuoteCloud to Xero | Xero contact field | ana.ribeiro@example.com |
||
| New or Updated Contact → Find or Create Contact | |||||
| Primary Person - Email | Xero to QuoteCloud | Search value | leo.banerjee@example.com |
Exact match. | |
| Name | Xero to QuoteCloud | Company | Contact field | Banerjee Joinery |
|
All values are sample data. Check the field names in your own test data.
Rules that keep contacts clean
One key in both apps
Xero's Find Contact searches by name or account number. With the QuoteCloud ID in the account number, the search is exact even when names differ slightly.
Business first, people second
Name the Xero contact after the business the invoice goes to, and put the person who signs in its primary person.
Two Zaps, two directions
Each Zap runs one way. Finding before creating in both directions means neither one makes duplicates or overwrites the other.
One client, one contact, in both apps
QuoteCloud's Zapier app is on the Essentials plan and up. Start a free 14-day trial and test the contact Zaps with @example.com contacts.
Build the contact Zap in four steps
- 1
Start with New Contact Created
In Zapier, choose QuoteCloud's New Contact Created and test it with a contact you add for the purpose.
- 2
Create or update in Xero
Add Xero's Create/Update Contact: the company (or the person) as Contact Name, the contact ID as Account Number, the person's name and email.
- 3
Use the key in the invoice Zap
In the invoice Zap, find the contact by account number when the trigger carries the contact ID, or by name.
- 4
Test, then turn it on
Check the contact in Xero has no twin, then switch the Zap on.
Questions about contacts
Will the Zap create duplicate contacts in Xero?
Not if it finds first. Xero's Find or Create Contact searches by name and only creates a contact when there's no match, and Create/Update Contact updates an existing contact. Keeping the QuoteCloud contact ID in Xero's account number makes the search exact.
Can Xero contacts flow into QuoteCloud?
Yes, with a second Zap. Xero's New or Updated Contact trigger starts it, and QuoteCloud's Find or Create Contact finds the contact by exact email or creates it. Each Zap runs one way, so contacts in both directions means two Zaps.
How do I handle a business with two directors?
Make the business the Xero contact and the signing director its primary person. The second director can be the secondary person, added in Xero. In QuoteCloud each director is a contact of their own, so both can be recipients and sign.
Do the two apps keep every contact change matched?
Only the changes you build a Zap for. Each Zap runs one way when its trigger fires: a new QuoteCloud contact creates or updates the Xero contact, and a new Xero contact is found or created in QuoteCloud. QuoteCloud's Contact Updated trigger can run Create/Update Contact for later changes, if you add that Zap.
More on QuoteCloud and Xero
Five use cases with the exact Zapier steps, a page for bookkeepers, then how to connect, test and what it costs.
- Turn signed quotes into Xero draft invoicesWhen the last signer signs, a Zap creates a draft Xero invoice with the quote number as its reference.
- Price-table lines and Xero itemsThe chosen price-table rows as invoice lines, and your QuoteCloud product library kept in step with Xero items.
- Record QuoteCloud deposits in XeroDeposits paid on the quote through Stripe or PayPal, recorded against the Xero invoice by its reference.
- Attach the signed PDF to the Xero invoiceThe signed quote goes on the invoice as an attachment, in the same Zap, as the record of what was agreed.
- QuoteCloud and Xero for accountants and bookkeepersWhat to set up in Xero, the controls that stay with you, month-end matching, and fee proposals to repeating invoices.
- Connect Xero to QuoteCloud, step by stepCheck the plan, connect QuoteCloud and Xero in Zapier, build the invoice Zap and test it.
- QuoteCloud to Xero field mapEvery field the Xero Zaps on this site pass, which way it travels and a sample value.
- Test and troubleshoot the Xero ZapsTest with a sample quote, then fix the usual problems: duplicate contacts, missing accounts, payments on drafts.
- What QuoteCloud with Xero can and can't doWhat the Zaps do, where they stop, Zapier or Make, and what we haven't confirmed yet.
- What the Xero connection costsEssentials and up for Zapier; Zaps that create Xero invoices, contacts or payments carry no QuoteCloud document fee.
- FAQAnswers to the questions finance teams ask before connecting QuoteCloud and Xero.
Found first. Created only when new.
Start a free 14-day trial and keep your QuoteCloud and Xero contacts matched with two Zaps.
ContactsFree 14 days · no card
Start free trial