Como as primitivas se relacionam
O Midaz transforma eventos de negócio em lançamentos balanceados no ledger por meio de um pequeno conjunto de primitivas que se complementam:
Plano de Contas
A estrutura de saldos que seu produto precisa. O Midaz não possui uma API dedicada de Plano de Contas — o CoA é modelado por meio da combinação de ativos, contas, segmentos, portfólios e tipos de conta em um ledger. O campocode nos Lançamentos Contábeis (ex.: 1.1.1.001) carrega a numeração de conta tradicional de cada lançamento.
Tipos de Conta
Templates que definem como as contas se comportam (operações permitidas, internas vs. externas, regras de reconciliação) e as classificam dentro da sua estrutura financeira.Lançamentos Contábeis (Rubricas)
Mapeamentos que resolvem quais contas são debitadas e creditadas para cada ação de transação.Operações
As movimentações balanceadas resultantes no ledger. Uma Operação é uma única perna de uma transação — um débito ou um crédito em uma conta específica. Como o Midaz aplica partidas dobradas, toda transação gera pelo menos duas operations (um débito e um crédito), de modo que o total de débitos seja igual ao total de créditos. Para fins de rastreabilidade contábil, cada operation carrega umrouteCode e um routeDescription (o Lançamento Contábil resolvido), um transactionId que a vincula à transação que a originou, além do amount e do assetCode da movimentação.
Toda Operação registrada pelo Midaz carrega um
routeCode (o code da Rubrica Contábil resolvida para a ação e a direção daquela operation) e um transactionId. Juntos, esses campos fornecem uma trilha de auditoria completa, de transação → operation → rubrica, permitindo que as equipes rastreiem exatamente qual regra contábil foi aplicada a cada movimentação — sem consultas adicionais.
