Calculadora de anuidade
Pegue 10.000 a 1% ao mês por 12 meses e só uma parcela fixa zera a dívida: 888,49. Use para calcular a prestação de um empréstimo, definir saques de uma reserva ou conferir uma proposta de leasing. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Capital inicial
- 10.000
- Taxa por período
- 0,01
- Períodos
- 12
- Pagamento
- 888,49
Ela aplica a fórmula fechada da anuidade e devolve o valor da parcela, nem mais nem menos. Use-a para precificar uma prestação de empréstimo, dimensionar o saque de uma reserva de aposentadoria ou conferir a cotação de arrendamento que o revendedor acabou de apresentar — uma chamada determinística, sem planilha e sem cadastro.
O que é, de fato, um pagamento de anuidade
Uma anuidade é uma série de pagamentos iguais feitos em intervalos regulares — prestações mensais de empréstimos, saques trimestrais de previdência, encargos anuais de arrendamento. A parcela é o número que torna toda a série equivalente, à taxa de juros dada, ao principal de hoje. A fórmula por trás, pagamento = principal × r ÷ (1 − (1 + r)^(−n)), é a mesma usada por bancos, locadores e fundos de pensão, derivada do desconto de cada pagamento futuro a valor presente e da solução para a parcela nivelada.
Como a taxa é expressa por período, o cálculo serve para qualquer periodicidade: taxa mensal com períodos mensais, taxa anual com períodos anuais, ou qualquer outro par consistente. O que importa é a consistência — a taxa e a contagem de períodos devem descrever o mesmo intervalo. Envie uma taxa mensal com períodos contados em anos e a resposta estará errada por construção, e nenhuma calculadora salva unidades incompatíveis.
Mantenha os dois alinhados e o resultado é exato, determinístico e reproduzível em qualquer máquina, e é por isso que o mesmo cálculo roda identicamente no seu navegador e na nossa edge.
Entradas, unidades e casos extremos
O principal é o valor presente da anuidade: o valor do empréstimo, a reserva sendo consumida, o preço sendo financiado — deve ser positivo. O campo períodos é o número de pagamentos e deve ser um inteiro positivo até 1200, o que cobre com folga cem anos de pagamentos mensais. Dois casos extremos são tratados deliberadamente.
E a parcela retornada é arredondada para duas casas decimais — centavos — de modo que a resposta é estável byte a byte entre execuções e entre máquinas. Essa estabilidade não é cosmética: testes de ouro comparam a saída literalmente, e você pode fazer o mesmo ao armazenar em cache ou reconciliar resultados nos seus próprios sistemas. Se precisar de mais precisão, mantenha a precisão total do seu lado e trate o valor retornado como o montante liquidado canônico.
Como usar bem e o que ele não faz
Os usos típicos se dividem em três padrões. Credores e marketplaces o chamam para cotar uma prestação antes de executar todo o fluxo de análise de crédito, porque a parcela é o primeiro número que o cliente pede. Produtos de SaaS o embutem atrás de suas próprias calculadoras de preço para que a matemática seja mantida num só lugar, em vez de reimplementada — muitas vezes incorretamente — em cada frontend.
E equipes financeiras o usam para conferir às avessas as cotações que recebem: se a parcela mensal do revendedor não bate com a fórmula, há algo mais escondido no pagamento, uma tarifa ou um prêmio de seguro. Ele retorna apenas a parcela; não produz o cronograma de amortização período a período com a divisão entre juros e principal — essa é outra capacidade. Ele assume uma anuidade postecipada, ou seja, pagamentos no fim de cada período; anuidades antecipadas, com pagamentos no início, diferem por um fator de (1 + r).
E não modela tarifas, impostos, balões nem mudanças de taxa. Quando seu caso se encaixa no modelo simples de anuidade, esta é a ferramenta certa; quando não se encaixa, calcule a parcela aqui como linha de base e adicione os extras no seu próprio código.
Casos de uso
Cotar uma prestação de empréstimo
Retorne a parcela mensal de um valor e taxa financiados antes de o cliente se comprometer com a proposta completa.
Dimensionar saques de aposentadoria
Calcule o saque fixo que um montante pode sustentar ao longo de um número de períodos com um retorno esperado.
Conferir a cotação de um revendedor
Compare a parcela mensal cotada com a fórmula para expor tarifas ocultas ou extras embutidos.
Perguntas frequentes
Quanto custa?
Também é grátis executar no seu navegador nesta página.
A taxa é percentual ou decimal?
Um decimal por período: 0.01 significa 1% por período. Divida o percentual anual por 100 e depois pelo número de períodos por ano.
O que acontece com taxa de 0%?
É suportada: a parcela é simplesmente o principal dividido pelo número de períodos, que é o limite exato da fórmula da anuidade com juros zero.
Ele retorna o cronograma completo de amortização?
Não. Ele retorna apenas o valor da parcela. O cronograma período a período é uma capacidade separada.
É uma anuidade antecipada ou postecipada?
Postecipada: os pagamentos são assumidos no fim de cada período. Para pagamentos antecipados, multiplique o resultado do seu lado conforme o fator.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/fin/annuity \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"principal":10000,"rate_per_period":0.01,"periods":12}'const res = await fetch("https://api.kit.forhosting.com/fin/annuity", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"principal": 10000,
"rate_per_period": 0.01,
"periods": 12
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/annuity",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"principal": 10000,
"rate_per_period": 0.01,
"periods": 12
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/annuity", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"principal":10000,"rate_per_period":0.01,"periods":12}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"principal":10000,"rate_per_period":0.01,"periods":12}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/annuity", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"principal": 10000,
"rate_per_period": 0.01,
"periods": 12
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.annuity",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_periods | 1200 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
A API de pagamento de anuidade responde a uma das perguntas mais antigas das finanças: dado um valor hoje, uma taxa de juros por período e um número de períodos, qual parcela fixa zera o saldo exatamente no prazo?
O que é, de fato, um pagamento de anuidade
Ao tomar 10,000 a 1% ao mês por 12 meses, existe exatamente um valor mensal que leva o saldo a zero com o último pagamento: é esse valor que este endpoint retorna.
Entradas, unidades e casos extremos
O endpoint aceita três números. A taxa por período é um decimal, portanto 1% ao mês é 0.01, não 1 e não 0.01% — e deve ser não negativa; uma taxa negativa é rejeitada com erro invalid_input e nunca é cobrada. Taxa zero é válida e significa divisão simples: sem juros, a parcela é exatamente o principal dividido pelos períodos, que é o limite matemático correto da fórmula quando a taxa tende a zero, então o endpoint o retorna diretamente em vez de falhar numa divisão por zero.
Como usar bem e o que ele não faz
Vale ser claro sobre o que o endpoint deixa de fora deliberadamente. São essas omissões que o mantêm rápido, barato a US$ 0,002 por requisição e exatamente previsível.
Perguntas técnicas
Por que minha taxa negativa foi rejeitada?
Uma taxa de juros negativa não tem sentido para este modelo de pagamento, então a requisição falha com invalid_input e não é cobrada.