financial-calc-br
v1.1.0
Published
Calculadora financeira brasileira com suporte a financiamentos, investimentos e cartão de crédito
Maintainers
Readme
Financial Calc BR 🇧🇷
Uma calculadora financeira completa para o mercado brasileiro, incluindo cálculos de financiamentos (SAC e Price), investimentos (CDB, Tesouro Selic, Poupança) e cartão de crédito rotativo.
🔍 Veja esse projeto em Python
- GitHub: https://github.com/lucansdev/financial-calc-br
📦 Instalação
NPM
npm install financial-calc-brYarn
yarn add financial-calc-br🚀 Uso Básico
⚠️ Importante: InvestmentCalc e RatesManager usam Factory Pattern para garantir taxas atualizadas do Banco Central. Use await ClassName.create() em vez de new ClassName().
Calculadora de Financiamentos
import { FinancingCalc } from "financial-calc-br";
const calc = new FinancingCalc();
// Calcular financiamento SAC
const sac = calc.financingSAC(300000, 10.5, 30);
console.log(sac.formatted.primeiraParcela); // "R$ 3.125,00"
// Calcular financiamento Price
const price = calc.financingPrice(300000, 10.5, 30);
console.log(price.formatted.prestacaoFixa); // "R$ 2.738,95"
// Comparar os dois sistemas
const comparacao = calc.compareFinancing(300000, 10.5, 30);
console.log(comparacao.comparacao.recomendacao);Calculadora de Investimentos
import { InvestmentCalc } from "financial-calc-br";
const calc = await InvestmentCalc.create();
// Calcular rendimento da poupança
const poupanca = calc.investmentPoupanca(10000, 12);
console.log(poupanca.formatted.rendimento); // "R$ 617,00"
// Calcular CDB
const cdb = calc.investmentCDB(10000, 12, 110); // 110% do CDI
console.log(cdb.formatted.rendimentoLiquido); // "R$ 876,32"
// Comparar investimentos
const comparacao = calc.compareInvestments(10000, 12);
console.log(comparacao.melhorOpcao.nome); // "CDB 120% CDI"Calculadora de Cartão de Crédito
import { CreditCardCalc } from "financial-calc-br";
const calc = new CreditCardCalc();
// Calcular rotativo do cartão
const rotativo = calc.calcRotativo(1000, 300, 15); // Fatura R$ 1000, pagou R$ 300, taxa 15%
console.log(rotativo.formatted.custoTotal); // "R$ 107,66"
console.log(rotativo.alerta); // "Custo alto"Gerenciador de Taxas
import { RatesManager } from "financial-calc-br";
const rates = await RatesManager.create();
// Obter taxas atualizadas
console.log(rates.getSelic()); // 11.25
console.log(rates.getCDI()); // 10.13
console.log(rates.getPoupanca()); // 0.5
// Obter todas as taxas formatadas
const allRates = rates.getAllRates();
console.log(allRates.formatted.selic); // "11.25% a.a."
console.log(allRates.formatted.cdi); // "10.13% a.a."
console.log(allRates.formatted.poupanca); // "0.50% a.m."
// Atualizar taxas manualmente
await rates.updateAll();📊 Funcionalidades
🏠 Financiamentos
- Sistema SAC: Parcelas decrescentes, menor custo total
- Sistema Price: Parcelas fixas, facilita planejamento
- Comparação: Análise automática dos dois sistemas
- Simulação de entrada: Calcule diferentes cenários de entrada
💰 Investimentos
- Poupança: Cálculo com regras atuais (isento de IR)
- Tesouro Selic: Com tributação regressiva
- CDB: Diversos percentuais do CDI
- Aportes mensais: Simulação de investimentos recorrentes
- Taxas atualizadas: Busca automática de taxas Selic e CDI
💳 Cartão de Crédito
- Rotativo: Cálculo de juros e IOF
- Alertas: Identifica custos altos automaticamente
- Próxima fatura: Projeção do valor da próxima fatura
🛠️ API Completa
FinancingCalc
// Financiamento SAC
financingSAC(valor: number, taxaAnual: number, anos: number): ResultadoSAC
// Financiamento Price
financingPrice(valor: number, taxaAnual: number, anos: number): ResultadoPRICE
// Comparar sistemas
compareFinancing(valor: number, taxaAnual: number, anos: number): ResultadoComparacao
// Simular entrada
simulateDownPayment(valorImovel: number, entrada: number, taxaAnual: number, anos: number): SimulacaoEntradaInvestmentCalc
// Poupança
investmentPoupanca(valor: number, meses: number): ResultadoPoupanca
// Tesouro Selic
investmentTesouroSelic(valor: number, meses: number): ResultadoTesouroSelic
// CDB
investmentCDB(valor: number, meses: number, percentualCDI: number): ResultadoCDB
// Comparar investimentos
compareInvestments(valor: number, meses: number, opcoes?: number[]): ResultadoComparacaoInvestment
// Aportes mensais
simulateMonthlyContributions(valorInicial: number, aporteMensal: number, meses: number, taxaAnual: number, temIR?: boolean): SimulacaoAportesCreditCardCalc
// Rotativo do cartão
calcRotativo(valorFatura: number, valorPago: number, taxaMensal?: number): creditCard | creditCardPagaRatesManager
// Buscar taxas atualizadas
updateAll(): Promise<Rates>
// Obter taxas individuais
getSelic(): number
getCDI(): number
getPoupanca(): number
getDolar(): number
getIPCA(): number
// Obter todas as taxas
getAllRates(): AllRates🔧 Utilitários
import {
formatMoney,
parseMoney,
convertRate,
calcIRRate,
} from "financial-calc-br";
// Formatação
formatMoney(1234.56); // "R$ 1.234,56"
parseMoney("R$ 1.234,56"); // 1234.56
// Conversão de taxas
convertRate(12, "anual", "mensal"); // 0.9489
convertRate(1, "mensal", "anual"); // 12.6825
// Cálculo de IR
calcIRRate(90); // 22.5 (90 dias = 22.5%)
calcIRRate(400); // 17.5 (400 dias = 17.5%)📈 Exemplos Práticos
Comparando Financiamento de R$ 500.000
const calc = new FinancingCalc();
const resultado = calc.compareFinancing(500000, 11.5, 30);
console.log(`SAC - Primeira parcela: ${resultado.sac.primeira}`);
console.log(`Price - Parcela fixa: ${resultado.price.parcelaFixa}`);
console.log(
`Economia escolhendo SAC: ${resultado.comparacao.formatted.economia}`
);
console.log(`Recomendação: ${resultado.comparacao.recomendacao.sistema}`);Simulando Investimento com Aportes
const calc = await InvestmentCalc.create();
const simulacao = calc.simulateMonthlyContributions(10000, 1000, 24, 12);
console.log(`Total aportado: ${simulacao.formatted.totalAportado}`);
console.log(`Rendimento líquido: ${simulacao.formatted.rendimentoLiquido}`);
console.log(`Montante final: ${simulacao.formatted.montanteLiquido}`);🇧🇷 Específico para o Brasil
- Taxas reais: Integração com APIs do Banco Central
- Tributação brasileira: IR progressivo e regressivo
- Regras da poupança: Aplicação automática das regras atuais
- Formatação: Valores em Real (R$) e períodos em português
- IOF: Cálculo automático para cartão de crédito
📝 Licença
MIT © Raul Cabral
🤝 Contribuindo
Contribuições são bem-vindas! Veja CONTRIBUTING.md para detalhes.
🐛 Bugs e Sugestões
Encontrou um bug ou tem uma sugestão? Abra uma issue.
📊 Roadmap
- [ ] Calculadora de aposentadoria
- [ ] Simulador de empréstimos
- [ ] Calculadora de impostos
- [ ] Integração com mais APIs financeiras
- [ ] Dashboard web interativo
