Ir al contenido

Módulo RRHH

El módulo de RRHH de Factux es una solución integral para la gestión de Recursos Humanos que cumple con la normativa laboral española, incluyendo las exigencias de la Inspección de Trabajo y Seguridad Social (ITSS), el RD-Ley 8/2019 sobre registro de jornada, y la Ley Orgánica de Protección de Datos (LOPD).

Ruta Principal: /owner/hr

El módulo se organiza en múltiples sub-módulos accesibles desde el dashboard central:

  • /owner/hr - Dashboard con resumen de solicitudes pendientes
  • /owner/hr/employees - Gestión de empleados y directorio
  • /owner/hr/attendance - Control de asistencia y fichajes
  • /owner/hr/absences - Gestión de ausencias y vacaciones
  • /owner/hr/payroll - Generación y gestión de nóminas
  • /owner/hr/overtime - Registro de horas extras
  • /owner/hr/contracts - Gestión de contratos laborales
  • /owner/hr/calendar - Calendario de ausencias del equipo
  • /owner/hr/audit - Auditoría ITSS y trazabilidad
  • /owner/hr/reports - Informes y reportes
  • Directorio completo con datos personales, fiscales y laborales
  • Invitaciones digitales para acceso al portal del empleado
  • Gestión de permisos y roles personalizados
  • Tipos de empleado configurables por negocio
  • Historial de auditoría de todos los cambios realizados
  • Fichaje entrada/salida con firmas digitales ITSS
  • Corrección de fichajes con workflow de aprobación
  • Validación automática de horarios contractuales
  • Registros geolocalizados (opcional)
  • Descansos obligatorios según normativa
  • Alertas de incumplimiento (días sin fichaje)
  • Solicitudes de ausencia con tipos predefinidos:
    • Vacaciones
    • Baja por enfermedad
    • Permisos retribuidos
    • Excedencias
  • Workflow de aprobación multinivel
  • Calendario visual de ausencias del equipo
  • Cálculo automático de días disponibles
  • Generación automática desde plantillas recurrentes
  • Conceptos salariales configurables
  • Cálculo de cotizaciones (SS, IRPF)
  • Exportación a A3/Sage compatible
  • Envío digital de nóminas a empleados
  • Registro manual o automático desde fichajes
  • Compensación flexible (económica o con tiempo libre)
  • Alertas de acumulación excesiva
  • Integración con nóminas para pago
  • Repositorio digital de contratos
  • Alertas de vencimiento de contratos temporales
  • Renovaciones programadas
  • Trazabilidad de cambios contractuales
  • Semáforo de cumplimiento por empleado
    • 🟢 Verde: Cumplimiento total (90-100% horas contractuales)
    • 🟡 Amarillo: Atención necesaria (80-90% o 100-110%)
    • 🔴 Rojo: Incumplimiento (menos de 80% o más de 110%)
  • Auditoría ITSS con logs inmutables
  • Firmas digitales en registros de jornada
  • Trazabilidad completa de modificaciones

El dashboard principal (/owner/hr) presenta:

  1. Solicitudes Pendientes

    • Ausencias por aprobar
    • Fichajes manuales por validar
    • Correcciones de fichaje pendientes
    • Horas extras por compensar
  2. Resumen del Mes

    • Días de ausencia totales
    • Horas extra acumuladas
    • Plantilla activa
  3. Incumplimiento

    • Días laborables sin fichaje
    • Empleados con registros incompletos
    • Alertas de normativa
  4. Ausencias de Hoy

    • Empleados ausentes hoy
    • Tipo de ausencia
    • Motivo declarado

Gestión completa del directorio de empleados, incluyendo creación, edición, permisos y accesos.

Control de fichajes con validación ITSS, correcciones y reportes de cumplimiento.

Solicitudes y aprobaciones de ausencias con calendario visual.

Generación automática de nóminas y exportación a sistemas contables.

Registro y compensación de horas extraordinarias.

Gestión documental de contratos laborales con alertas.

Vista mensual/semanal de ausencias del equipo.

Logs de auditoría inmutables para inspecciones laborales.

Dashboard de cumplimiento normativo con indicadores visuales.

Vista del empleado para consultar nóminas, solicitar ausencias y descargar documentos.

Repositorio centralizado de documentación laboral.

Sistema de evaluación de desempeño.

Exportación masiva a formatos A3/Sage.

Configuración de horarios, tipos de ausencia y parámetros del sistema.

El módulo cumple con el RD-Ley 8/2019 que obliga al registro diario de jornada:

  • Firmas digitales en todos los fichajes
  • Audit logs obligatorios e inmutables
  • Trazabilidad completa de correcciones
  • Documentos firmables para períodos mensuales
  • Exportación de registros para inspecciones
  • Consentimientos explícitos para tratamiento de datos
  • Acceso restringido según permisos
  • Cifrado de datos sensibles (DNI, SS)
  • Derecho al olvido implementado
  • Logs de acceso a datos personales
  • Descansos obligatorios validados automáticamente
  • Límites de jornada configurables
  • Registro de vacaciones conforme al ET
  • Permisos retribuidos según convenio
// Componentes core del módulo
HRTable.tsx // Tabla principal para listados
EmployeeAttendanceTab.tsx // Vista de asistencia por empleado
ComplianceSemaphore.tsx // Semáforo de cumplimiento visual
CorrectionRequestsSection.tsx // Gestión de correcciones
HRTabsList.tsx // Navegación entre pestañas
HRNotifications.tsx // Sistema de notificaciones
AuditTrailViewer.tsx // Visor de auditoría
CalendarContent.tsx // Calendario de ausencias

El módulo utiliza 14+ Edge Functions para operaciones críticas:

// Invitaciones
send-employee-invitation // Envío de invitación al empleado
accept-employee-invitation // Aceptación y activación de cuenta
validate-employee-invitation // Validación de token de invitación
// Asistencia
create-attendance-signature // Firma digital de resumen mensual (ITSS)
// Nóminas
generate-recurring-payrolls // Generación automática (CRON)
generate-payroll-export // Export a A3/Sage
// Notificaciones
check-hr-notifications // Verificación de eventos pendientes
overtime-compensation-alert // Alertas de horas extra acumuladas

El módulo gestiona más de 15 tablas interrelacionadas:

-- Empleados
employees -- Datos principales del empleado
employee_types -- Tipos de empleado por negocio
employee_consents -- Consentimientos LOPD
-- Asistencia
time_entries -- Fichajes individuales
attendance_records -- Resumen diario
attendance_correction_requests -- Solicitudes de corrección
attendance_period_signatures -- Firmas digitales ITSS
-- Ausencias
absence_requests -- Solicitudes de ausencia
absence_balances -- Saldos de días disponibles
-- Nóminas
payrolls -- Nóminas generadas
recurring_payrolls -- Plantillas de nómina recurrente
payroll_exports -- Historial de exportaciones
-- Contratos
employment_contracts -- Contratos laborales
contract_renewals -- Historial de renovaciones
-- Horas Extra
overtime_records -- Registro de horas extras
overtime_compensations -- Compensaciones aplicadas
-- Auditoría
hr_audit_logs -- Logs inmutables ITSS
1. Crear empleado en sistema
2. Configurar tipo, horario y permisos
3. Enviar invitación digital
4. Empleado acepta y activa cuenta
5. Acceso al portal del empleado
1. Empleado marca entrada (firma digital)
2. Sistema registra hora + geolocalización (opcional)
3. Empleado marca salida
4. Validación automática vs. horario contractual
5. Generación de alertas si hay incumplimiento
1. Empleado solicita ausencia desde portal
2. Sistema verifica días disponibles
3. Manager recibe notificación
4. Aprobación/Rechazo con comentarios
5. Actualización de calendario y saldos
1. Empleado solicita corrección con motivo
2. Sistema registra solicitud en audit log
3. Manager revisa horario original vs. propuesto
4. Aprobación con trazabilidad completa
5. Firma digital de la corrección (ITSS)
1. CRON ejecuta generate-recurring-payrolls
2. Calcula conceptos salariales
3. Aplica cotizaciones y deducciones
4. Genera PDF de nómina
5. Notifica al empleado
6. Opción de exportar a A3/Sage
  • Contabilidad: Exportación de nóminas como gastos
  • Documentos: Almacenamiento de contratos y nóminas
  • Notificaciones: Alertas en tiempo real
  • Dashboard: Métricas de RRHH en vista general

El módulo implementa un sistema de permisos granular:

  • Propietario: Acceso completo
  • Manager: Aprobación de ausencias y fichajes
  • Empleado: Solo sus propios datos
  • Auditor: Solo lectura de logs

Todas las operaciones sensibles requieren autenticación y se registran en audit logs.

Detalles Técnicos de Implementación
src/features/hr/
├── components/ # Componentes compartidos
│ ├── HRTable.tsx
│ ├── ComplianceSemaphore.tsx
│ ├── CorrectionRequestsSection.tsx
│ └── ...
├── hooks/ # Custom hooks
│ ├── useActiveEmployees.ts
│ ├── useComplianceData.ts
│ ├── useCorrectionRequests.ts
│ └── ...
├── pages/ # Páginas principales
│ ├── HRDashboard.tsx
│ ├── RRHHEmployees.tsx
│ ├── AttendancePage.tsx
│ └── ...
├── sub-modules/ # Sub-módulos especializados
│ ├── employees/
│ ├── attendance/
│ ├── absences/
│ ├── payroll/
│ ├── overtime/
│ ├── contracts/
│ ├── audit/
│ ├── compliance/
│ ├── employee-portal/
│ └── ...
├── types/ # TypeScript types
└── utils/ # Utilidades compartidas

Todas las operaciones críticas implementan:

  1. Firma digital obligatoria
  2. Audit log inmutable
  3. Timestamp con zona horaria
  4. Geolocalización (opcional pero recomendada)
  5. Hash de integridad para verificación
  • Lazy loading de sub-módulos
  • Paginación en listados grandes
  • Caché de datos frecuentes
  • Optimistic UI para mejor UX
  • Virtual scrolling en tablas

Para más información sobre funcionalidades específicas, consulta: