FJFrigo · Relatórios · menu 3-1-6 Outros Relatórios Gerenciais

Custo Efetivo dos Empréstimos

O CET (taxa interna de retorno do fluxo do financeiro) de cada empréstimo de captação e de FIDC, ao lado da taxa contratada, com a carteira por moeda e por instituição. De onde vem cada número, as recusas com a mensagem exata e um caso conferido à mão.

Opção: 316C Origem: desenho novo (sem legado) Saída: PDF e planilha (XLS) Base conferida: central (Brasil 004)

Regra

Como o número é calculado: tabela, coluna, filtro.

Aviso

O relatório sai, mas com um comportamento que surpreende.

Bloqueia

O relatório não é gerado: statuscode 400 com a frase indicada.

Teste

Roteiro de QA com o resultado esperado e a forma de conferir no banco.

A

O que a tela mostra

3-Relatórios › 1-Financeiros › 6-Outros Relatórios Gerenciais › C

Desenho novo (28/09/2026), sem equivalente no legado nem no ceif. Mede quanto cada empréstimo custa de verdade (CET, a taxa interna de retorno do fluxo) e compara com a taxa contratada.

ItemValor
TelaCusto Efetivo dos Empréstimos (316C) — RelatorioCustoEmprestimos.vue; XLS e Gerar PDF
EndpointPOST /lancamento/relatorios/relatorioCustoEmprestimos — RelatorioCustoEmprestimosService
Reaproveitado porO painel Endividamento (38J) usa custos(...) (CET e contratada a.a. por empréstimo) e a permissão da 316C
LinhasUm empréstimo por linha: Documento, Entrada, Tipo, Instituição, Moeda, Taxa contratada, Contr. a.a. %, Recebido, A pagar, Custo, Prazo médio (dias), CET a.m. %, CET a.a. %, Dif. a.a. (p.p.), % pago, Realizado a.a. %, Observação
RodapéLinha Carteira por moeda (todos os empréstimos calculáveis juntos) e a folha Por instituição (por instituição e moeda, do maior Recebido para o menor)
Fora do relatórioTipo de faturamento 1140 (empréstimo a cliente): o relatório mede o custo do dinheiro captado
B

Filtros e opções

Moeda e tipo de empréstimo ficam no painel de Opções

O período é pela data do empréstimo (emprestimo.data), não pela data de entrada nem pelos vencimentos.

CampoOndePadrãoO que faz
Empréstimos de / atéFiltro1º de janeiro do ano · hojee.data >= de AND < até + 1 dia. Obrigatórios
FilialFiltrotodas as do usuárioe.idfilial (filial do empréstimo). Sem acesso: recusa
InstituiçãoFiltrotodase.idemitente — o banco ou fundo
EmpréstimosOpçõesCaptação e FIDCSó captação (226) = tipos fora de 11173/11174; Só FIDC (22R) = só 11173 e 11174
Moeda filtroOpçõesTodase.idmoeda. Cada empréstimo é calculado na própria moeda — não há conversão; a carteira sai por moeda
IVA dos juros como custoOpçõesligadoDesligado: o título de IVA/renta dos juros (idtipo_parcela = 4) fica fora das saídas e o título do relatório ganha “(sem o IVA dos juros)”
Paisagem (PDF)OpçõesligadoOrientação do PDF
Filtros salvos ★ / Exibir filtrosComuns—Código de salvamento 316C
C

De onde vem cada número

Tabelas, colunas e filtros SQL
Regra

O fluxo vem do FINANCEIRO, não do cabeçalho nem da grade de parcelas

Por quêO líquido do cabeçalho muda de sentido entre CHQ e DUP. Os títulos são os que EmprestimoFinanceiroService grava em financeiro_emissao.

Ligaçãofe.idfaturamento = emprestimo.id e fe.idtipo_faturamento = emprestimo.idtipo_faturamento (o idfaturamento é compartilhado entre módulos; o relatório casa os dois). Só títulos vivos, tipo_emissao IN ('R','P').

LotesA leitura é em lotes de 500 empréstimos e 500 títulos.

Todos
Regra

Captação (226): entrada líquida e saídas

EntradaΣ títulos a receber − Σ títulos a pagar com idtipo_parcela = 1 (comissão e desconto), na data de entrada (data_entrada, senão data do empréstimo).

SaídasNo vencimento de cada título a pagar: principal (idtipo_parcela = 2), juros (3) e, com “IVA dos juros como custo”, IVA/renta (4). Vencimento nulo vale a data de entrada.

FIN/TERNesses tipos o a receber já vem líquido da comissão e o título de comissão desconta de novo: o custo sai como o financeiro o registra.

Todos
Regra

FIDC (22R): tipos 11173 e 11174

EntradaO título a receber (o líquido do borderô), na data de entrada.

SaídasTodos os títulos a pagar (líquido e juros de cada duplicata), no vencimento — sem separar por idtipo_parcela.

Taxa contratadaFIDC com taxa zerada mostra “por título”.

Todos
Regra

CET (TIR) — mês de 30 dias

CálculoTaxa mensal que zera o valor presente de todos os movimentos, com t = dias desde o primeiro movimento ÷ 30. Busca por bissecção, entre 0 e 1000% a.m. (custo positivo) ou entre −99% e 0 (negativo). Anual = (1 + mensal)^12 − 1.

Sem soluçãoSem entrada ou sem saída, ou sinais que não cruzam zero: a taxa fica em branco.

Dif. a.a. (p.p.)CET a.a. − taxa contratada anualizada, em pontos percentuais.

Todos
Regra

Taxa contratada anualizada

Contatipo_taxa = 'MEN' → (1 + taxa/100)^12 − 1; qualquer outro valor (hoje ANU) é tratada como taxa anual. Taxa zerada ou nula: em branco.

TextoColuna “Taxa contratada”: ex. 23,4940% a.a. ou 1,7600% a.m..

Todos
Regra

Prazo médio, Recebido, A pagar, Custo e % pago

Recebido / A pagar / CustoEntrada líquida; Σ das saídas; A pagar − Recebido.

Prazo médio (dias)Σ(valor da saída × dias entre a entrada e o vencimento) ÷ Σ saídas.

% pagoΣ amortizado de cada saída (limitado ao valor dela) ÷ A pagar. Amortizado = a conta do 221 (valor − acréscimo − juros + desconto + devolução + retenção) das baixas vivas.

Todos
Regra

Realizado a.a. — só empréstimo quitado

QuandoTodas as saídas amortizadas (amortizado ≥ valor − 0,01).

FluxoEntrada líquida na data de entrada e, para cada baixa das saídas, a data da baixa e o valor em dinheiro (b.valor, não o amortizado). Pagar antes do vencimento aumenta a taxa (mesmo custo em menos tempo).

Em brancoSe o empréstimo tem “problema” (abaixo), o realizado também fica em branco.

Todos
Regra

Observação: por que um empréstimo fica sem taxa e fora da carteira

sem valor recebidoEntrada líquida ≤ 0.

sem pagamentosNenhum título de saída reconhecido.

vencimento antes da entradaAlgum pagamento vence antes da data de entrada (em geral ano digitado errado; no central, 22 de 914 em 28/09, títulos de FIDC com 2025-01 × 2026-01).

vencimentos na data da entradaTodos os pagamentos na própria data de entrada (prazo médio zero).

EfeitoA linha sai com a Observação, não entra na Carteira nem em Por instituição; a linha da carteira informa “N fora da carteira”.

Todos
Regra

Carteira e Por instituição

CarteiraUm bloco por moeda: os fluxos dos empréstimos calculáveis são somados num só fluxo e a TIR é recalculada (não é média das taxas).

Por instituiçãoMesmo cálculo agrupado por razão social + moeda; ordenado pelo Recebido (decrescente); sem instituição: “(sem instituição)”.

Todos
D

Recusas e avisos

Mensagens exatas
Bloqueia

Informe a data inicial. / Informe a data final.

QuandoPeríodo em branco (chamada direta).

Todos
Bloqueia

A data final não pode ser anterior à inicial.

QuandoPeríodo invertido.

Todos
Bloqueia

A filial N não está entre as filiais do usuário. / O usuário não tem filial de acesso.

QuandoFilial sem acesso ou usuário sem filial.

Todos
Bloqueia

Não foram encontrados dados nessas condições.

QuandoNenhum empréstimo (fora o 1140) com e.data no período e nos filtros.

PegadinhaUm empréstimo cuja data_entrada cai no período mas cuja data não, não aparece.

Todos
Aviso

Empréstimo com Observação não está na carteira

EfeitoO total da carteira não fecha com a soma de todas as linhas da grade. Conte as linhas com Observação (a linha “Carteira” já diz quantas ficaram de fora).

Todos
Aviso

Sem período máximo

EfeitoDiferente dos outros 316x, não há teto de meses; um período longo traz centenas de empréstimos (no central, ~900 em 2025-01 a 2026-09, ~12 s).

Todos
Aviso

Tipos fixos no código

EfeitoFIDC = tipos de faturamento 11173 e 11174; empréstimo a cliente = 1140. São ids chumbados: tenant com outros ids classifica errado (a opção “Só FIDC” não acha nada, e FIDC cai como captação). Confira em docs/regras-chumbadas.html antes de mexer.

Todos
E

Configurações que mudam o resultado

O que o suporte confere antes de abrir chamado
ConfiguraçãoOndeEfeito
Tipos de faturamento 11173/11174/1140Chumbados no serviçoDefinem FIDC, captação e o que sai do relatório
Tipo de parcela dos títulosfinanceiro_emissao.idtipo_parcela1 = comissão/desconto (reduz a entrada), 2 = principal, 3 = juros, 4 = IVA/renta. Título gravado com outro tipo (ou à mão) não entra na captação
Taxa e tipo da taxaemprestimo.taxa_juros, tipo_taxa (MEN/ANU)Só a coluna da taxa contratada e a diferença
Data de entradaemprestimo.data_entradaÂncora do prazo e da TIR; vazia vale a data do empréstimo
Vencimento dos títulosfinanceiro_emissao.data_vencimentoAno digitado errado derruba o empréstimo para “vencimento antes da entrada”
Baixasfinanceiro_baixasAlimentam % pago e o Realizado
Filiais do usuáriousuario_filialAlcance
F

Casos de teste sugeridos

Resultado esperado e como conferir no banco
Teste

T1 — Conferência à mão de um empréstimo simples

ComoGere 01/09/2026 a 30/09/2026, filial do empréstimo NC.11696254 (tipo 1118, id 10011246). Veja o fluxo que o financeiro gravou (SQL abaixo).

EsperadoEntrada 24/09/2026 de 2.026.449,73; saída em 14/10/2026 de 2.026.449,73 (principal) + 26.449,73 (juros) = 2.052.899,46, em 20 dias. Recebido 2.026.449,73; A pagar 2.052.899,46; Custo 26.449,73; Prazo médio 20,0. CET a.m. = (2.052.899,46 ÷ 2.026.449,73)^(30/20) − 1 ≈ 1,96%; a.a. ≈ 26,29%. Taxa contratada 23,4940% a.a. → Dif. ≈ +2,80 p.p. % pago 0 (ainda não venceu). Realizado em branco.

SELECT fe.tipo_emissao, fe.idtipo_parcela, DATE(fe.data_vencimento) AS venc, fe.valor_parcela
  FROM financeiro_emissao fe
 WHERE fe.idfaturamento = 10011246 AND fe.idtipo_faturamento = 1118
   AND fe.excluido <> 'T' AND fe.tipo_emissao IN ('R','P')
 ORDER BY fe.data_vencimento, fe.tipo_emissao
Todos
Teste

T2 — Tipos de empréstimo no período

ComoCompare a distribuição por tipo (SQL abaixo) com as linhas da grade em “Captação e FIDC”, depois com “Só captação” e “Só FIDC”.

EsperadoCaptação = tipos fora de 11173/11174; FIDC = só esses; nenhuma linha de 1140. Referência em 04/10/2026 no central, 01/01/2025 a 27/09/2026: tipo 1118 = 87, 11173 = 553, 11174 = 280, 1143 = 8 (os números mudam com a base).

SELECT e.idtipo_faturamento, COUNT(*) AS n
  FROM emprestimo e
 WHERE e.excluido <> 'T' AND e.idtipo_faturamento <> 1140
   AND e.data >= '2025-01-01' AND e.data < DATE_ADD('2026-09-27', INTERVAL 1 DAY)
 GROUP BY e.idtipo_faturamento
Todos
Teste

T3 — IVA dos juros como custo

ComoNum empréstimo com título a pagar de idtipo_parcela = 4, gere com a caixa ligada e desligada.

EsperadoDesligada: A pagar menor, CET menor, título do relatório com “(sem o IVA dos juros)”. Em FIDC a caixa não muda nada (todas as saídas entram).

Todos
Teste

T4 — Empréstimo sem conta

ComoUse (ou monte numa base de teste) um empréstimo com vencimento anterior à entrada.

EsperadoLinha com taxas em branco e Observação “vencimento antes da entrada”; fora da Carteira; a linha da Carteira diz “1 fora da carteira” (contando os da mesma moeda).

Todos
Teste

T5 — Carteira soma só os calculáveis

ComoGere um período com vários empréstimos de uma moeda.

EsperadoRecebido e A pagar da Carteira = soma das linhas sem Observação. A taxa da Carteira não é a média das taxas: é a TIR do fluxo somado.

Todos
Teste

T6 — Realizado × CET

ComoNum empréstimo quitado com pagamento antes do vencimento, compare CET a.a. e Realizado a.a. %.

EsperadoRealizado a.a. maior que o CET a.a. (mesmo custo em menos dias). Empréstimo não quitado: Realizado em branco.

Todos
Teste

T7 — Período pela data do empréstimo

ComoEscolha um empréstimo e gere um período que contenha data_entrada mas não data.

EsperadoNão aparece. Com um período que contenha data, aparece.

Todos
Teste

T8 — Recusas

ComoPeríodo invertido; datas em branco; período sem empréstimos; filial sem acesso.

EsperadoAs mensagens da seção D.

Todos
G

Limitações e pendências

docs/status-porte.csv e docs/melhorias-relatorios-financeiros.md (3.4)

Status: REVISAR (02/10/2026). Feito em 28/09/2026; conferido no central (carteira 1,89% a.m. = 25,2% a.a. em 01/01/2025–27/09/2026; SRM NC.11696254 à mão: 1,305% em 20 dias ≈ 1,96% a.m.). Sem teste de tela.

Sem conversão de moeda: cada empréstimo na sua moeda; a carteira é por moeda.

Sem teto de período e sem ordenação no painel (a grade sai por data e id).

Ids de tipo fixos (11173, 11174, 1140): ver seção D.

Tipo da taxa: tudo que não é MEN é lido como anual; um valor novo (ex. diária) seria anualizado errado.

Um item por filtro: a tela envia só a primeira filial/instituição marcada.

38J: o painel Endividamento mostra o mesmo CET por empréstimo; divergência entre os dois é filtro de período ou de IVA.

Nenhuma regra bate com essa busca. Tente um trecho menor da mensagem, ou limpe os filtros.