Skip to main content
Os Lançamentos Contábeis (também conhecidos como Rubricas) mapeiam uma ação de transação para os lançamentos no ledger que ela gera. O motor usa esse mapeamento para resolver quais contas debitar e creditar em cada ação. Em seguida, ele anota cada operation com os códigos contábeis corretos de partidas dobradas em cada etapa do ciclo de vida da transação.

O que são Lançamentos Contábeis


Uma rubrica mapeia uma ação de transação para as contas do ledger que o motor deve debitar e creditar. Em vez de calcular cada classificação manualmente, você registra as rubricas uma única vez. O Midaz então as resolve automaticamente à medida que processa as transações. Cada rubrica carrega:
  • code — um identificador único (o código do plano de contas, ex.: 1.1.1.001).
  • description — um rótulo legível para o lançamento (ex.: Customer checking — outbound).
  • Um conjunto de mapeamentos de ação — um lançamento por tipo de ação, cada um com sua própria rubrica de débito e/ou crédito.
Quando o motor processa uma transação, ele resolve a rubrica de cada operation. Ele registra na operation o routeCode e o routeDescription resultantes. Isso fornece uma trilha de auditoria completa, da transação até a operation e a rubrica. Suas equipes podem rastrear exatamente qual regra contábil se aplicou a cada movimentação.
Configure as rubricas por ação em cada Operation Route. Rotas de origem (Source) exigem a rubrica de débito. Rotas de destino (Destination) exigem a rubrica de crédito. Rotas bidirecionais exigem ambas.

Os 8 tipos de ação


Cada ação representa um evento transacional distinto. As primeiras cinco ações cobrem o ciclo de vida da transação. As últimas três cobrem os movimentos de cheque especial, bloqueio e desbloqueio. Uma única rubrica pode mapear diferentes contas de débito e crédito para cada ação. Cada etapa de uma operação então cai no lançamento correto do ledger. Overdraft classifica as operations complementares que o motor gera automaticamente durante o uso e o pagamento do cheque especial. Block e unblock classificam as operations que os endpoints de transação dedicados de bloqueio e desbloqueio produzem. Você registra as rubricas das três da mesma forma que as demais ações.
Cada ação pode apontar para mapeamentos de conta de débito e crédito diferentes dentro da mesma rubrica. Mapeie apenas as ações que uma rota usa. Se você habilitar a validação estrita (abaixo), cubra toda ação que suas transações emitirem.

Configurando Lançamentos Contábeis


Você registra as rubricas via API como parte das suas Operation Routes. O bloco accountingEntries em uma rota define um lançamento por ação. Cada lançamento carrega sua rubrica de debit e/ou credit:
Você gerencia esses lançamentos por meio dos endpoints de Operation Route — veja Criar uma Operation Route e Atualizar uma Operation Route. Para o fluxo completo de configuração, consulte Roteamento de Transações.

Modos de validação


O Midaz reage a uma rubrica ausente com base nas configurações contábeis do Ledger. Dois gates distintos controlam esse comportamento:

Padrão (graceful)

Por padrão, a transação prossegue normalmente quando nenhuma rubrica corresponde a uma ação. O Midaz deixa os campos routeCode e routeDescription vazios (nil) para aquela operation. Ele não gera nenhum erro.

Estrito (opt-in)

Defina accounting.validateRoutes como true nas Configurações do Ledger para exigir uma rubrica registrada em cada ação. O Midaz então rejeita qualquer operation cuja ação e direção não tenha um mapeamento registrado. Ele retorna o erro 0117 ErrAccountingRouteNotFound.
No modo estrito, se uma rota tiver lançamentos contábeis mas uma transação usar uma ação não mapeada, o Midaz nega a transação com 0117 ErrAccountingRouteNotFound. Uma Transação em Duas Etapas dispara isso quando você mapeia apenas direct. Esse gate mantém cada etapa de uma operação mapeada antes da execução, de modo que seus relatórios contábeis permaneçam consistentes.
Use o modo estrito em ledgers de produção, onde cada tipo de transação precisa de uma classificação contábil. O padrão graceful ajuda enquanto você configura as rotas. Em produção, ele pode deixar movimentações sem classificação de forma silenciosa.
Quando o Midaz encontra uma rubrica correspondente, ele anota a operation com dois campos:
  • routeCode — o code da AccountingRubric resolvida para aquela ação e direção.
  • routeDescription — a descrição da rubrica resolvida, preenchida junto com o routeCode.