Should the system of record be one system, or can different systems own different fields?
Per-field, almost always. One system owns the service address, another owns the marketing source, another owns invoice totals. Declaring one whole system the master forces you to overwrite fields it holds badly. Write down which system is authoritative for each field that matters, then make every integration read that field from its owner and never write to a field it does not own. That table is the real integration spec.
Nobody owns everything
Ask which system is the source of truth for a home services business and you will get an argument. The field service platform knows what work was done and what it was worth. The ad platforms know what was spent. The telephony system holds the recordings. The CRM holds the pipeline. None of them is authoritative for the others' data, and every one of them contains a degraded copy of it.
The degraded copies are the problem. Your field service system probably has a lead source field, and it is probably populated by whoever answered the phone. That does not make it authoritative for attribution.
What the ownership table looks like
- Ad spend and impressions — the ad platform. Nothing else should ever write it.
- Call recording, duration and tracking number — the telephony platform.
- Job status, completion and invoice amount — the field service system.
- Resolved lead source and campaign — the integration layer, because no single upstream system can see the whole journey.
- Customer identity and merge decisions — usually the operational system, with the integration layer proposing matches rather than making them.
Ownership implies a write rule, not just a label
The table is worthless as documentation alone. It becomes real when it is enforced: the sync that pulls from Google refuses to write anything but spend fields, the sync that pushes AI-derived values writes only into fields prefixed for that purpose, and no automation writes a field a human is expected to edit.
Without that rule you get ping-pong. Two integrations each believe they own the customer's phone number and rewrite it in turn, generating an update event each time, which triggers the other. The record thrashes and the audit log fills with changes nobody made.
The contested fields, and how to settle them
Three fields cause most of the fights: phone number, lead source, and appointment time. Settle them by asking who has the most direct evidence, not who has the nicest interface. The tracking platform saw the actual inbound number. The click carried the actual campaign. The dispatch board holds the actual scheduled time.
Write the answers down before anything is built. It takes an hour, and it prevents the class of problem that makes systems integration projects run long. It is also what lets revenue reporting survive being questioned, because every number traces back to a named owner.
Topics: system of record · data governance · integration design · data model
Have a version of this question about your own business?
The useful answer usually depends on which systems you run and how they're connected. That's a conversation, not a blog post.