Calculadora de dietas de viaje con días parciales
Esta calculadora de dietas convierte una asignación diaria, la duración del viaje y los porcentajes de salida y regreso en un total de reembolso claro.
Ejecutar — gratis
Considera la duración indicada como días naturales, abona íntegramente los días intermedios y prorratea por separado el primero y el último. El resultado muestra además los días efectivos reembolsables y el importe de cada extremo, para que pueda revisarlo, explicarlo o copiarlo en una liquidación de gastos.
Indique la asignación y cuente los días naturales de viaje
Comience con la asignación diaria aplicable a la persona que viaja, al destino y al período correspondiente de la política. La calculadora no elige por usted una tarifa oficial, empresarial ni contractual: utiliza el importe que usted facilita y conserva su contexto monetario sin convertirlo. Indique el número total de días naturales del viaje, contando tanto la fecha de salida como la de regreso. Por tanto, un viaje que comienza el lunes y termina el viernes consta de cinco días, aunque la salida sea el lunes por la tarde o el regreso el viernes por la mañana. Esos períodos parciales se expresan en los campos de porcentaje, no alterando el número de días. Mantener un recuento entero deja una trazabilidad inequívoca: los días intermedios siempre son completos y solo se prorratean los extremos. Antes de usar el resultado, confirme que la asignación y los porcentajes proceden de la misma política. Si la dieta diaria es 120 en su moneda contable, escriba 120 sin símbolo monetario, separador de millares, kilometraje, alojamiento ni otros gastos reembolsados por separado.
Prorratee los días de salida y regreso mediante porcentajes
Utilice first_day_percent para el día de salida y last_day_percent para el día de regreso. El valor 100 abona la asignación diaria completa; 75, tres cuartas partes; 50, la mitad; y 0 excluye ese extremo del reembolso. La calculadora transforma cada porcentaje en una fracción de día, suma todos los días intermedios completos y multiplica el total de días reembolsables por la asignación diaria. Por ejemplo, un viaje de cinco días con 75 por ciento en ambos extremos contiene tres días completos más 0.75 más 0.75, es decir, 4.5 días reembolsables. Los porcentajes son independientes porque muchas políticas tratan de forma distinta la salida y el regreso. Un viaje de un día constituye un caso especial: la misma fecha es a la vez el primer y el último día, por lo que ambos porcentajes deben coincidir y la jornada se cuenta una sola vez. Así se evita un reembolso doble accidental. Los porcentajes deben estar entre 0 y 100, y la duración debe ser un número entero de 1 a 10,000 días.
Revise el desglose antes de presentar el reembolso
La salida incluye la asignación y la duración originales, los porcentajes aplicados a ambos extremos, el número de días intermedios completos, los días efectivos reembolsables, los importes del primer y último día y el reembolso final. Este desglose permite que una persona responsable de aprobar el gasto reproduzca el total sin adivinar el criterio utilizado. En un viaje de varios días, la fórmula suma la fracción del primero, todos los días intermedios completos y la fracción del último, y multiplica el resultado por la asignación diaria. En un viaje de un día, la fracción coincidente se aplica una sola vez. Los resultados solo se redondean para eliminar ruido de coma flotante, no automáticamente a dos decimales, porque las monedas y las políticas contables internas pueden exigir precisiones distintas. Aplique después el redondeo monetario requerido por su organización. El cálculo solo cubre la dieta: no añade alojamiento, transporte, kilometraje, impuestos, ajustes de cambio, deducciones por comidas ni tarifas específicas del destino. El cálculo en el navegador es gratuito y cada solicitud automatizada a la API cuesta $0.002.
Qué puede hacer con ella
Preparar una liquidación de gastos
Calcule la parte correspondiente a dietas y conserve un desglose transparente para la persona empleada y quien aprueba.
Comprobar un reembolso de viaje
Reproduzca un total presentado usando la tarifa diaria declarada y los porcentajes de salida y regreso de la política.
Automatizar costes de viajes de proyecto
Use la API para aplicar de forma uniforme tarifas y porcentajes conocidos a viajes previstos o terminados.
Preguntas frecuentes
¿Cuánto cuesta la calculadora?
Puede usarla gratis en su navegador. Cada solicitud a la API cuesta $0.002.
¿El recuento incluye los días de salida y regreso?
Sí. Indique todos los días naturales desde la salida hasta el regreso, incluidos ambos extremos.
¿Cómo se calculan los días parciales?
Cada porcentaje extremo se divide entre 100 y se multiplica por la asignación diaria. Todos los días intermedios reciben la asignación completa.
¿Cómo se trata un viaje de un solo día?
Como el primer y último día son la misma fecha, sus porcentajes deben coincidir y esa fracción se cuenta una vez.
¿La calculadora selecciona una tarifa oficial?
No. Introduzca la asignación diaria exigida por su empresa, cliente, contrato o política aplicable.
¿El resultado incluye alojamiento, kilometraje o conversión de moneda?
No. Solo calcula la dieta con los valores introducidos; no añade otros gastos ni convierte monedas.
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/travel/per-diem \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"daily_allowance":120,"travel_days":5}'const res = await fetch("https://api.kit.forhosting.com/travel/per-diem", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"daily_allowance": 120,
"travel_days": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/travel/per-diem",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"daily_allowance": 120,
"travel_days": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/travel/per-diem", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"daily_allowance":120,"travel_days":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"daily_allowance":120,"travel_days":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/travel/per-diem", 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
{
"daily_allowance": 120,
"travel_days": 5
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "travel.per_diem",
"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. |