Pular para o conteúdo

Conceitos

Reconciliação e validação de dados financeiros

Intuição

Pense em uma empresa com vários departamentos que anotam o dinheiro cada um no seu caderno, em ritmos diferentes. No fim, alguém precisa provar que os cadernos, juntos, contam a mesma história que o mundo real. Não basta confiar que cada caderno está certo: é preciso conferir se tudo que aconteceu foi anotado, se foi anotado a tempo e se o dinheiro que entrou em algum lugar saiu de outro, sem sobrar nada parado no meio do caminho. Quando algo não fecha, a conferência também deve mostrar onde a conta quebrou.

Como funciona

O Ledger da Stripe modela cada sistema produtor como um fluxo de fundos entre contas, e a reconciliação parte de uma propriedade desse modelo: num fluxo concluído corretamente, as contas intermediárias (de clearing) devem estar zeradas, então uma consulta por contas de clearing com saldo não nulo aponta onde um evento ausente, atrasado ou incorreto quebrou a conta. A plataforma de Data Quality construída sobre o Ledger avalia cada fluxo com três perguntas: clearing (o fluxo se completou? verificado pelas contas que deveriam estar zeradas), timeliness (os dados chegaram a tempo? mede-se o intervalo entre o dado entrar na plataforma e chegar ao Ledger, contra um limite rígido de janela de entrega) e completeness (o Ledger representa por inteiro o sistema de origem?). Esta última, que vigia explicitamente a divergência possível entre o modelo do Ledger e os dados de origem, usa checagens entre sistemas, como exigir que todo ID no banco do produtor tenha um evento correspondente no Ledger, além de detecção automática de anomalias e de modelos estatísticos por tipo de conta que estimam, pelo histórico, quando os dados deveriam chegar; o evento que não aparece é tratado como possível dado faltante. As métricas se compõem num score de DQ unificado. Como o Ledger é um log imutável, o dado problemático que qualquer dessas checagens apontar pode ser auditado e reproduzido exatamente.

Na prática

O post da Stripe (um texto de engenharia, não um artigo revisado por pares) reporta cerca de cinco bilhões de eventos por dia, 99,99% do volume em dólares totalmente ingerido e verificado em até quatro dias e mais de 99,9999% de explicabilidade da movimentação de dinheiro, mesmo com o volume de dados tendo crescido 10 vezes. Painéis mostram o score por equipe, com tickets gerados automaticamente, e permitem seguir um ponto do gráfico até a causa raiz. A lição para quem projeta sistemas financeiros é tratar a verificação como parte do desenho, com saldos que devem zerar, prazos de chegada medidos e checagens de completude contra a origem, para que as imperfeições do mundo real (relatórios malformados, erros de parceiros) fiquem delimitadas e explicáveis em vez de escondidas.

Use em um desenho

Pratique na escola de System Design os casos que dependem deste conceito.