A Resposta Curta
Source of Truth (Fonte da Verdade) não é uma questão técnica, mas sim de autoridade: quem na organização está autorizado a determinar que um determinado valor é correto. Quando essa decisão não é feita explicitamente, ela é tomada tacitamente – por quem escreveu a última integração.
A regra fundamental: a propriedade é definida no nível do campo, não no nível do sistema. A tentativa de declarar "o ERP é a fonte da verdade para o cliente" é invalidada no momento em que o departamento de serviço atualiza um número de telefone no Salesforce e a sincronização noturna apaga a atualização.
Três Perguntas que Definem a Propriedade
Para cada entidade, e subsequentemente para cada grupo de campos, questiona-se: onde o dado foi criado pela primeira vez, quem está autorizado a alterá-lo do ponto de vista do negócio, e quem assume a responsabilidade quando ele está incorreto. Em todos os três casos, a resposta deve ser o nome de uma função, não o nome de um sistema. O sistema é uma derivação da função.
Quando as respostas apontam para duas funções diferentes, isso quase sempre é um sinal de que dois campos distintos foram compactados em um.
Matriz de Propriedade de Exemplo
| Entidade / Campo | Fonte da Verdade | Salesforce | Direção da Sincronização |
|---|---|---|---|
| Razão Social, CNPJ, Condições de Pagamento | ERP | Somente leitura | ERP ← Salesforce |
| Contato, Cargo, Preferências | Salesforce | Edição | Salesforce ← Sistemas de Marketing |
| Catálogo de Produtos e Tabela de Preços Base | ERP / PIM | Somente leitura | ERP ← Salesforce |
| Proposta e Desconto Aprovado | Salesforce | Edição | Salesforce ← ERP |
| Pedido Aprovado e Status de Entrega | ERP | Somente leitura | ERP ← Salesforce |
| Saldo Devedor e Status de Cobrança | Sistema Financeiro | Somente leitura | Financeiro ← Salesforce |
| Atividade, Casos e Comunicação | Salesforce | Edição | Sem sincronização externa |
Esta tabela é o resultado. É concisa, está em um único documento, e toda nova integração é verificada contra ela antes de ser escrita.
Separação entre Apresentação e Autoridade
Muitas das tensões entre sistemas desaparecem quando se compreende que a apresentação de um dado não exige sua cópia. Um saldo devedor exibido para o vendedor não precisa ser um campo no Salesforce que é atualizado todas as noites; pode ser uma exibição remota ou uma camada de federação.
Todo campo copiado é um compromisso operacional: sincronização, falha, lacuna e tempo. Antes de copiar, pergunta-se se é necessária automação ou relatórios históricos sobre ele. Se não for, é preferível exibir do que copiar. Uma expansão sobre essa abordagem pode ser encontrada em Zero Copy e Federação na Data 360.
Conflitos: Decidir com Antecedência, Não em Tempo Real
Mesmo quando a propriedade é clara, surgem situações de atualização paralela. Três regras possíveis: precedência do sistema (o proprietário sempre vence), carimbo de data/hora da última modificação, ou sinalização para tratamento manual. A terceira regra é a mais segura para campos sensíveis – desde que exista uma fila de tratamento com proprietário, e não um registro de log que se acumula.
Cenário: Organização com Duas Verdades para um Endereço Único
Uma empresa de serviços de infraestrutura gerenciava o endereço do cliente em dois sistemas: ERP para fins de faturamento e um sistema de serviço de campo para o deslocamento de técnicos. Ambos eram sincronizados bidirecionalmente com o Salesforce. O resultado: um endereço que alternava constantemente, e técnicos que chegavam ao endereço de faturamento.
A solução não foi corrigir a sincronização, mas sim desagregar a entidade. Dois campos separados foram definidos – endereço de faturamento sob a propriedade do ERP, endereço de serviço sob a propriedade do sistema de campo – e ambos como somente leitura no Salesforce, com um link para solicitar uma alteração que é roteada para o proprietário correto. O número de chamados de serviço encerrados como "endereço incorreto" diminuiu significativamente no trimestre seguinte.
A lição: quando os sistemas "brigam" por um campo, na maioria das vezes se trata de dois dados de negócio diferentes que receberam o mesmo nome.
Aplicação: Do Documento à Realidade
Uma matriz de propriedade só funciona se for implementada em três pontos: segurança em nível de campo (Field-Level Security) que impede a edição no lado que não é o proprietário, um usuário de integração com permissões limitadas apenas aos campos de sua propriedade, e um relatório mensal que mostra campos que foram atualizados em desacordo com a política. O terceiro relatório é o que expõe integrações antigas que ninguém mais lembra.
A documentação do significado de cada campo se conecta diretamente ao Data Mapping para Migração.
Riscos Comuns e Ações Preventivas
| Risco | Como se Manifesta na Prática | Ação Preventiva |
|---|---|---|
| Propriedade em Nível de Sistema | Contradições dentro da mesma entidade | Decisão em nível de campo ou grupo de campos |
| Sincronização Bidirecional como Padrão | Valores que se alternam constantemente | Direção única + leitura no outro lado |
| Cópia Desnecessária | Dezenas de campos sincronizados sem consumidor | Exibir em vez de copiar |
| Documento Sem Fiscalização | A política se desgasta em meses | Permissões de campo + monitoramento de exceções |
| Sem Fila de Conflitos | Contradições se acumulam silenciosamente | Fila de tratamento com proprietário e SLA |
Como Medir o Sucesso
| Área | O Que Medir | Frequência de Verificação |
|---|---|---|
| Consistência | Taxa de inconsistência em campos chave entre sistemas | Mensal |
| Exceções à Política | Gravações em campos fora do proprietário definido | Mensal |
| Conflitos | Número e tempo de resolução de itens na fila | Semanal |
| Impacto Operacional | Falhas causadas por dados incorretos | Trimestral |
A construção e aplicação de uma matriz de propriedade são realizadas no âmbito do serviço de Integrações e Dados.
Checklist para Decisão da Fonte da Verdade
- ☐ Lista das entidades principais na organização
- ☐ Para cada entidade: onde foi criada, quem está autorizado, quem é responsável pelo erro
- ☐ Propriedade definida em nível de campo ou grupo de campos
- ☐ Direção de sincronização explícita para cada grupo
- ☐ Todo campo copiado passa no teste "tem um consumidor"
- ☐ Regra de resolução de conflitos escolhida e documentada
- ☐ Existe uma fila de tratamento manual com proprietário e SLA
- ☐ Field-Level Security em conformidade com a matriz
- ☐ Usuário de integração restrito aos campos de sua propriedade
- ☐ Relatório mensal para exceções à política
Fontes Profissionais
- Salesforce Data 360 — https://www.salesforce.com/data/
- Salesforce Data 360 Architecture — https://architect.salesforce.com/docs/architect/fundamentals/guide/data-360-architecture.html
- HPI Pro – Integrações e Dados — https://hpi.pro/integrations-data
