Painel de endividamento com API e cálculo de CET no Power Query
Integração direta com a API do CalcBank para trazer contratos, parcelas e saldos ao Power BI, com o custo efetivo total calculado em M pelo método de Newton-Raphson.
- Contexto
- Tesouraria e área financeira
- Meu papel
- Especialista de BI
- Período
- 2026
- Ferramentas
- Power BI, Power Query (M), API REST, DAX, Modelagem dimensional
Como a solução funciona
- API do CalcBank contratos, parcelas e pagamentos
- Power Query chamadas HTTP e tratamento
- Cálculo do CET TIR por Newton-Raphson em M
- Painel dívida, vencimentos e custo real
O problema
Os dados de endividamento ficavam no CalcBank, fora do BI. Para acompanhar saldo devedor, vencimentos e o custo de cada contrato junto com os demais indicadores financeiros, era preciso trazer tudo para o Power BI, inclusive o custo efetivo total (CET), que não vem pronto e precisa ser calculado.
O que eu fiz
- Integração direta. O Power Query chama a API do CalcBank (HTTP POST) para contratos, vencimentos, pagamentos, saldo devedor e aplicações.
- Esquema estrela. Contratos como fato principal, ligados às parcelas, aos pagamentos e ao calendário.
- CET calculado no próprio M. A TIR de cada contrato sai do fluxo de parcelas pelo método de Newton-Raphson e depois é anualizada.
POWERQUERY
// Esboço da TIR por Newton-Raphson (taxa por período do fluxo)
let
Vpl = (taxa as number, fluxos as list) as number =>
List.Sum(List.Transform(List.Positions(fluxos),
each fluxos{_} / Number.Power(1 + taxa, _))),
DerivadaVpl = (taxa as number, fluxos as list) as number =>
List.Sum(List.Transform(List.Positions(fluxos),
each -_ * fluxos{_} / Number.Power(1 + taxa, _ + 1))),
Tir = (fluxos as list) as number =>
List.Last(List.Generate(
() => [taxa = 0.01, passo = 0],
each [passo] < 50,
each [taxa = [taxa] - Vpl([taxa], fluxos) / DerivadaVpl([taxa], fluxos), passo = [passo] + 1],
each [taxa]
))
in
TirCom a taxa mensal em mãos, o CET anual é (1 + taxa)^12 - 1.
Resultado
- Dívida, cronograma de vencimentos e custo efetivo de cada contrato no mesmo painel.
- Contratos com estruturas diferentes ficam comparáveis pelo CET.
Próximo passo
Hoje a taxa de referência (CDI) entra como parâmetro fixo; a evolução natural é buscá-la automaticamente de uma fonte oficial.