Ausencias¶
¿Qué es?¶
El módulo de Ausencias registra las inasistencias justificadas de los empleados: vacaciones, incapacidades médicas, licencias de maternidad/paternidad, permisos y cualquier tipo de ausencia formal. Cada registro vincula un empleado con un tipo de ausencia, un rango de fechas y un estado de aprobación. El sistema calcula automáticamente el número de días.
Vista principal¶
Columnas de la tabla¶
- Código — Código interno auto-generado del registro de ausencia. Fuente monoespaciada. Ancho 160 px.
- Empleado — Nombre del empleado. Ancho máximo 260 px, truncado.
- Tipo — Nombre del tipo de ausencia más su código abreviado en paréntesis (ej. "Vacaciones (V)"). Ancho 200 px, truncado.
- Inicio — Fecha de inicio en formato
AAAA-MM-DD. Fuente monoespaciada. Ancho 120 px. - Fin — Fecha de fin en formato
AAAA-MM-DD. Fuente monoespaciada. Ancho 120 px. - Días — Número de días de la ausencia, calculado automáticamente. Alineado a la derecha, fuente monoespaciada. Ancho 80 px.
- Estado — Badge de color según el estado (ver tabla de estados). Ancho 120 px.
Ordenación por defecto¶
Ordenada por fecha de inicio descendente (date_start DESC).
Filtros¶
- Buscar empleado, tipo, código... — Campo de texto libre que busca en nombre de empleado, tipo de ausencia y código.
- Estado — Selector:
Todos,Borrador,Confirmada,Aprobada,Rechazada.
Estados de la ausencia¶
| Estado | Código | Badge | Descripción |
|---|---|---|---|
| Borrador | draft |
Gris | Registrada pero pendiente de revisión |
| Confirmada | confirm |
Azul | Enviada para aprobación |
| Aprobada | validate |
Verde | Aprobada por el administrador |
| Rechazada | refuse |
Rojo | Rechazada; no aplica para nómina |
Acciones disponibles¶
Botón "Nueva ausencia"¶
Visible con permiso leave: create. Abre el modal de creación.
Botón "Catálogos"¶
Visible con permiso leave: view. Abre el panel deslizante lateral de Tipos de ausencia. Este catálogo es compartido con el módulo de Novedades (Reemplazos).
Exportar¶
Botón de exportación. Descarga un archivo ausencias. Requiere permiso leave: export.
Acciones masivas¶
Al seleccionar una o más ausencias aparece la barra flotante inferior:
- Cambiar estado — Selector de estado (
Borrador,Confirmada,Aprobada,Rechazada) + botón Aplicar. Requiere permisoleave: edit. - Rechazar (eliminar) — Doble confirmación. El primer clic muestra "¿Confirmar?" en rojo, el segundo clic ejecuta la eliminación permanente. Requiere permiso
leave: delete. - Cerrar selección — Botón X.
Modal de creación / edición¶
Campos del formulario¶
- Empleado (
employee_id) — Autocompletado de empleados (obligatorio). Al hacer clic sin texto, carga los primeros resultados. Nota debajo del campo: "El contrato activo del empleado se asocia automáticamente." - Tipo de ausencia (
leave_type_id) — Autocompletado del catálogo de tipos (obligatorio). Placeholder: "Vacaciones, incapacidad, licencia..." - Fecha inicio (
date_start) — Selector de fecha formato DD/MM/AAAA (obligatorio). Tiene restricción de días retroactivos según la configuración (max_past_days_for_absence). Si está configurado, muestra "Hasta N días atrás permitidos". - Fecha fin (
date_end) — Selector de fecha (obligatorio). La fecha de fin no puede ser anterior a la de inicio (el sistema la ajusta automáticamente a la fecha de inicio si el usuario intenta ponerla antes). - Indicador de días — Cálculo automático que muestra "Duración: N día(s)" cuando ambas fechas están completas. Fórmula:
floor((fecha_fin - fecha_inicio) / 86400000) + 1. Un solo día cuenta como 1. - Estado (
state) — Selector:Borrador,Confirmada,Aprobada,Rechazada. Por defecto:Borrador. - Observación (
observaciones) — Campo de texto libre (máximo 500 caracteres). Opcional.
Validaciones¶
- Empleado es obligatorio: "Selecciona un empleado".
- Tipo de ausencia es obligatorio: "Selecciona un tipo de ausencia".
- Fecha inicio y Fecha fin son obligatorias: "Fechas de inicio y fin requeridas".
- Fecha fin debe ser igual o posterior a la fecha de inicio: "La fecha fin debe ser igual o posterior a la fecha de inicio".
Catálogo de Tipos de ausencia¶
El botón Catálogos abre el panel deslizante lateral. Este catálogo es compartido con el módulo de Novedades (Reemplazos): los tipos creados aquí también aparecen en Novedades y viceversa.
El panel muestra una nota informativa azul: "Este catálogo se comparte con el módulo de Reemplazos."
Campos de un tipo de ausencia¶
- Nombre — Nombre descriptivo del tipo (obligatorio). Ej: "VACACIONES". No puede duplicarse con otro tipo existente.
- Código — Abreviatura corta en mayúsculas (obligatorio). Ej: "V". Se guarda en mayúsculas automáticamente.
- Categoría — Clasificación contable del tipo:
o_rights— Permisos / Ausencias / Licenciaso_salarial_earnings— Devengado salarialearnings— Devengado general- Comportamiento en nómina (
category_type) — Define cómo se procesa en nómina: PAY— RemuneradoNO_PAY— No remuneradoSICKNESS— Incapacidad / EnfermedadAT_EP— Accidente laboral / Enfermedad profesionalMAT_LIC— Licencia de maternidadPAT_LIC— Licencia de paternidadVAC— VacacionesVAC_MONEY— Vacaciones compensadas en dineroBONUS— Bonificación
Acciones sobre tipos¶
- Editar (ícono lápiz, aparece al pasar el cursor, requiere
leave: edit) — Abre el formulario de edición del tipo. - Eliminar (ícono papelera, requiere
leave: delete) — Confirmación con diálogo. Si el tipo tiene ausencias asociadas, el servidor puede rechazar la operación. - Nuevo tipo de ausencia — Botón en la parte superior del panel (requiere
leave: create).
Incapacidades: origen, prórrogas y soporte¶
Las incapacidades son ausencias como cualquier otra, pero con tres cosas propias que deciden cuánto se paga y quién paga.
El origen decide quién paga¶
Lo determina el tipo de ausencia que se elige, no el nombre que se escriba:
- Enfermedad general → la paga la EPS, por la escala 1-2 días a cargo del empleador, 3-90 al 66,67 % y 91-180 al 50 %.
- Origen laboral (accidente de trabajo o enfermedad laboral) → la paga la ARL al 100 % desde el día siguiente al accidente. El día del accidente lo paga el empleador como día trabajado.
¿Continúa una incapacidad anterior?¶
El formulario pregunta si la incapacidad es una prórroga. La respuesta cambia la plata:
- Continúa una anterior — se liquida como continuación: los dos días a cargo del empleador no se vuelven a cobrar y el porcentaje sigue contando desde el arranque del episodio, no desde esta fecha.
- Es una incapacidad nueva — los dos primeros días los paga otra vez la empresa.
El sistema no lo adivina por las fechas: dos incapacidades pegadas en el calendario pueden ser dos diagnósticos distintos, y eso lo dice el médico. Sólo se ofrecen como eslabón las incapacidades del mismo empleado y del mismo origen.
El soporte y su plazo¶
Cada tipo de ausencia dice si exige soporte y en cuántos días hay que radicarlo. Al registrar la ausencia, el plazo se fija automáticamente.
Un soporte que se vence no le quita el pago a nadie: bloquea confirmar la nómina del período que lo contiene, hasta que se suba el documento o se mueva el plazo.
Los soportes se gestionan en la bandeja de Incapacidades, que usa exactamente este mismo formulario para registrar.
El reemplazo y su disponibilidad¶
Al asignar un reemplazo, el selector filtra por disponibilidad:
| Filtro | Qué muestra |
|---|---|
| Disponibles (por defecto) | Quienes no tienen cruce de horario. |
| Sin cruce de horario | Igual, explicitado. |
| En descanso esos días | Quienes están de descanso. |
| Ocupados | Quienes ya tienen turno en esas fechas. |
| Todos | Sin filtrar. |
Si asignas un reemplazo, se le crea el turno y recibe una notificación.
Desde que los supervisores pueden tener turnos propios, dejan de aparecer siempre como "libres": con el filtro por defecto pueden no salir en la lista si su turno cruza con la ausencia.
Permisos¶
| Acción | Permiso requerido |
|---|---|
| Ver ausencias | leave: view |
| Crear ausencia | leave: create |
| Editar ausencia | leave: edit |
| Eliminar | leave: delete |
| Exportar | leave: export |
Páginas relacionadas¶
- Empleados — Cada ausencia pertenece a un empleado. El contrato activo del empleado se asocia automáticamente.
- Novedades — Comparte el catálogo de tipos de ausencia. Los reemplazos en Novedades usan los mismos tipos.
- Nómina — Las ausencias aprobadas afectan el cálculo de nómina según su tipo (
category_type). - Contratos — La ausencia se vincula al contrato activo del empleado seleccionado.
Preguntas frecuentes¶
¿Por qué el catálogo de Tipos de ausencia se comparte con Novedades?
Ambos módulos usan la misma tabla hr_leave_type de la base de datos. Los tipos de ausencia (vacaciones, incapacidad, licencia) pueden aplicar tanto a una ausencia formal como a una novedad de reemplazo. Esto evita duplicar el mantenimiento de catálogos.
¿Cómo se calcula el número de días? El sistema cuenta días calendario: fecha de fin menos fecha de inicio más 1. Un día de ausencia que empieza y termina el mismo día cuenta como 1 día. Una ausencia del lunes al viernes cuenta como 5 días (incluye solo días calendario, no hábiles).
¿Qué pasa si cambio la fecha de fin a una fecha antes de la fecha de inicio? El sistema ajusta automáticamente la fecha de fin para que sea igual a la fecha de inicio. No se puede guardar una ausencia con fecha de fin anterior a la de inicio.
¿Puedo aprobar una ausencia directamente al crearla? Sí. El campo Estado permite seleccionar "Aprobada" al momento de crear el registro, si el usuario tiene permiso de edición.
¿Hay un límite de días retroactivos para registrar ausencias?
Depende de la configuración de la empresa (max_past_days_for_absence). Si está configurado, el selector de fecha de inicio muestra "Hasta N días atrás permitidos" y no permite seleccionar fechas anteriores a ese límite.
¿Qué diferencia hay entre "Confirmada" y "Aprobada"?
"Confirmada" (confirm) indica que la ausencia fue registrada y enviada para revisión, pero aún no aprobada. "Aprobada" (validate) indica que un administrador autorizó la ausencia. Solo las ausencias "Aprobadas" se procesan formalmente en nómina.
¿La ausencia aparece en la app móvil del empleado? El módulo de Ausencias es exclusivo del portal web de administración. Los empleados no gestionan ausencias desde la app móvil directamente.
¿Cómo registro una prórroga de incapacidad? Al crear la ausencia, responde sí a "¿Continúa una incapacidad anterior?" y elige cuál. Sin eso, el sistema la trata como una incapacidad nueva y le cobra otra vez a la empresa los dos primeros días.
¿Por qué no aparece la incapacidad que quiero enlazar? Sólo se ofrecen las del mismo empleado y del mismo origen. Una incapacidad laboral no continúa una de enfermedad general: las paga otra entidad y corren por otra escala.
Se venció el plazo del soporte, ¿le van a descontar? No. Nada se descuenta solo. Lo que pasa es que ese período no se puede confirmar hasta que se suba el documento o se mueva el plazo. Los soportes se gestionan en la bandeja de Incapacidades.
¿Dónde subo el certificado médico? En la bandeja de Incapacidades (menú Nómina). Al subir el archivo, el soporte queda marcado como recibido en la misma acción.
El reemplazo que quiero no aparece en la lista. El selector muestra por defecto sólo a quienes no tienen cruce de horario. Cambia el filtro a Todos para verlo, o revisa si ya tiene turno en esas fechas.