Como as primitivas se relacionam
O Midaz transforma eventos de negócio em lançamentos balanceados no ledger. Um pequeno conjunto de primitivas se complementa:
Plano de Contas
Esta é a estrutura de saldos que seu produto precisa. O Midaz não possui 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 em um Lançamento Contábil (por exemplo 1.1.1.001) carrega o número de conta tradicional de cada lançamento.
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 os 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 cumprir os requisitos de débito e crédito específicos da rota. Cada lançamento configurado contém a rubrica de débito, a de crédito ou ambas, conforme sua Operation Route exige; cada rubrica presente tem umcode e uma descrição. Com a validação de rotas (accounting.validateRoutes) habilitada, o Midaz aplica a rubrica correspondente a cada Operation, com base na ação e na direção da Operation.
Operations
Uma transação produz movimentações no ledger. Uma Operation é 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, destino e envio da transação original coincidam. O conjunto de Operations retornado nem sempre é um par de débito/crédito: a criação pendente e o cancelamento processam apenas as pernas de origem. Cada Operation carrega umtransactionId, um amount e um assetCode. Quando a validação de rotas (accounting.validateRoutes) está habilitada no ledger e a Operation Route define lançamentos contábeis, a Operation 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 a vincula a um transactionId. Juntos, esses campos fornecem uma trilha de auditoria completa: transação → operação → rubrica. Suas equipes rastreiam qual regra contábil foi aplicada a cada movimentação, sem consultas adicionais.Fluxo de trabalho das primitivas de contabilidade

