Theoretical vs Attended Time Analysis
Este módulo añade un nuevo informe llamado "Theoretical vs Attended Time Analysis" que compara el tiempo trabajado, medido a través de los registros de asistencias, con el tiempo teórico, calculado a partir del calendario laboral del empleado, los días festivos públicos y las ausencias específicas del empleado. Los días de asistencia faltantes se generan al vuelo en el informe con sus correspondientes horas teóricas.
Existe la posibilidad de contar como tiempo teórico algunos tipos de ausencia si se especifica en ellos.
Como ejemplo, imagina una semana laboral con 40 horas teóricas, y esta situación de asistencia:
- Lunes: Trabajadas 10 horas
- Martes: Trabajadas 10 horas
- Miércoles: Trabajadas 10 horas
- Jueves: Trabajadas 10 horas
- Viernes: Solicita una ausencia por compensación (dicho tipo de ausencia), ya que ha trabajado 40 horas.
En el informe, la semana completa debería poner 40 horas teóricas - 8 por día - frente a 40 horas trabajadas (aunque fueran en días anteriores, y ninguna el viernes).
Por el contrario, si quieres tomar vacaciones uno de esos días, deberías solicitar un tipo de ausencia sin la marca para contar como tiempo teórico, y entonces la semana completa será de 32 horas teóricas frente a las horas trabajadas de esa semana sin la ausencia.
Traducción automática al español (DeepSeek) de la descripción original de OCA, que está en inglés.
auto_awesome Qué hace este módulo
Generado por IA a partir del código · Odoo 19.0Añade un informe 'Theoretical vs Attended Time Analysis' que compara las horas realmente trabajadas (a partir de las asistencias) con las horas que un empleado debía trabajar, según su calendario laboral, días festivos y ausencias.
Este módulo proporciona a los responsables de RR. HH. y a los gerentes un nuevo informe de tabla dinámica y gráfico llamado 'Theoretical vs Attended Time Analysis', que se encuentra en el menú de informes de Attendances. Para cada empleado y día muestra las horas trabajadas, las horas teóricas, las horas de ausencia y la diferencia entre el tiempo trabajado y el teórico.
Las horas teóricas provienen del calendario laboral del empleado, excluyendo los días festivos. Los tipos de ausencia se pueden marcar con 'Include in theoretical hours' e 'Include in leave hours' para que ciertas ausencias no reduzcan el tiempo esperado.
Para mantener la precisión del informe, el módulo crea automáticamente registros de asistencia inactivos de duración cero para los días laborables pasados en los que el empleado debería haber fichado pero no lo hizo. Una tarea programada diaria ('Create Empty Attendance') hace esto automáticamente, y un asistente 'Recompute Theoretical Attendance' permite a los gerentes recalcular un empleado y un rango de fechas elegidos bajo demanda.
Un asistente 'Select Employees' permite a los usuarios filtrar por departamento o etiqueta de empleado antes de abrir el informe. Los empleados también disponen de un campo 'Theoretical hours start date' para controlar desde cuándo comienza el cálculo. Las reglas de acceso limitan a cada usuario a sus propias asistencias, a sus empleados gestionados o a todos los empleados según su rol.
Depende de
Menús que añade
Modelos y campos (9)
- hr.leave · amplía un modelo existente
- hr.employee · amplía un modelo existentetheoretical_hours_start_date
- hr.attendance · amplía un modelo existenteactive, leave_hours, theoretical_hours
- hr.leave.type · amplía un modelo existenteinclude_in_theoretical (Include in theoretical hours), include_in_leave_theoretical (Include in leave hours)
- hr.employee.public · amplía un modelo existentetheoretical_hours_start_date
- wizard.theoretical.time · modelo nuevocategory_ids (Tag), employee_ids (Employees), department_id (Department)
- calendar.public.holiday.line · amplía un modelo existente
- recompute.theoretical.attendance · modelo nuevodate_to (To), date_from (From), employee_ids (Employees)
- hr.attendance.theoretical.time.report · modelo nuevodate, company_id, difference, employee_id (Employee), leave_hours (Leave), worked_hours (Worked), department_id (Department), theoretical_hours (Theoric)
Texto generado por IA (DeepSeek) al leer el código de la versión 19.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. Ver el código en GitHub
Disponibilidad por versión
Revisado: 2026-11-03Estado de confirmación: 8 confirmadas, 1 sin información de 9 versiones.
Fuentes · Odoo 15.0
Confirmado el 2026-11-03 en la rama 15.0 de OCA/hr-attendance.
terminal Instalación y uso
Documentación de OCA · Odoo 19.0Instalación
Fuente · Odoo 19.0En el momento de la instalación, este módulo calcula las horas teóricas para el día del registro de asistencia, por lo que si tiene muchos registros, esto sería un poco lento.
Configuración
Fuente · Odoo 19.0Debes tener al menos "Attendance / Manual Attendance" para poder ver el informe de asistencias.
Para incluir algunos tipos de ausencia en el tiempo teórico, tienes que:
- Ir a Leaves \> Configuration \> Leave Types.
- Seleccionar el tipo de ausencia que quieras incluir.
- Marcar la casilla "Include in theoretical hours".
Al generar los días no trabajados, este módulo utiliza una fecha de inicio para comenzar la generación de la serie, que es:
- Fecha de inicio manual establecida en el empleado.
- Si no está establecida, la mayor de estas 2 fechas:
- Fecha de creación del empleado.
- Fecha de inicio de la línea del calendario laboral.
Para configurar la fecha de inicio manual, tienes que:
- Ir a Employees \> Employees.
- Seleccionar un empleado.
- Ir a la página "HR Settings".
- Establecer la fecha en el campo "Theoretical hours start date".
La generación se detendrá en la fecha de fin de la línea del calendario laboral o en la fecha de hoy, así que no olvides establecer correctamente las fechas de inicio y fin de las líneas del calendario laboral para no dejar espacios vacíos entre ellas.
- Vaya a Asistencias \> Informes \> Análisis de tiempo teórico vs. asistido.
- Consulte la tabla dinámica o mire la vista de gráfico.
Traducción automática al español (DeepSeek) de la documentación original de OCA; los comandos y el código no se traducen.
Las instrucciones de instalación, el paquete de distribución, las dependencias y los pasos de configuración no se muestran porque todavía no se han verificado en la documentación del módulo para ninguna versión.
Datos importados de GitHub: esta ficha refleja la última revisión del catálogo, no una consulta en directo. Verifica siempre en la documentación del módulo y en staging antes de instalar en producción.