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
| Conta | Tipo | Significado |
|---|---|---|
loan:<id>:principal | Ativo | Saldo devedor de principal |
loan:<id>:interest:accrued | Ativo | Juros competidos a receber |
loan:<id>:fees:accrued | Ativo | Tarifas a receber |
ops:funding:equity | Passivo | Funding via capital |
ops:funding:fidc | Passivo | Funding via FIDC |
ops:revenue:interest | Receita | Receita de juros reconhecida |
ops:loss:provision | Despesa | Provisionamento para perda |
ops:allowance:loss | Redutor de ativo | Contra-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:
| 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.
| 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
| 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.
| 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
| Invariante | Por quê |
|---|---|
| Σ principal ativos = saldo da carteira | Balanço fecha com o relatório gerencial |
Σ interest:accrued = receita a receber | Competência nunca se perde |
allowance:loss ≤ Σ principal | Provisão nunca excede o ativo |
Todo pagamento referencia loan_id + installment | Rastreabilidade 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.
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 Você empresta seu dinheiro ou de um fundoBalanço patrimonial com ativo de crédito precisa ser defensável.
- 2 Você tem mais de 10.000 empréstimos ativosPlanilha deixa de escalar exatamente aí.
- 3 Você precisa fechar o mês em dia útil +2Sem competência diária, impossível.
- 4 Você vai emitir FIDC ou ceder carteiraAuditor pede histórico lançamento a lançamento — ou não assina.
Um ledger que é realmente seu.
entrytarget.com →