Calculadora de presupuesto
Con 5.000 de ingresos y 2.700 gastados en vivienda, comida, transporte, suministros y suscripciones, quedan 2.300: un superávit. Liste sus propios ingresos y gastos por categoría para ver lo que le queda en el periodo. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Ingresos
- 5 000
- Número de gastos
- 5
- Gastos totales
- 2 700
- Restante
- 2 300
- Estado
- surplus
Esta calculadora de presupuesto restante resta una lista de gastos categorizados de los ingresos totales e indica si el periodo cierra en superávit o en déficit. Envíe una cifra de income finita y no negativa y al menos una fila de gasto con etiqueta de category y un amount; el motor suma cada amount, calcula remaining igual a income menos ese total y clasifica el signo como surplus, deficit o balanced. No hay trayectoria de inflación, tabla fiscal ni conversión de divisas: solo una resta determinista que puede fijar en pruebas y mostrar junto al desglose por categoría.
Qué significa el presupuesto restante y cómo se firma el superávit o el déficit
El presupuesto restante es lo que sobra después de restar cada gasto listado de los ingresos del mismo periodo: un mes, un ciclo de nómina o un sobre de proyecto. Esta calculadora no pronostica inflación, no convierte divisas ni aplica tablas fiscales. Lee una cifra de income finita y no negativa y una lista de filas de gasto categorizadas, cada una con una etiqueta de category y un amount en la misma moneda, y aplica la identidad cerrada remaining igual a income menos la suma de esos importes.
Un sobrante positivo es un surplus; un sobrante negativo es un deficit cuya magnitud es el faltante; un sobrante cero es balanced. Las etiquetas de category viajan en la respuesta para que un hogar, un aula o un script muestren cuánto del gasto quedó en vivienda frente a alimentación frente a transporte. share es el amount de la fila dividido por el total de gastos, o cero cuando ese total es cero. El income mismo debe ser no negativo y finito.
Dónde resulta útil una calculadora de presupuesto restante
Los hogares usan una calculadora de presupuesto restante cuando llega la nómina y el alquiler, la compra, el trayecto, los servicios y las suscripciones necesitan un único número de sobrante antes de planear el gasto discrecional. Los estudiantes se encuentran con la misma identidad en unidades de finanzas personales que preguntan si un sobre mensual queda en superávit o en déficit dada una lista de gasto etiquetada.
El profesorado puede generar claves de respuesta para cifras de ingreso modestas sin confiar en aplicaciones opacas que mezclan reglas de tasa de ahorro o inflación en una resta simple. Las herramientas de asesoría usan el importe de surplus o deficit junto a una barra de progreso para que quien aprende vea el efectivo sobrante, no un muro de filas crudas.
Qué puede hacer con ella
Sobrante del sueldo del hogar
Reste alquiler, alimentación, transporte y facturas del salario neto para ver si el mes cierra en superávit o en déficit.
Comprobaciones de sobre en el aula
Entregue a los estudiantes una lista de gastos etiquetada y un ingreso conocido para que verifiquen el presupuesto restante frente a la clave de superávit o déficit.
Juegos de prueba deterministas de presupuesto
Alimente calculadoras de CI y de producto con valores estables de remaining, surplus y deficit a partir de income y gastos categorizados conocidos.
Preguntas frecuentes
¿Cómo se calcula el presupuesto restante?
remaining = income − suma de cada amount de gasto. Un sobrante positivo es surplus; un sobrante negativo es deficit (informado como un faltante positivo); el cero es balanced.
¿Qué ocurre si un amount de gasto es negativo?
En esta calculadora los valores de gasto no pueden ser negativos, y la validación fallida no se factura.
¿Qué campos debo enviar?
Cada fila de gasto necesita un category no vacío y un amount no negativo.
¿Qué significa status en la respuesta?
status vale surplus cuando remaining es positivo, deficit cuando remaining es negativo, y balanced cuando remaining es exactamente cero tras el redondeo a dos decimales.
¿Muestra la calculadora cuánto se va en cada categoría?
Sí. Junto a cada categoría verá su parte del gasto total. En el ejemplo, la vivienda, con 1.800 de 2.700, son dos tercios de todo lo gastado, lo que deja ver de inmediato dónde está la mayor presión del presupuesto.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
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)Ejemplo de solicitud
{
"income": 5000,
"expenses": [
{
"category": "Housing",
"amount": 1800
},
{
"category": "Food",
"amount": 450
},
{
"category": "Transport",
"amount": 220
},
{
"category": "Utilities",
"amount": 180
},
{
"category": "Subscriptions",
"amount": 50
}
]
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.budget",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Los importes de gasto negativos se rechazan con invalid_input porque, en este modelo, una línea de gasto no puede ser menor que cero. La misma aritmética pura alimenta la herramienta gratuita del navegador y la ruta API, de modo que una hoja del hogar y un script de automatización nunca discrepan en el sobrante.
Qué significa el presupuesto restante y cómo se firma el superávit o el déficit
Los valores negativos de gasto quedan fuera del modelo: una línea de gasto no puede ser menor que cero, así que el motor falla con invalid_input nombrando la fila ofensiva en lugar de convertir en silencio un reembolso en un crédito. El recorrido es aritmética pura, sin Date, sin aleatoriedad y sin E/S de red, de modo que las mismas entradas producen siempre el mismo JSON y el mismo importe de surplus o deficit que puede fijar en una hoja o en una prueba unitaria.
Contrato de entrada, filas rechazadas y forma de una respuesta correcta
Cada objeto necesita category, una cadena no vacía tras recortar espacios, y amount, un número finito no negativo. Si algún amount de gasto es negativo, la solicitud se rechaza con un mensaje que indica que los valores de gasto no pueden ser negativos: ese es el contrato duro de esta calculadora, y esos fallos no se facturan. Los campos de dinero se redondean a dos decimales; las cuotas share usan doce. Las claves de salida opcionales se omiten en lugar de fijarse a null. Envíe mediante POST un cuerpo JSON con dos campos obligatorios. income es el dinero total disponible en el periodo; se aceptan los alias total_income, salary y revenue para que las hojas de cálculo y los formularios tipados reutilicen el mismo contrato. expenses es un arreglo no vacío de uno a doscientos objetos; los alias items, costs y spending apuntan a la misma lista. En cada fila se honran los alias value y cost de amount. Se aceptan cadenas numéricas que se interpretan como decimales finitos; las cadenas vacías, NaN e Infinity fallan con invalid_input nombrando el campo. También fallan un income ausente, una lista expenses ausente o vacía, un category ausente o más de doscientas filas. Si acierta, el cuerpo ecoa income, expense_count y las filas de gasto limpias con share; informa total_expenses, remaining, status (surplus, deficit o balanced), surplus (remaining cuando es positivo, si no cero), deficit (el faltante absoluto cuando remaining es negativo, si no cero) y una cadena formula.
Dónde resulta útil una calculadora de presupuesto restante
En esta página el trabajo se ejecuta por completo en el navegador; a través de la API cada consulta correcta cuesta $0.002, la validación fallida no se cobra y no se almacena nada después de devolver la respuesta. Combine la ejecución interactiva gratuita con la API de pago idéntica cuando pase de una demostración en hoja a una canalización automatizada sin cambiar el resultado matemático ni reimplementar la resta.
Preguntas técnicas
¿Cuánto cuesta la calculadora de presupuesto?
La herramienta del navegador es gratuita. Las solicitudes API usan saldo prepago de KIT a $0.002 por llamada correcta; la entrada inválida no se factura.