Calculadora del coste de reuniones por salarios y duración
Una reunión tiene un coste laboral real aunque nadie facture por asistir. Esta calculadora combina la duración prevista con la tarifa horaria equivalente de cada participante para mostrar el coste total estimado y un desglose claro por persona.
Ejecutar — gratis
Use una misma moneda en todas las tarifas, introduzca a contratistas y empleados con una base horaria comparable y contraste el resultado con el valor que se espera obtener. Es una estimación práctica para planificar, no un registro contable ni de nóminas.
Introduzca tarifas horarias comparables
Empiece por la duración de la reunión en minutos y añada una fila por cada asistente. Cada fila necesita un nombre o función y una tarifa horaria equivalente. Los nombres facilitan la lectura del desglose, pero no alteran el cálculo. Todas las tarifas deben usar la misma moneda, ya que la calculadora no convierte divisas. Para un contratista, la tarifa pactada puede ser adecuada. Para una persona asalariada, divida la base retributiva que desee medir entre las horas productivas correspondientes. Algunos equipos usan únicamente el salario bruto; otros incorporan cotizaciones empresariales, prestaciones, equipo y gastos generales. Ambos métodos pueden servir, pero mezclarlos distorsiona las comparaciones. Documente el criterio al compartir el resultado. Se admite una tarifa de cero cuando una persona debe figurar en el recuento sin sumar importe. Las tarifas negativas se rechazan porque reducirían el coste y no representan un gasto laboral ordinario. La duración debe ser superior a cero; una reunión nula o negativa no constituye una estimación válida.
Comprenda el cálculo y el redondeo
La calculadora suma las tarifas horarias de todos los asistentes, convierte la duración de minutos a horas y multiplica ambos valores. De forma resumida, el coste total estimado es la duración en minutos dividida entre sesenta y multiplicada por la suma de tarifas. Una reunión de 45 minutos con tarifas de 80, 120 y 90 utiliza 0.75 horas y una tarifa conjunta de 290. El total es 217.50 en la moneda indicada por las tarifas. La respuesta calcula también la aportación de cada asistente con la misma duración para que pueda comprobarse cómo se forma el total. Los importes se redondean a dos decimales para ofrecer una estimación estable y legible. La duración original y su equivalente en horas se muestran con hasta seis decimales. Como cada línea se redondea por separado, al sumar las líneas visibles puede surgir ocasionalmente una diferencia de un céntimo. El total autorizado parte de la suma sin redondear. No se añaden automáticamente impuestos, horas extra, cambio de divisa, preparación ni seguimiento.
Use la estimación para mejorar sus decisiones
Considere el resultado una ayuda para decidir, no una prueba de que toda reunión costosa sea inútil. Una revisión breve de incidentes, un panel de contratación o una decisión de producto pueden generar mucho más valor que su coste laboral directo. La estimación cobra sentido al compararla con una finalidad concreta: tomar una decisión, reducir un riesgo, distribuir información o coordinar trabajo. Antes de invitar a otra persona, valore si su aportación es necesaria durante toda la sesión o solo en un punto del orden del día. Compare el coste mensual o anual de una reunión periódica con alternativas como una actualización escrita, una grabación, un grupo decisor más pequeño o un horario de consultas. Para estudiar escenarios, repita el cálculo con diferentes listas o duraciones; el algoritmo no usa azar y siempre devuelve lo mismo para una entrada idéntica. Evite divulgar remuneraciones sensibles cuando basten tarifas de referencia por función. El resultado es una estimación, no una afirmación sobre salario neto, facturación, productividad ni valor personal. Las solicitudes API cuestan $0.002; el navegador permite planificar rápidamente sin hoja de cálculo.
Qué puede hacer con ella
Revise una reunión periódica
Estime el coste laboral de una sesión y multiplíquelo por su frecuencia para decidir si conviene acortarla, reducirla o sustituirla.
Compare grupos de asistentes
Use la misma duración con un grupo esencial y otro más amplio para cuantificar el coste directo de mantener a participantes opcionales durante toda la sesión.
Planifique el presupuesto de un taller
Combine tarifas equivalentes de personal interno y contratistas para estimar la parte laboral antes de añadir por separado local, viajes o materiales.
Preguntas frecuentes
¿Cuánto cuesta usar la calculadora?
Cada solicitud API cuesta $0.002. El cálculo también está disponible en el navegador para realizar estimaciones interactivas rápidas.
¿Qué moneda utiliza el resultado?
El resultado usa la única moneda representada por sus tarifas. Introduzca todas en la misma moneda, pues no se realiza ninguna conversión.
¿Cómo convierto un salario anual en una tarifa horaria equivalente?
Divida la base retributiva anual elegida entre las horas de trabajo anuales que representa. Decida de forma coherente si incluye prestaciones y costes empresariales.
¿Incluye la estimación la preparación y el seguimiento?
No. Solo cubre la duración indicada para la reunión. Añada la preparación o el seguimiento como escenarios separados si forman parte de su análisis.
¿Por qué se rechaza una duración de cero?
La capacidad define una reunión como un periodo positivo. Las duraciones nulas o negativas son entradas inválidas y no estimaciones útiles.
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/biz/meeting-cost-estimate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"duration_minutes":45,"attendees":[{"name":"Product manager","hourly_rate":80},{"name":"Engineer","hourly_rate":120},{"name":"Designer","hourly_rate":90}]}'const res = await fetch("https://api.kit.forhosting.com/biz/meeting-cost-estimate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"duration_minutes": 45,
"attendees": [
{
"name": "Product manager",
"hourly_rate": 80
},
{
"name": "Engineer",
"hourly_rate": 120
},
{
"name": "Designer",
"hourly_rate": 90
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/biz/meeting-cost-estimate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"duration_minutes": 45,
"attendees": [
{
"name": "Product manager",
"hourly_rate": 80
},
{
"name": "Engineer",
"hourly_rate": 120
},
{
"name": "Designer",
"hourly_rate": 90
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/biz/meeting-cost-estimate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"duration_minutes":45,"attendees":[{"name":"Product manager","hourly_rate":80},{"name":"Engineer","hourly_rate":120},{"name":"Designer","hourly_rate":90}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"duration_minutes":45,"attendees":[{"name":"Product manager","hourly_rate":80},{"name":"Engineer","hourly_rate":120},{"name":"Designer","hourly_rate":90}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/biz/meeting-cost-estimate", 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
{
"duration_minutes": 45,
"attendees": [
{
"name": "Product manager",
"hourly_rate": 80
},
{
"name": "Engineer",
"hourly_rate": 120
},
{
"name": "Designer",
"hourly_rate": 90
}
]
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "biz.meeting_cost_estimate",
"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. |