La cuadrilla baja al tercer sótano a las ocho, la barra de señal se queda a cero y la app de fichaje dice «Sin conexión». O ficha mal, o no ficha. El registro de jornada es obligatorio igual. Esto es lo que hace falta para fichar sin red y que el registro aguante una inspección — y lo que aprendimos al construirlo en Tajo.
Lo que pide la ley (y lo que no)
El artículo 34.9 del Estatuto de los Trabajadores obliga a registrar cada día la hora de inicio y de fin de la jornada de cada trabajador. No dice nada de cobertura. La obra sin señal no es una excepción: es tu problema técnico.
La guía del Ministerio de Trabajo da por bueno «cualquier sistema o medio, en soporte papel o telemático», siempre que proporcione información fiable, inmodificable y no manipulable a posteriori, ya sea por el empresario o por el propio trabajador. Esa frase es la que hay que tener delante al elegir sistema. Un fichaje offline cumple si el sistema puede demostrar dos cosas: que el fichaje no se ha tocado después y que la hora no la ha decidido nadie a su conveniencia.
El real decreto que prepara el Ministerio apunta a lo mismo, pero más estricto: registro digital, trazable y consultable en remoto por la Inspección. Lo contamos con detalle en Registro horario digital obligatorio.
Que el botón funcione sin red
Lo primero es obvio y aun así falla mucho: el trabajador tiene que poder pulsar «Entrada» con el móvil en modo avión y que la app lo acepte. El fichaje se guarda en el teléfono y se envía solo cuando vuelve la señal, al salir a la rampa o al acabar el día.
Parece trivial porque muchas bases de datos móviles ya guardan cambios sin conexión. Firebase, por ejemplo, tiene la persistencia offline activada por defecto en Android e iOS y sincroniza al recuperar red. El problema es que un fichaje serio no debería ser una escritura cualquiera del móvil en la base de datos.
Dos detalles que separan una cola que funciona de una que da disgustos:
- Sin duplicados. Cada fichaje lleva un identificador único creado al pulsar, no al enviar. Si la app reintenta y el primer envío sí había llegado, el servidor reconoce que es el mismo y no crea otro. Un fichaje duplicado descuadra la jornada y solo se arregla con una corrección que deja rastro para siempre.
- La pantalla no miente. Mientras el fichaje espera en la cola, la app enseña el estado nuevo («En pausa») aunque el servidor aún no lo sepa. Si no, el trabajador ve «Trabajando», vuelve a pulsar, y el segundo evento lo rechaza el servidor. Acaba en un aviso rojo que culpa al trabajador de un fallo de cobertura.
Qué hora vale si el móvil puede mentir
Aquí está el nudo. Sin red, la única hora disponible es la del reloj del teléfono. Y ese reloj lo puede cambiar el usuario: en Ajustes basta con desactivar la hora automática y poner la que quiera. La propia documentación de Android avisa de que el reloj de pared «puede ser ajustado por el usuario o por la red», así que la hora puede saltar hacia delante o hacia atrás.
Si tu sistema registra como oficial la hora del móvil, el registro es manipulable por el propio trabajador. Justo lo que la guía del Ministerio dice que no puede pasar. Hay varias formas de resolverlo, con distinto equilibrio:
En Tajo elegimos la primera, con red de seguridad. La hora legal la pone el servidor; la del móvil viaja con el fichaje y se guarda como prueba, nunca como fuente. Si entre las dos hay diez minutos o más, el fichaje queda marcado como «Enviado con retraso» y la jornada muestra la incidencia en el panel de RRHH. No se rechaza: el trabajador fichó de verdad, lo que falló fue la red.
El móvil dice cuándo pulsaste. El servidor dice cuándo se supo. Guardar las dos y no esconder la diferencia es lo que hace creíble el registro.
Que nadie pueda retocarlo después
Un fichaje diferido con retraso hay que poder corregirlo. La cuestión es cómo. Si RRHH puede editar la hora y la original desaparece, el registro deja de ser «inmodificable» en el sentido de la guía: nadie podría demostrar qué se cambió.
Así lo resolvimos en Tajo. Los fichajes no se editan ni se borran jamás. Corregir es crear un evento nuevo que apunta al original y lleva un motivo obligatorio. Además, cada evento se encadena con el anterior mediante una huella criptográfica (SHA-256), y una verificación periódica comprueba la cadena entera. Si alguien reescribiera un fichaje antiguo, incluso con acceso de administrador a la base de datos, la cadena se rompería y se notaría.
Qué pasa si el fichaje no llega nunca
Móvil que se queda sin batería, que se rompe o que pasa una semana en la furgoneta sin red. La cola no puede reintentar eternamente ni perder datos en silencio. En Tajo un fichaje que lleva más de 72 horas sin poder enviarse deja de reintentarse solo y se le ofrece al trabajador pedir una corrección manual, que pasa por aprobación. Si el servidor rechaza un fichaje por algo que no se arregla reintentando (por ejemplo, una cuenta dada de baja), queda a la vista como rechazado, no escondido.
Las alternativas al móvil de cada uno, con sus pegas
La app en el móvil personal no es la única opción. Todas tienen algo bueno y todas tienen su letra pequeña:
- Tablet de obra en la caseta.Un solo dispositivo, controlado por la empresa, con la hora bien configurada. Pero tiene que estar donde está la gente: si la caseta queda lejos del tajo, se ficha a destiempo. Y sigue necesitando cola offline si en la caseta tampoco hay red.
- Tablet con huella o reconocimiento facial.Atractiva contra el «fichar por otro». Pero la guía de la AEPD de noviembre de 2023 trata los datos biométricos como categoría especial y exige superar un análisis de necesidad y proporcionalidad estricto. Para fichar, en la práctica, es meterse en un problema evitable.
- Etiqueta NFC o código QR en la obra.Prueban que el trabajador estuvo junto a la etiqueta y no dependen del GPS, que en un sótano tampoco funciona bien. La pega: un QR se fotografía y se escanea desde casa, y una etiqueta se puede despegar. Ayudan a saber dónde, no resuelven el cuándo.
- Papel como respaldo.La guía lo admite si es fiable e inalterable, y para el día que se caiga todo está bien tenerlo. Pero el papel se rellena a final de semana, se pierde y no se puede consultar en remoto. Si el real decreto sale como apuntan los borradores, dejará de servir como sistema principal.
Sobre la ubicación: en Tajo la geocerca de la obra nunca bloquea el fichaje. Si el GPS falla o el trabajador está fuera de la zona, ficha igual y queda marcado para revisión. Bloquear es la forma más rápida de que alguien no fiche y la jornada quede sin registrar, que es justo lo que querías evitar. Lo desarrollamos en Geolocalización y fichaje.
Cinco pruebas para hacer en la propia obra
Ninguna demo en una oficina con wifi te dice nada de esto. Lleva el sistema al sitio peor de tu obra y comprueba:
- Modo avión, fichar entrada, pausa y salida. Las tres se aceptan y la pantalla enseña el estado correcto.
- Quitar el modo avión. Los tres fichajes llegan una sola vez, sin duplicados, en el orden en que se pulsaron.
- Cambiar la hora del móvil a mano y fichar. El panel tiene que enseñar la diferencia, no tragársela.
- Corregir una hora desde el panel. La original sigue visible, con quién cambió qué y por qué.
- Pedir la exportación de un mes. Tiene que salir con todas las horas e incidencias, lista para entregar.
Si un sistema pasa las cinco, el sótano deja de ser un problema de registro horario. Si falla la tercera, lo que tienes es un reloj que el trabajador puede retrasar a voluntad.