Skip to main content
Um Ledger é a espinha dorsal financeira da Organização. Ele mantém um registro preciso de todas as Transações e Operações. Um Ledger rastreia cada evento financeiro: depósitos, saques, transferências e taxas. Isso te dá rastreabilidade e controle completos. As Organizações podem usar múltiplos Ledgers para segregar operações financeiras. Por exemplo, um banco mantém Ledgers separados para diferentes linhas de negócio, regiões ou requisitos regulatórios. Um único Ledger também pode gerenciar todas as operações para uma configuração mais simples.

Estrutura do Ledger


  • Ledger > Organização: Cada Organização pode possuir múltiplos Ledgers, mas cada Ledger pertence a apenas uma Organização. Isso te dá separação financeira e responsabilidade.
    • Use múltiplos Ledgers apenas quando você precisar segregar dados ou operações — por exemplo, operações de tesouraria interna versus contas de clientes.
Transações não podem se mover diretamente entre Ledgers. Para mover fundos entre Ledgers, orquestre a transferência através de um fluxo de trabalho que mantenha ambos os lados consistentes.

Como orquestrar transações entre Ledgers

Para mover fundos entre dois Ledgers, crie um fluxo de trabalho orquestrado. O fluxo de trabalho divide a transferência em duas transações separadas:
  1. Débito do Ledger de origem: Transfira o valor de uma conta no Ledger 1 para uma Conta Externa. Essa conta faz a ponte entre os dois Ledgers e sempre pertence a um Ativo.
  2. Crédito no Ledger de destino: Crie uma segunda transação. Ela move o mesmo valor da Conta Externa para a conta de destino no Ledger 2.
Nesse processo de duas etapas, cada Ledger processa uma transação válida e independente. A Conta Externa mantém ambos os lados consistentes.
Você pode usar o Flowker para automatizar essa orquestração. O Flowker pode adicionar validações, condições e lógica de rollback se você precisar delas.

Características principais


  • Os Ledgers garantem integridade financeira e transparência operacional.
  • Todas as Contas e Transações existem dentro de um Ledger e formam um sistema financeiro completo.
  • Cada Ledger mantém um conjunto balanceado de Contas.
  • Você pode usar múltiplos Ledgers para segmentação, mas transações entre Ledgers precisam de tratamento explícito.

Múltiplos Ledgers


O Midaz permite que você crie múltiplos Ledgers para cada organização, com mais flexibilidade e controle. Isso ajuda empresas com necessidades operacionais diversas. Por exemplo, elas podem separar registros financeiros por país, departamento ou função de negócio.

Exemplo de caso de uso

Considere uma empresa global com negócios em múltiplas regiões:
  • Ledger 1: Negócios nos EUA
  • Ledger 2: Negócios na UE
  • Ledger 3: Negócios na APAC
Com Ledgers separados, a empresa mantém registros de transações específicos por região, regras fiscais e configurações de moeda. Ela ainda tem uma visão unificada de todas as operações.

Quando criar um novo Ledger

Um Ledger é uma fronteira rígida, não apenas um rótulo. Contas em Ledgers diferentes não podem transacionar diretamente. Você deve orquestrar cada movimentação entre Ledgers através de uma Conta Externa (veja Como orquestrar transações entre Ledgers). Esse custo determina a decisão. Crie um novo Ledger apenas quando os segmentos raramente movem dinheiro entre si. Use esta heurística para escolher o nível certo de separação: Em resumo: se dois conjuntos de saldos transacionam entre si com frequência, mantenha-os no mesmo Ledger. Separe-os com Portfolios ou Contas. Divida em múltiplos Ledgers apenas quando o isolamento compensar o overhead de orquestração.

Customizando Ledgers


No Midaz, você pode personalizar a configuração de cada Ledger conforme seus requisitos. Ativos pertencem a um Ledger, então o mesmo código é um registro independente em cada Ledger, com nome, tipo, status e metadata próprios. Exemplo Para representar o Bitcoin (BTC) em vários Ledgers, crie o ativo BTC de forma independente em cada Ledger e defina o nome, o status e a metadata que cada Ledger precisar.
No Midaz, valores são decimais de precisão arbitrária. Não existe configuração de casas decimais por ativo nem por Ledger — você não define uma escala ao criar um ativo.
Essa abordagem te dá controle granular sobre o gerenciamento de ativos para suas necessidades operacionais ou regulatórias.

Benefícios de usar Ledgers no Midaz


  • Organização clara: Mantenha registros financeiros claros e distintos para cada parte do seu negócio.
  • Configurações customizadas: Ajuste configurações de ativos, moedas ou outros parâmetros por Ledger para necessidades locais ou departamentais.
  • Escalabilidade: Adicione ou altere Ledgers conforme sua organização cresce ou se diversifica.
  • Transparência: Obtenha uma visão completa de todas as atividades financeiras. Cada Ledger contribui para um único panorama operacional.

Configurações do ledger


Cada Ledger possui configurações ajustáveis que controlam como ele valida as transações. Por exemplo, você pode exigir que cada transação siga uma rota predefinida. Você também pode exigir que os tipos de conta correspondam às suas regras de negócio. Então o Ledger rejeita movimentações inválidas antes de registrá-las. Você pode alterar essas configurações a qualquer momento pela API. Você não precisa reiniciar o serviço nem alterar o código.

Configurações disponíveis

As seguintes configurações estão disponíveis:
Comece com ambas as configurações desabilitadas enquanto você configura suas rotas de operação e rotas de transação. Quando sua configuração de roteamento estiver completa, habilite a validação para aplicar suas regras de negócio.

Como as configurações afetam as transações

Quando você habilita validateRoutes para um Ledger:
  1. Cada transação para esse Ledger deve referenciar uma rota de transação válida.
  2. O Ledger valida cada operação contra as regras da rota de operação correspondente.
  3. O Ledger rejeita qualquer transação não conforme antes de registrar a movimentação. Isso protege a integridade do seu ledger.
Quando você habilita validateAccountType:
  1. O Ledger verifica cada conta nova contra seus tipos de conta registrados.
  2. Se o tipo de conta não estiver registrado, o Ledger rejeita a criação da conta.
Se você habilitar a validação em um Ledger que já processa transações, os registros existentes não mudam. A validação se aplica apenas a novas transações que você enviar após habilitar a configuração.

Gerenciando configurações via API

Use os endpoints de Configurações do Ledger para recuperar e atualizar essas configurações:
As atualizações de configurações entram em vigor imediatamente. O Midaz aplica as alterações com um deep merge e modifica apenas os campos que você incluir na requisição.

Gerenciando Ledgers


Você pode gerenciar seus Ledgers pela API ou através do Lerian Console.

Via API

Quando você exclui um Ledger, o Midaz não o remove permanentemente.Em vez disso, o Midaz define um timestamp deletedAt. A partir daí o Ledger é excluído de todas as leituras e não pode mais ser usado. O status.code dele permanece inalterado. Isso preserva os dados históricos para trilhas de auditoria.

Via Lerian Console

Você pode visualizar, criar, editar e excluir Ledgers na página de Ledgers do Módulo Midaz do Lerian Console. Saiba mais no guia de Gerenciamento de Ledgers.
Se você criar seu primeiro Ledger no Lerian Console, você faz isso como parte do fluxo de onboarding. Para saber mais, confira o guia de onboarding do Módulo Midaz.