Skip to content
EntryTarget Blog
Go back
CASO-DE-USO-03 · PT

BNPL e crédito: amortização e juros que fecham todo dia

Emprestar dinheiro parece simples até o primeiro fechamento mensal. Com um ledger certo, provisionamento diário, juros acruais e write-off viram três queries — não três projetos.

Crédito é o produto financeiro mais contabilmente denso que existe. Cada parcela gera juros por competência, amortização, eventual atraso, provisionamento, e — se for o caso — write-off. Tudo isso precisa reconciliar com o extrato do funding e com o balanço regulatório. Sem um ledger, é impossível fechar o mês dentro do mês.

O problema

A maior parte das plataformas de BNPL começa calculando juros on-demand: “quando o cliente pagar, eu vejo quanto é”. Isso quebra em dois momentos. Primeiro, no fechamento contábil — receita de juros precisa ser reconhecida por competência, não caixa. Segundo, no provisionamento — a perda esperada precisa ser estimada e lançada diariamente, não no dia do default.

Modelo de contas

ContaTipoSignificado
loan:<id>:principalAtivoSaldo devedor de principal
loan:<id>:interest:accruedAtivoJuros competidos a receber
loan:<id>:fees:accruedAtivoTarifas a receber
ops:funding:equityPassivoFunding via capital
ops:funding:fidcPassivoFunding via FIDC
ops:revenue:interestReceitaReceita de juros reconhecida
ops:loss:provisionDespesaProvisionamento para perda
ops:allowance:lossRedutor de ativoContra-conta do principal

Desembolso de um empréstimo

Empréstimo de R$ 1.000,00 em 10 parcelas, taxa 3% a.m. No dia do desembolso, dois lançamentos:

DESEMBOLSO · LOAN L_77 · R$ 1.000,00
Account Debit Credit
loan:l_77:principal 1000.00
ops:pool:pix 1000.00
Totals 1,000 1,000

Competência diária de juros

Todo dia, um job roda sobre todos os empréstimos ativos e lança juros por competência — mesmo que o cliente ainda não tenha pago. É isso que permite o fechamento do mês em dia 1: quando chega o dia 30, a receita já foi reconhecida dia a dia.

ACCRUAL DIÁRIO · LOAN L_77 · DIA 15
Account Debit Credit
loan:l_77:interest:accrued 1.00
ops:revenue:interest 1.00
Totals 1 1

Valor simplificado para o exemplo. Em produção, o cálculo usa a convenção exata do contrato (pro-rata dia útil, base 360, etc.), mas o padrão do lançamento é sempre o mesmo: débito em interest:accrued, crédito em revenue:interest. Se no mês seguinte o cliente pagar, o recebimento debita pool:pix e credita interest:accrued — nenhuma receita é reconhecida duas vezes.

Recebimento de parcela

PAGAMENTO · LOAN L_77 · PARCELA 1 · R$ 117,22
Account Debit Credit
ops:pool:pix 117.22
loan:l_77:principal 87.22
loan:l_77:interest:accrued 30.00
Totals 117.22 117.22

Provisionamento diário

A perda esperada (PD × LGD × EAD) é calculada por empréstimo e lançada todo dia como despesa. Se o modelo de risco revisar para baixo, o estorno também vai para o ledger — e o histórico mostra, por dia, qual era a expectativa de perda da carteira.

PROVISÃO DIÁRIA
Account Debit Credit
ops:loss:provision 2.30
ops:allowance:loss 2.30
Totals 2.3 2.3

Write-off

Quando um empréstimo é dado como perdido (tipicamente 180+ dias de atraso), duas coisas acontecem em uma única transação: o principal é baixado contra a allowance já provisionada, e o caso entra em cobrança. Se depois uma parte for recuperada, vira receita de “recovery” — não reversa a baixa.

Invariantes

InvariantePor quê
Σ principal ativos = saldo da carteiraBalanço fecha com o relatório gerencial
Σ interest:accrued = receita a receberCompetência nunca se perde
allowance:loss ≤ Σ principalProvisão nunca excede o ativo
Todo pagamento referencia loan_id + installmentRastreabilidade para cobrança e auditoria

Toda fintech de crédito que tem sucesso cedo ou tarde vira uma asset manager. O ledger é a tese do fundo.

— Visão do CFO

FAQ

Como lido com renegociação?

Uma renegociação é uma nova transação que extingue os saldos atuais e cria um novo empréstimo. O histórico do empréstimo original permanece; o novo tem um renegotiated_from_loan_id. Auditoria consegue reconstruir a cadeia.

E FIDC / cessão de crédito?

Uma cessão move principal + juros competidos de ops:funding:equity para ops:funding:fidc, com reconhecimento do deságio na conta de despesa apropriada. Nada no saldo devedor do cliente muda.

Receita ao longo do tempo ou no pagamento?

Regra brasileira (e IFRS 9): reconhecimento por competência. Juros são receita no dia em que competem, não no dia em que entram no caixa. O ledger enforça isso por construção.

Quando você precisa disso

  1. 1
    Você empresta seu dinheiro ou de um fundo
    Balanço patrimonial com ativo de crédito precisa ser defensável.
  2. 2
    Você tem mais de 10.000 empréstimos ativos
    Planilha deixa de escalar exatamente aí.
  3. 3
    Você precisa fechar o mês em dia útil +2
    Sem competência diária, impossível.
  4. 4
    Você vai emitir FIDC ou ceder carteira
    Auditor pede histórico lançamento a lançamento — ou não assina.
DEPLOY NO SEU AWS

Um ledger que é realmente seu.

entrytarget.com →


Previous Post
Cripto e FX: multi-moeda, multi-ativo e PnL em tempo real
Next Post
Marketplaces: split de pagamentos, escrow e payouts sem planilha