SIG9
BOTTLENECK · MAINTAIN

Two tools, two truths: which system is the source of truth

Pick the source of truth one field at a time. Each field, such as a client's email or a deal's stage, gets one owner tool, and every other tool reads from it. The CRM usually owns contact and deal fields. Changes flow one way from the owner, and an edit made anywhere else goes back to the owner.

The CRM says the client is on a monthly retainer. The project tool still lists them as onboarding. The invoicing tool has last year's billing address, and the monthly report counts a deal the CRM marked as lost. Each tool is right about something, and nobody can say which one to believe without asking the person who last touched it.

Why two tools end up with two truths

Most service businesses add tools one at a time, as the work needs them. Each new tool gets its own copy of the client, typed in or synced once at setup. After that, each copy is edited wherever the person happens to be working: the account lead updates the project tool, finance updates the invoicing tool, and sales updates the CRM. Nothing decides which edit wins, so the copies drift apart one small edit at a time.

The usual fix is to crown one tool the source of truth for everything. That breaks quickly, because each tool is good at different facts. A CRM is a poor place to run project status, and a project tool is a poor place to keep the deal pipeline. The rule that holds is narrower: one owner per field. Contact details live in one tool, invoice status in another, and every other tool reads from whichever tool owns the field it needs.

What two truths cost

Most of the cost is time spent checking. Before a renewal call, someone opens three tools to confirm what the client pays. Before a report goes out, someone reconciles the numbers by hand because the CRM and the reporting tool disagree. Every so often a wrong copy gets used, such as an invoice sent to a contact who left or a won deal missing from the forecast, and that is the kind of mistake a client notices.

Like duplicate contacts, this is coordination work spread thin across everyone who touches client records, so it rarely shows up as one line anyone can point at. The coordination cost tool turns your own hours and rates into a monthly figure.

The system shape: one owner per field

I'd settle ownership with a short table before building any sync. For each field that more than one tool shows, I write down the tool that owns it and the tools that only read it. Then every sync follows the table, so changes flow one way, from the owner out. If someone edits a field in a tool that only reads it, the edit is either sent to the owner, which then passes it to everyone, or blocked with a note saying where to make it.

CRM owns contact and deal fields
  • Email tool reads them
  • Project tool reads them
  • Reports read them
Changes flow one way
Edits made elsewhere go back to the owner
The CRM owns contact and deal fields, and the email tool, the project tool and the reports read them. Changes flow one way, and edits made elsewhere go back to the owner.
One owner tool per field, and the tools and people that read it.
FieldOwner toolWho reads it
Contact detailsCRMEmail tool, project tool, invoicing tool
Deal stageCRMReports, the forecast, the owner's weekly view
Invoice statusInvoicing or accounting toolCRM, the account lead, reports
Project statusProject management toolCRM, client updates, reports
Report numbersThe tool where the activity is recorded, such as analytics or the email platformReporting tool, client reports

Write the table where everyone who edits client records can see it. When two tools disagree later, the table answers which one to correct, and the sync carries the correction to the rest.

What stays human

Choosing the owner is a judgment call, and it belongs to you. The best owner for a field is usually the tool where the person who knows the answer already works: finance knows what was billed, and the account lead knows where the project stands. A builder can suggest owners, but the people who keep each field honest have to agree, or they will keep editing the copy they are used to.

Someone also has to own the exceptions. When an edit is blocked, or two values arrive at once, the system should put the conflict in front of a named person with both values side by side. They pick the right one once, and the sync carries it everywhere.

Questions

Should the CRM be the source of truth for everything?

For contact and deal fields, usually yes. For invoices and project status, usually no, because the accounting tool and the project tool are where those facts are made. Let them own those fields and have the CRM read them.

What is the difference between a source of truth and a sync?

The source of truth decides which tool owns a field. A sync is the pipe that copies the field from that owner to the tools that read it. Build the sync after the ownership table, or it will copy the wrong value faithfully.

What if two people edit the same field in different tools on the same day?

The owner tool wins. The edit made in the other tool is either sent to the owner as a change or blocked with a note pointing to where it should be made. Either way, both people end up looking at the same value.

Can a two-way sync fix this?

A two-way sync without an owner per field lets the last edit win wherever it was made, and that includes mistakes and stale imports. Two-way can work for a field when one tool still settles conflicts. Decide which tool settles them before you switch it on.

Where do I start if my tools already disagree?

Pick the fields that cause the most rework, which are usually contact details and deal stage. Name an owner for each, clean those fields once in the owner tool, then point every other tool at it. The rest of the table can wait until those two hold.

Mashrur Rahman · Founder, SignalNinePUBLISHED