Data Quality Guards

Updated 8 Sept 2026

Some differences between Xero and Salesforce can't be resolved automatically. Rather than failing a whole record, TwoCanConnect handles them predictably.

Values too long for Salesforce

Xero allows longer values than Salesforce in a few places — phone numbers (50 vs 40 characters) and emails (up to 255 vs 80).

When a value doesn't fit, the contact still saves, with this marker in that field:

Too long for SF - shorten in Xero

You get one warning per contact in the log rather than the whole contact failing to sync every cycle, which is what used to happen.

The marker never reaches Xero

It exists only in Salesforce. Editing the field in Salesforce pushes your new value to Xero like any other edit.

The fix is to shorten the value in Xero; it syncs across normally on the next cycle.

Voided and deleted documents always win

An invoice voided in Xero flips to VOIDED in Salesforce even if the Salesforce record was touched afterwards. The same applies to bills, purchase orders, quotes and archived contacts.

This is the one place where "most recently edited wins" is deliberately not the rule. A voided document is void — a later edit in Salesforce shouldn't quietly resurrect it.

Warnings don't fail a cycle

Sync History counts errors only. A warning — a field too long, an automation conflict — doesn't mark the cycle failed. A cycle that did its job with two warnings is reported as completed, because it did.

Matching cascades to documents

Matching a Xero contact to a Salesforce Account re-parents that contact's invoices, bills, purchase orders, quotes and credit notes to the same Account. It applies in the Matching Tool and in scheduled matching.

You don't need to fix the documents separately after matching an account.

Field mappings survive upgrades

Custom target fields and mapping set ids are preserved across package upgrades, and orgs affected by an earlier bug are repaired on the next upgrade.