Como as primitivas se relacionam
O Midaz transforma eventos de negócio em registros contábeis balanceados no ledger. Um conjunto pequeno de primitivas se apoia entre si:
Plano de Contas
Esta é a estrutura de saldos que o seu produto precisa. O Midaz não tem uma API dedicada de Plano de Contas. Em vez disso, você o modela em um ledger a partir de ativos, contas, segmentos, portfólios e tipos de conta. O campocode de um Lançamento contábil (por exemplo 1.1.1.001) carrega o número de conta tradicional de cada registro contábil.
Tipos de Conta
São classificações reutilizáveis que você atribui às contas. Cada tipo de conta tem um nome, um valor de chave e uma descrição. Você usa tipos de conta para agrupar contas na sua estrutura financeira.Lançamentos contábeis (Rubricas)
Uma rota não precisa de um lançamento para cada ação de transação. Quando ela emite uma ação, o lançamento deve atender às exigências de débito e de crédito específicas da rota. Cada lançamento configurado contém a rubrica de débito e/ou de crédito que a rota de operação dele exige. Cada rubrica presente tem umcode e uma descrição. Com a validação de rota (accounting.validateRoutes) habilitada, o Midaz carimba a rubrica correspondente em cada operação, com base na ação e na direção da operação.
Operações
Uma transação produz movimentações no ledger. Uma Operação é uma única perna de uma transação, um débito ou um crédito em uma conta específica. O Midaz valida que os totais de origem, de destino e de envio da transação original batem. O conjunto de operações que ele retorna nem sempre é um par débito/crédito: a criação pendente e o cancelamento processam apenas as pernas do lado da origem. Cada operação carrega umtransactionId, um amount e um assetCode. Quando a validação de rota (accounting.validateRoutes) está habilitada no ledger e a rota de operação define lançamentos contábeis, a operação também carrega um routeCode e um routeDescription da rubrica resolvida.
Com
accounting.validateRoutes habilitado, quando uma rota de operação define um lançamento contábil, o Midaz resolve uma rubrica para a ação e a direção da operação. Ele escreve o code da rubrica no routeCode da operação e liga a operação a um transactionId. Juntos, esses campos dão uma trilha de auditoria completa: transação → operação → rubrica. Seus times rastreiam qual regra contábil se aplicou a cada movimentação, sem buscas extras.Workflow das primitivas contábeis

