Calculadora de orçamento
Com renda de 5.000 e 2.700 gastos com moradia, comida, transporte, contas da casa e assinaturas, sobram 2.300: um superávit. Liste sua própria renda e seus gastos por categoria para ver o que resta no período. 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
- Renda
- 5.000
- Número de despesas
- 5
- Despesas totais
- 2.700
- Restante
- 2.300
- Status
- surplus
Esta calculadora de orçamento restante subtrai uma lista de despesas categorizadas da renda total e informa se o período fecha em superávit ou em déficit. Envie uma cifra de income finita e não negativa e ao menos uma linha de despesa com rótulo de category e um amount; o mecanismo soma cada amount, calcula remaining igual a income menos esse total e classifica o sinal como surplus, deficit ou balanced. Não há trajetória de inflação, tabela fiscal nem conversão de moeda: apenas uma subtração determinística que você pode fixar em testes e exibir ao lado do detalhamento por categoria.
O que o orçamento restante significa e como o superávit ou o déficit é assinado
O orçamento restante é o que sobra depois que cada gasto listado é retirado da renda do mesmo período: um mês, um ciclo de pagamento ou um envelope de projeto. Esta calculadora não prevê inflação, não converte moedas e não aplica tabelas fiscais. Ela lê uma cifra de income finita e não negativa e uma lista de linhas de despesa categorizadas, cada uma com um rótulo de category e um amount na mesma moeda, e aplica a identidade fechada remaining igual a income menos a soma desses importes.
Um saldo positivo é um surplus; um saldo negativo é um deficit cuja magnitude é a falta; um saldo zero é balanced. Os rótulos de category viajam na resposta para que um lar, uma sala de aula ou um script mostre quanto do gasto ficou em moradia frente a alimentação frente a transporte. share é o amount da linha dividido pelo total de despesas, ou zero quando esse total é zero. O próprio income deve ser não negativo e finito.
Contrato de entrada, linhas rejeitadas e a forma de uma resposta bem-sucedida
Cada objeto precisa de category, uma string não vazia após o recorte de espaços, e amount, um número finito não negativo. Em cada linha honram-se os apelidos value e cost de amount. Se algum amount de despesa for negativo, a solicitação é rejeitada com uma mensagem de que os valores de despesa não podem ser negativos: esse é o contrato rígido desta calculadora, e essas falhas não são cobradas.
Os campos de dinheiro são arredondados a duas casas decimais; as cotas share usam doze. Chaves de saída opcionais são omitidas em vez de definidas como null.
Onde uma calculadora de orçamento restante se paga
Famílias usam uma calculadora de orçamento restante quando o pagamento cai e o aluguel, o mercado, o deslocamento, as contas e as assinaturas precisam de um único número de saldo antes de planejar o gasto discricionário. Estudantes encontram a mesma identidade em unidades de finanças pessoais que perguntam se um envelope mensal fecha em superávit ou em déficit dada uma lista de gastos rotulada.
Professores podem gerar gabaritos para cifras de renda modestas sem confiar em aplicativos opacos que misturam regras de taxa de poupança ou inflação em uma subtração simples. Ferramentas de coaching usam o importe de surplus ou deficit ao lado de uma barra de progresso para que quem aprende veja o dinheiro sobrando, não um muro de linhas cruas.
Casos de uso
Sobra do salário da família
Subtraia aluguel, alimentação, transporte e contas da renda líquida para ver se o mês fecha em superávit ou em déficit.
Checagens de envelope na sala de aula
Entregue aos estudantes uma lista de gastos rotulada e uma renda conhecida para que verifiquem o orçamento restante frente ao gabarito de superávit ou déficit.
Jogos de teste determinísticos de orçamento
Alimente calculadoras de CI e de produto com valores estáveis de remaining, surplus e deficit a partir de income e despesas categorizadas conhecidas.
Perguntas frequentes
Como o orçamento restante é calculado?
remaining = income − soma de cada amount de despesa. Um saldo positivo é surplus; um saldo negativo é deficit (informado como uma falta positiva); o zero é balanced.
O que acontece se um amount de despesa for negativo?
Nesta calculadora os valores de despesa não podem ser negativos, e a validação com falha não é cobrada.
Quais campos eu envio?
Cada linha de despesa precisa de um category não vazio e um amount não negativo.
O que status significa na resposta?
status vale surplus quando remaining é positivo, deficit quando remaining é negativo, e balanced quando remaining é exatamente zero após o arredondamento a duas casas decimais.
A calculadora mostra quanto vai para cada categoria?
Sim. Ao lado de cada categoria aparece a parte dela no gasto total. No exemplo, a moradia, com 1.800 de 2.700, representa dois terços de tudo o que foi gasto, o que mostra na hora onde está a maior pressão do orçamento.
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/budget \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"income":5000,"expenses":[{"category":"Housing","amount":1800},{"category":"Food","amount":450},{"category":"Transport","amount":220},{"category":"Utilities","amount":180},{"category":"Subscriptions","amount":50}]}'const res = await fetch("https://api.kit.forhosting.com/fin/budget", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"income": 5000,
"expenses": [
{
"category": "Housing",
"amount": 1800
},
{
"category": "Food",
"amount": 450
},
{
"category": "Transport",
"amount": 220
},
{
"category": "Utilities",
"amount": 180
},
{
"category": "Subscriptions",
"amount": 50
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/budget",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"income": 5000,
"expenses": [
{
"category": "Housing",
"amount": 1800
},
{
"category": "Food",
"amount": 450
},
{
"category": "Transport",
"amount": 220
},
{
"category": "Utilities",
"amount": 180
},
{
"category": "Subscriptions",
"amount": 50
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/budget", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"income":5000,"expenses":[{"category":"Housing","amount":1800},{"category":"Food","amount":450},{"category":"Transport","amount":220},{"category":"Utilities","amount":180},{"category":"Subscriptions","amount":50}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"income":5000,"expenses":[{"category":"Housing","amount":1800},{"category":"Food","amount":450},{"category":"Transport","amount":220},{"category":"Utilities","amount":180},{"category":"Subscriptions","amount":50}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/budget", 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
{
"income": 5000,
"expenses": [
{
"category": "Housing",
"amount": 1800
},
{
"category": "Food",
"amount": 450
},
{
"category": "Transport",
"amount": 220
},
{
"category": "Utilities",
"amount": 180
},
{
"category": "Subscriptions",
"amount": 50
}
]
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.budget",
"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.
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
Valores negativos de despesa são rejeitados com invalid_input porque, neste modelo, uma linha de gasto não pode ser menor que zero. A mesma aritmética pura alimenta a ferramenta gratuita do navegador e o caminho API, de modo que uma planilha doméstica e um script de automação nunca discordam do saldo.
O que o orçamento restante significa e como o superávit ou o déficit é assinado
Valores negativos de despesa ficam fora do modelo: uma linha de gasto não pode ser menor que zero, então o mecanismo falha com invalid_input nomeando a linha ofensiva em vez de transformar em silêncio um reembolso em crédito. O caminho é aritmética pura, sem Date, sem aleatoriedade e sem E/S de rede, de modo que as mesmas entradas sempre produzem o mesmo JSON e o mesmo importe de surplus ou deficit que você pode fixar em uma planilha ou em um teste unitário.
Contrato de entrada, linhas rejeitadas e a forma de uma resposta bem-sucedida
Envie por POST um corpo JSON com dois campos obrigatórios. income é o dinheiro total disponível no período; os apelidos total_income, salary e revenue são aceitos para que planilhas e formulários tipados reutilizem o mesmo contrato. expenses é um arranjo não vazio de um a duzentos objetos; os apelidos items, costs e spending apontam para a mesma lista. Strings numéricas que se interpretam como decimais finitos são aceitas; strings vazias, NaN e Infinity falham com invalid_input nomeando o campo. Também falham um income ausente, uma lista expenses ausente ou vazia, um category ausente ou mais de duzentas linhas. Em caso de sucesso, o corpo ecoa income, expense_count e as linhas de despesa limpas com share; informa total_expenses, remaining, status (surplus, deficit ou balanced), surplus (remaining quando positivo, senão zero), deficit (a falta absoluta quando remaining é negativo, senão zero) e uma string formula.
Onde uma calculadora de orçamento restante se paga
Nesta página o trabalho roda por completo no navegador; pela API cada consulta bem-sucedida custa US$ 0,002, a validação com falha não é cobrada e nada é armazenado depois que a resposta retorna. Combine a execução interativa gratuita com a API paga idêntica quando passar de uma demonstração em planilha a um pipeline automatizado sem mudar o resultado matemático nem reimplementar a subtração.
Perguntas técnicas
Quanto custa a calculadora de orçamento?
A ferramenta do navegador é gratuita. As solicitações API usam saldo pré-pago de KIT a US$ 0,002 por chamada bem-sucedida; a entrada inválida não é cobrada.