Skip to main content
O Lender não reconhece juros de forma contínua. Ele reconhece juros em uma rodada de apropriação. Uma rodada cobre uma data de referência e, para cada empréstimo que seleciona, reconhece exatamente um mês contábil.

Um mês por empréstimo, no aniversário do próprio empréstimo


O mês contábil de um empréstimo é a competência dele. A data de desembolso ancora a competência, não o calendário. Um empréstimo desembolsado no dia 12 fecha cada competência no dia 12 dos meses seguintes. Um desembolso no fim do mês se ajusta ao último dia de um mês mais curto. A data de referência que você passa para a rodada seleciona a competência. Um empréstimo reconhece apenas quando a data de referência é um dos aniversários dele. Uma rodada no dia 12 reconhece, portanto, os empréstimos com data de desembolso no dia 12, e deixa os demais de fora. Planeje o calendário em torno disso. Para cobrir toda a carteira ao longo de um mês, comece uma rodada em cada data de referência.

O que uma rodada faz


POST /api/v1/accrual-runs recebe a data de referência e o modo da rodada e, opcionalmente, até 100 ids de produto de empréstimo que delimitam a rodada. Tanto businessDate quanto mode são obrigatórios. O driver agendado envia monthly.
1

O Lender seleciona os empréstimos

Você não envia uma lista. O Lender lê a própria carteira e pega cada conta de empréstimo em uma proposta desembolsada ou ativa, dentro dos produtos que você delimitou. Uma conta de empréstimo já liquidada sai. Uma rodada varre até 10.000 contas de empréstimo, então delimite uma carteira maior por produto e comece mais de uma rodada.
2

O Lender reconhece os juros

Para cada empréstimo, o Lender resolve a taxa efetiva de juros do cronograma contratual e pega a linha daquela competência. O reconhecimento trabalha sobre os fluxos de caixa contratuais. O que o tomador pagou não muda isso.
3

O Lender grava o reconhecimento e a intenção de lançamento

Uma transação de banco de dados guarda a rodada, um item por reconhecimento e a intenção de lançamento balanceada por trás de cada item. Ou tudo fica durável, ou nada fica.
4

O relay entrega o lançamento

Depois que a rodada faz commit, o relay do outbox lança a transação balanceada no Midaz, e o Midaz a contabiliza.

O valor que o Lender reconhece


O reconhecimento segue o método da taxa efetiva de juros. O custo amortizado começa no principal que o cronograma amortiza, menos a tarifa de originação. Os tributos retidos ficam fora dele: no Brasil, o IOF é um repasse e nunca entra no custo amortizado. O Lender resolve a taxa a partir do próprio cronograma, então os juros reconhecidos reproduzem o contrato em vez de uma taxa separada que você mantém. Quando a jurisdição tributa a receita de juros, a rodada reconhece esse tributo também. O tributo é um segundo valor no mesmo empréstimo e na mesma competência, com lançamento balanceado próprio. Juros e tributo nunca dividem uma transação.

Uma vez por empréstimo, por mês, por valor


Um reconhecimento é único em três coisas: a conta de empréstimo, a competência e o tipo de valor. Uma segunda rodada para a mesma data de referência não reconhece nada novo para um empréstimo já reconhecido. Ela não dobra os juros e não enfileira um segundo lançamento. Essa unicidade é a garantia do caminho do dinheiro. Ela também torna uma rodada segura para repetir depois de uma interrupção.

O que uma rodada produz


Uma rodada responde com:
  • O identificador da rodada e o status da rodada.
  • Uma referência de diário: o identificador contábil da rodada.
  • O id de correlação que o Lender deriva do modo, da data de referência e dos produtos no escopo.
Por trás dessa resposta, a rodada guarda um item para cada reconhecimento: a conta de empréstimo, a competência, o tipo de valor e o valor. Esses itens são a base a partir da qual o Lender monta os lançamentos. Use o id da referência de diário para amarrar a rodada aos seus próprios registros contábeis: ele identifica exatamente uma rodada. O registro da referência também guarda o id de correlação e, como o Lender deriva esse id do modo, da data de referência e dos produtos no escopo, uma leitura por id de correlação retorna a rodada mais recente que compartilha esse id. Contabilidade e rodadas de apropriação cobre as duas operações que fazem essa leitura.

A rodada não grava o lançamento no ledger


Uma rodada reconhece juros e enfileira uma intenção de lançamento. Ela não chama o Midaz e não espera uma contabilização. O relay lança depois, e o ledger contabiliza a transação. Uma rodada bem-sucedida significa que o reconhecimento e a intenção dele estão duráveis, não que o ledger já mostra o lançamento. Configure duas coisas antes que um lançamento possa ser contabilizado:
  • Dê ao perfil contábil da versão do produto uma regra para o evento accrual, com pernas balanceadas. Quando a jurisdição tributa a receita de juros, adicione também a regra opcional accrual_tax, para que o tributo tenha pernas próprias.
  • O Lender sempre inicializa o outbox. Configure a conexão com o ledger para que o relay consiga entregar a intenção durável. Veja Configuração e deploy.
Configure o perfil antes da primeira rodada. Sem uma regra de apropriação, o Lender não tem pernas para montar um lançamento, e a rodada deixa esse empréstimo de fora.

Empréstimos que uma rodada deixa de fora


Um empréstimo selecionado ainda pode não reconhecer nada:
  • A jurisdição suspende a apropriação dele. No Brasil, os dois estágios mais profundos da escala de provisionamento suspendem a apropriação (veja o Pacote regulatório Brasil).
  • A data de referência não é um dos aniversários dele.
  • Os juros dele para aquela competência são zero.
Nenhum desses casos faz a rodada falhar. Uma rodada reconhece o que consegue e informa o que reconheceu.

Rodar a apropriação de forma agendada


A rodada também tem um driver agendado dentro do serviço. Ele fica desligado até você habilitar, e você define a expressão cron dele, cujo padrão é o primeiro dia de cada mês. Dê a ele uma expressão diária: cada empréstimo reconhece no aniversário próprio, então apenas um driver diário cobre toda a carteira ao longo de um mês. Sob multi-tenancy, o driver roda uma vez para cada tenant ativo, contra os dados do próprio tenant. O caminho agendado e o caminho da API usam o mesmo código. Uma rodada vinda do cron e uma rodada vinda de uma chamada se comportam de forma idêntica.

Próximos passos


Contabilidade e rodadas de apropriação

Perfis contábeis, regras de lançamento e as operações de referência de diário.

Arquitetura do Lender

Os cinco domínios, o encaixe da jurisdição e o outbox que leva o dinheiro para fora.

Defina um produto de empréstimo

Produtos, versões e o perfil contábil de que uma rodada depende.

Pacote regulatório Brasil

Estágios de provisionamento, tributos e as divulgações que o perfil brasileiro adiciona.