Presupuesto de reforma
La calculadora de presupuesto de reforma convierte una lista de materiales, mano de obra, instalaciones, alquileres y otros gastos en un objetivo de gasto práctico.
Ejecutar — gratis
Introduzca cada cantidad con su precio unitario correspondiente y elija después un porcentaje para los imprevistos que puedan surgir al comenzar la obra. El resultado muestra el coste de cada partida, el subtotal desglosado, la reserva y el total final del proyecto. Resulta útil para la planificación inicial, la comparación de presupuestos, los cambios de alcance y los cálculos repetibles mediante la API.
Prepare una estimación detallada de la reforma
Empiece con una fila para cada coste que pueda identificar razonablemente. Los materiales pueden medirse por metro cuadrado, caja, placa, litro, elemento o unidad, mientras que la mano de obra puede indicarse por hora, día o trabajo cerrado. La cantidad y el precio unitario de una fila deben compartir la misma base: un suelo medido en metros cuadrados requiere un precio por metro cuadrado, y veinticuatro horas de electricista requieren una tarifa por hora. Si un proveedor cotiza un paquete, divida el precio por su contenido cuando use unidades menores o indique cuántos paquetes completos prevé comprar. Los nombres son opcionales, aunque facilitan mucho la revisión del desglose. Mantenga todos los importes en una moneda, pues la calculadora no detecta ni convierte divisas. Añada permisos, transporte, alquiler de equipos, retirada de residuos, honorarios de diseño e impuestos como filas independientes cuando formen parte del alcance. Una lista completa ofrece un subtotal más útil que una cifra general que oculte supuestos.
Interprete el subtotal, la reserva y el total
En cada fila, la calculadora multiplica la cantidad por el precio unitario. Suma esos costes para obtener el subtotal detallado y multiplica dicho subtotal por el porcentaje de imprevistos para calcular la reserva. Finalmente, añade la reserva al subtotal y obtiene el total del proyecto. Por ejemplo, un subtotal de 20,000 con un 10 por ciento de reserva genera 2,000 para imprevistos y un total de 22,000. La reserva no predice que se gastará todo ese dinero adicional. Es un margen de planificación para cantidades inciertas, daños ocultos, pequeñas variaciones de precios o ajustes menores del alcance. Elija el porcentaje según la precisión con que esté definida la obra y la parte del edificio que pueda inspeccionarse antes de empezar. Un porcentaje cero permite comparar presupuestos desglosados sin margen, mientras que uno mayor puede reflejar una idea inicial con más incógnitas. La respuesta conserva cada entrada normalizada y cada coste, por lo que la operación se puede auditar o reproducir fácilmente.
Use el total sin confundirlo con una oferta definitiva
Considere el total calculado como un modelo presupuestario basado en las filas aportadas, no como un compromiso del contratista, una tasación ni una garantía. Antes de comparar ofertas con su estimación, compruebe si incluyen impuestos, transporte, demolición, limpieza, permisos, protecciones temporales y acabados. Evite contar dos veces el mismo gasto, por ejemplo al incluir el desperdicio dentro de la cantidad de suelo y también como partida separada. Cuando cambie el diseño, duplique los datos, modifique solo las filas afectadas y compare ambos totales para que el coste de la decisión permanezca visible. A medida que lleguen las facturas, sustituya cantidades o precios estimados por valores reales y mantenga la reserva separada del gasto comprometido. El cálculo determinista no consulta redes ni bases de precios, y tampoco usa azar ni valores temporales; las mismas entradas siempre producen el mismo resultado. La versión del navegador sirve para planificar, mientras que la API cuesta $0.002 por solicitud y permite integrar el cálculo en formularios y flujos de gestión.
Qué puede hacer con ella
Planificar la reforma de una estancia
Combine suelo, pintura, instalaciones, mano de obra, residuos y permisos en un presupuesto con reserva para imprevistos.
Comparar alcances de contratistas
Normalice cantidades y precios unitarios de distintas ofertas y aplique el mismo porcentaje de reserva a cada opción.
Controlar un diseño revisado
Recalcule el total tras cambiar acabados o cantidades y vea cómo las partidas revisadas afectan a la reserva del proyecto.
Preguntas frecuentes
¿Cuánto cuesta un cálculo?
El precio de la API es $0.002 por solicitud. También puede ejecutar la calculadora gratis en su navegador.
¿Cómo se calcula el subtotal de la reforma?
El coste de cada partida es su cantidad multiplicada por su precio unitario. El subtotal es la suma de todas las partidas.
¿Cómo se añade la reserva para imprevistos?
El subtotal se multiplica por el porcentaje de imprevistos para hallar la reserva, que después se suma al subtotal.
¿Qué porcentaje de imprevistos debería usar?
Elija un porcentaje que refleje la incertidumbre de su proyecto. Los diseños iniciales y los elementos ocultos suelen implicar más incógnitas que un alcance completamente documentado.
¿La calculadora ofrece precios actuales de materiales o mano de obra?
No. Usted aporta cada cantidad y precio unitario. La calculadora realiza operaciones deterministas y no consulta ninguna base de precios.
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/home/renovation-budget \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"items":[{"name":"Flooring","quantity":45,"unit_price":38.5},{"name":"Paint","quantity":12,"unit_price":42},{"name":"Electrical labor","quantity":24,"unit_price":85}]}'const res = await fetch("https://api.kit.forhosting.com/home/renovation-budget", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"items": [
{
"name": "Flooring",
"quantity": 45,
"unit_price": 38.5
},
{
"name": "Paint",
"quantity": 12,
"unit_price": 42
},
{
"name": "Electrical labor",
"quantity": 24,
"unit_price": 85
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/home/renovation-budget",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"items": [
{
"name": "Flooring",
"quantity": 45,
"unit_price": 38.5
},
{
"name": "Paint",
"quantity": 12,
"unit_price": 42
},
{
"name": "Electrical labor",
"quantity": 24,
"unit_price": 85
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/home/renovation-budget", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"items":[{"name":"Flooring","quantity":45,"unit_price":38.5},{"name":"Paint","quantity":12,"unit_price":42},{"name":"Electrical labor","quantity":24,"unit_price":85}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"items":[{"name":"Flooring","quantity":45,"unit_price":38.5},{"name":"Paint","quantity":12,"unit_price":42},{"name":"Electrical labor","quantity":24,"unit_price":85}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/home/renovation-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
{
"items": [
{
"name": "Flooring",
"quantity": 45,
"unit_price": 38.5
},
{
"name": "Paint",
"quantity": 12,
"unit_price": 42
},
{
"name": "Electrical labor",
"quantity": 24,
"unit_price": 85
}
]
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "home.renovation_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.
Límites
min_items | 1 |
max_items | 200 |
max_value | 1000000000000 |
max_contingency_percent | 100 |
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. |