Sistema de control horario y registro de jornada laboral conforme al RD 5/2024. PWA para administración y app Android para empleados.
SoloFichaje es una aplicación de control horario y registro de jornada laboral diseñada para cumplir con la normativa española. Ofrece una PWA (Progressive Web App) para administradores y gestorías desde el navegador, y una app Android nativa (APK) para empleados con funciones de GPS, notificaciones push y reconocimiento de voz.
Acceso desde cualquier navegador. Panel completo de administración, gestión de empleados, fichajes, centros de trabajo y cumplimiento legal.
App Android nativa con fichaje GPS, seguimiento de ubicación, notificaciones push, documentos, derechos RGPD y navegación por voz.
DashboardReadOnly para inspectores de trabajo. Acceso de solo lectura a fichajes, ubicaciones y documentos de empresas asignadas.
La aplicación ofrece dos planes adaptados al tamaño y necesidades de cada empresa.
15 €/mes · Hasta 10 empleados // 25 €/mes · Hasta 20 empleados
25 €/mes · Hasta 10 empleados // 35 €/mes · Hasta 20 empleados
Control total de la empresa. Gestiona empleados, fichajes, centros, documentos, permisos y configuración. Requiere 2FA para acceder.
Fichaje con GPS, historial, solicitudes, documentos, derechos RGPD y ajustes personales. Acceso desde la app Android o PWA.
Acceso multinivel a empresas asignadas. Fichajes, documentos, nóminas, retenciones, alertas y notificaciones. Solo con autorización del admin.
Acceso ReadOnly a fichajes, ubicaciones y documentos de empresas. Creado por la Inspección de Trabajo o por el admin con rol inspector.
Fichaje de entrada, salida y pausas con verificación GPS automática. Detecta el centro de trabajo más cercano. Modalidad presencial/teletrabajo/distancia. Indicador de horas extra y nocturnas.
Cuatro modos: sin GPS, libre, centro asignado o seguimiento continuo. Detección automática de centros por radio configurable. Banner de orientación para Xiaomi/HyperOS.
Consulta de fichajes por rango de fechas con resumen de horas totales, extras y nocturnas. Nombre y dirección del centro visible. Exportación CSV e impresión PDF.
Solicitud de ausencias (con motivo) y vacaciones (cálculo automático de días laborables). Historial de solicitudes con estado (pendiente/aprobada/rechazada). Control anual de vacaciones.
Solicitud de cambios en fichajes con justificación. Flujo de aprobación: empleado solicita → admin aprueba/rechaza. Registro inmutable de modificaciones.
Acceso a nóminas, consentimientos, justificantes y documentos de formación. Subida de justificantes por el empleado. Visualización y descarga.
Ejercicio de derechos ARCO/P: acceso, rectificación, cancelación, oposición y portabilidad. Solicitud online con seguimiento de estado.
Comandos de voz para navegar: "fichaje", "historial", "solicitudes", "horarios", etc. Funciona con el plugin nativo o Web Speech API.
| Modo | Descripción | Uso típico |
|---|---|---|
| No | Sin verificación GPS. Solo se registra el fichaje. | Teletrabajo, equipos fijos |
| Libre | GPS registrado pero sin restricción de centro. Detecta centro automáticamente. | Trabajo de campo, visitas |
| Centro | Empleado asignado a un centro específico. Verificación contra el radio del centro. | Sedes fijas, oficinas |
| Seguimiento | Tracking continuo durante la jornada. Detección de centros por radio. Horas por centro. | Movilidad entre centros |
Cada centro tiene: nombre, dirección, coordenadas GPS (latitud/longitud) y radio de geocerca en metros. El sistema detecta automáticamente en qué centro se encuentra el empleado y registra las horas en cada uno para el cálculo de gastos.
En modo seguimiento, el sistema registra automáticamente la entrada y salida de cada centro de trabajo. Los datos se guardan en la subcolección horasCentro de Firestore, permitiendo calcular el tiempo dedicado a cada centro para facturación y gastos.
| Requisito | Artículo | Implementación en SoloFichaje |
|---|---|---|
| Registro diario de jornada | Art 4.a RD 5/2024 | Fichaje de entrada, salida y pausas con timestamp preciso al segundo |
| Registro de horas extra | Art 4.b RD 5/2024 | Cálculo automático de horas extra por encima de la jornada programada |
| Horas nocturnas | Art 4.c RD 5/2024 | Detección automática de horas entre 22:00 y 06:00 |
| Verificación de ubicación | Art 4.d RD 5/2024 | GPS con geocercas. Detección de centro por radio. Registro de discrepancias |
| Inalterabilidad de registros | Art 4.e RD 5/2024 | Registros inmutables en Firestore. Solo admin puede asignar centroId |
| Conservación 4 años | Art 4.f RD 5/2024 | Política de retención. Mensaje informativo en historial del empleado |
| Modificaciones con justificación | Art 4.b RD 5/2024 | Flujo de modificación con motivo, aprobación del admin y registro inmutable |
| Derechos ARCO/P | Art 15-22 RGPD | Módulo de derechos: acceso, rectificación, cancelación, oposición, portabilidad |
| Registro de actividades | Art 30 RGPD | Módulo RAT (Registro de Actividades de Tratamiento) |
| Brechas de seguridad | Art 33-34 RGPD | Módulo de gestión de brechas con notificación |
| Consentimiento GPS | Art 6 LOPDGDD | Consentimiento explícito del empleado antes de activar GPS. Registro del consentimiento |
| Encargo de tratamiento | Art 28 RGPD | Gestoría accede solo con autorización aceptada del admin |
| Contraseña obligatoria | Art 4.d RD 5/2024 | Primer acceso con cambio de contraseña obligatorio |
| Autenticación reforzada | Buenas prácticas | 2FA/TOTP para administradores. Bloqueo tras 3 intentos fallidos |
| Capa | Tecnología | Detalle |
|---|---|---|
| Frontend Web | Angular 21 + Ionic 8 | PWA desplegada en Firebase Hosting |
| App Móvil | Capacitor 8 + Android Native | APK con plugins nativos (GPS, notificaciones, voz) |
| Base de datos | Cloud Firestore | NoSQL en tiempo real con reglas de seguridad |
| Autenticación | Firebase Auth + TOTP | Email/password + autenticación de dos factores |
| Notificaciones | FCM + Local Notifications | Push remotas + programadas localmente |
| GPS | Background Geolocation + Native Service | Foreground service en Android con Firestore directo |
| Backend | Cloud Functions (Node.js) | Recordatorios de fichaje, verificación nocturna |
| Hosting | Firebase Hosting | PWA global: solofichaje.web.app |
| Colección | Descripción |
|---|---|
empresas/{id} | Datos de la empresa, suscripción, configuración GPS |
empresas/{id}/usuarios/{uid} | Perfil de empleado/admin con permisos y configuración |
empresas/{id}/usuarios/{uid}/fichajes/{id} | Registro de fichajes (inalterable) |
empresas/{id}/usuarios/{uid}/fichajes/{id}/modificaciones/{id} | Historial de modificaciones (inalterable) |
empresas/{id}/usuarios/{uid}/horarios/{id} | Horarios asignados al empleado |
empresas/{id}/usuarios/{uid}/control-anual/{id} | Control anual de vacaciones y ausencias |
empresas/{id}/usuarios/{uid}/horasCentro/{id} | Horas por centro de trabajo (seguimiento GPS) |
empresas/{id}/centros/{id} | Centros de trabajo con geocercas |
empresas/{id}/ubicaciones/{id} | Registro GPS continuo durante jornada |
empresas/{id}/documentos/{id} | Nóminas, consentimientos, justificantes |
empresas/{id}/solicitudes/{id} | Solicitudes de ausencia y vacaciones |
empresas/{id}/discrepancias/{id} | Reportes de discrepancias en fichajes |
empresas/{id}/rat/{id} | Registro de Actividades de Tratamiento |
empresas/{id}/brechas/{id} | Registro de brechas de seguridad |
userRoles/{uid} | Rol global del usuario (admin/empleado/gestor/inspector) |
gestores/{uid} | Datos de gestoría/asesoría |
inspector/{uid} | Datos de inspector de trabajo |
URL: solofichaje.web.app
Desplegada en Firebase Hosting. Acceso desde cualquier navegador. Los administradores, gestores e inspectores acceden desde aquí.
Distribuida vía enlace directo o tienda de APKs. Construida con Capacitor 8. Incluye GPS nativo, notificaciones push y reconocimiento de voz.
| Empresa | Usuario | Contraseña | Rol |
|---|---|---|---|
| ACME S.L. | admin@acme.com | Admin123! | Admin |
| ACME S.L. | empleado1@acme.com | Empleado123! | Empleado |
El empleado puede navegar por la app mediante comandos de voz. Disponible en Premium.
| Comando | Navega a |
|---|---|
| "Fichaje", "Fichar" | Pantalla de fichaje |
| "Historial", "Mis fichajes" | Historial de fichajes |
| "Solicitudes", "Vacaciones" | Solicitudes |
| "Modificaciones" | Modificaciones de fichaje |
| "Horarios" | Horarios laborales |
| "Documentos", "Nóminas" | Documentos |
| "Derechos", "RGPD" | Derechos ARCO/P |
| "Ajustes" | Configuración |
| "Contraseña" | Cambio de contraseña |
| "Volver", "Inicio" | Pantalla principal |
Android (APK): Usa @capacitor-community/speech-recognition con popup nativo del sistema. Requiere un motor de voz instalado (Google App,讯飞, Baidu Voice). En ROMs chinas sin Google puede no estar disponible.
Web (PWA): Usa la Web Speech API del navegador. Funciona en Chrome, Edge y Safari.
El empleado dispone de un chatbot de ayuda accesible desde el FAB (botón flotante) en la esquina inferior derecha. Proporciona respuestas contextuales basadas en un manual de 13 artículos que cubren:
Desarrollo de software a medida · Siscu Ramírez