# Edit the same contact in both systems before sync runs

A controlled conflict shows whether ownership rules survive real timing. Verify the chosen value and the evidence retained for the losing change.

By Cobnex editorial. Published 2026-09-10. Updated 2026-09-11.

## Create a known starting record

Use a synthetic contact with a confirmed cross-system identity mapping. Set the same initial value in both systems and record the relevant versions.

Choose a field with an explicit ownership or conflict policy. Without that expected result, the test cannot distinguish correct behaviour from whichever update happens last.

Keep unrelated fields stable so the first exercise isolates one disagreement.

## Make two legitimate edits

Change the value in the authoritative source, then make a different change in the destination before synchronisation completes. Release the queued or delayed source event.

Inspect the final values and the integration record. If the policy requires review, both proposed values should remain available through the controlled conflict path.

If the source is authoritative, verify that the destination's conflicting edit is handled according to the agreed business process rather than silently disappearing from every audit view.

## Reverse arrival order and add an echo

Repeat with events delivered in the opposite order. Include the change notification generated by the integration's own destination write.

Confirm the echo does not cause an endless update loop. Then make a genuine user edit immediately afterwards and verify that a broad time-based suppression rule does not discard it.

Use distinct operation identities and inspect actual writes so a quiet log does not conceal repeated provider calls.

## Test omission and clearing separately

Send a source payload that does not contain the field, followed by a deliberate clear under the supported policy. Verify that the two cases produce different intended outcomes.

For an authoritative required status, clearing may be rejected. For an optional instruction, clearing may remove the destination value. The test should reflect the field's rule rather than a universal null conversion.

Finish by running reconciliation and confirming that it reaches the same decision as live sync. Otherwise the nightly repair job may undo the behaviour the event path correctly preserved.

## Sources

- [HubSpot: contact API guide](https://developers.hubspot.com/docs/api-reference/legacy/crm/objects/contacts/guide)
