Horas trabajadas con su rastro: quién fichó, cuándo y a cuántos metros.
Asistencia con geocerca, turnos, incidencias y vacaciones. Tu gente ficha desde el teléfono o desde la tableta de la entrada, el servidor guarda a qué distancia del centro de trabajo lo hizo, y al final del día hay horas trabajadas que nadie tecleó.
No calcula la nómina —ni ISR, ni IMSS, ni recibos—: entrega las horas con su rastro, y convertirlas en dinero es otro producto. Tampoco es un control de acceso: no abre puertas ni mira caras.

Ferretería El Clavo · Supervisión
Fichajes de hoy
Jueves 17:58 · turno de 9 a 18, comida de una hora
- Horas del turno
- 8 h 30 min · en curso
Mostrador · Sucursal Centro
Entrada 08:52

Validado por GPS · Juan Pérez312 m Almacén · Sucursal Centro
Entrada 08:58

Validado por GPS · Marisol Vega18 m Caja · Sucursal Centro
Salida 14:01

Validado por GPS · Rafael Ortega42 m
- Entrada
- 08:52 · 312 m
- Radio del centro
- 100 m
- Estado
- Pendiente de revisión
Quedó registrada y cuenta horas mientras supervisión no la rechace.
Los demás módulos reciben datos de alguien que no gana nada mintiendo. Éste, no.
Éste recibe coordenadas de un teléfono que las puede inventar, y de esas coordenadas sale una nómina. Todo el producto sale de ahí: estas cuatro reglas son las que hacen que las horas de hoy sigan siendo evidencia dentro de dos años, y las cuatro las impone la base de datos, no la costumbre.
Fichar fuera de la cerca no te deja sin trabajar
Un GPS tiene ochenta metros de error en un sótano y doscientos dentro de una nave. Rechazar el fichaje deja a alguien parado por el hardware de su teléfono, así que aquí el fichaje siempre queda: se marca, cuenta horas igual, y alguien lo mira. Un checador que impide trabajar es un checador que la gente esquiva, y el que se esquiva no mide nada.
La distancia la calcula el servidor, y se congela
El teléfono manda dónde cree que está y nada más. La distancia al centro de trabajo y el veredicto los escribe la base, junto con una copia de dónde estaba el centro y qué radio tenía ese día. Mudar la oficina el año que viene no reescribe los fichajes de este año: un control cuyos veredictos cambian solos no es evidencia de nada.
Las horas se derivan, no se teclean
No hay ninguna pantalla donde alguien escriba «ocho horas». Salen de emparejar entradas con salidas, con la comida descontada una sola vez y el retardo medido contra el turno. Una entrada sin salida se ve abierta —no como cero y no con una salida inventada—, porque inventarle una salida a alguien es inventar asistencia que nadie declaró.
Quien ficha no se aprueba a sí mismo
Quien pide un permiso no lo autoriza, quien pide vacaciones no las aprueba y nadie revisa sus propios fichajes. No es disciplina: la base rechaza a quien es a la vez el que pide y el que resuelve, aunque sea el dueño. Y el sueldo vive en su propia pantalla con su propio permiso, separado hasta del expediente.
Del alta del centro al día cerrado, sin teclear una hora
Das de alta el centro y el turno
El centro de trabajo es un nombre, unas coordenadas y un radio en metros: una oficina, una sucursal, una obra. El turno lleva entrada, salida, minutos de tolerancia, comida y qué días aplica. Cada persona tiene el suyo, con vigencia.
Tu gente ficha desde donde está
Desde su teléfono o desde la tableta de la entrada. Un botón que dice qué toca —entrada o salida— y nada más. Lo que viaja son las coordenadas crudas y la precisión que declara el aparato; el veredicto no sale del teléfono.
El servidor escribe el veredicto
Calcula la distancia al centro, decide si cayó dentro del radio y guarda las dos cosas junto con dónde estaba el centro ese día. Fuera de la cerca no se rechaza: queda marcado, cuenta horas y cae en la bandeja de revisión.
Se cierra el día y se revisa lo marcado
Cada mañana el servidor empareja los fichajes de ayer, calcula los minutos con el turno y la comida, y le manda a cada supervisor un solo correo con lo que quedó fuera de cerca sin revisar. Una jornada sin salida se queda abierta: nadie le inventa una.
Lo que ya viene resuelto
Centros de trabajo con su radio
Un punto y unos metros alrededor. Cubre una oficina, una sucursal y una obra que avanza. El radio se ajusta por centro —el estacionamiento quedaba fuera— sin tocar un solo fichaje del pasado.
Turnos con tolerancia y comida
Entrada, salida, minutos de gracia antes de que sea retardo y la comida que se descuenta una sola vez, sólo si la jornada pasa del umbral. El retardo y las horas son dos números distintos, porque la nómina los usa para cosas distintas.
Incidencias que pide uno y resuelve otro
Falta, permiso, incapacidad, trabajo desde casa. La persona la pide y supervisión la resuelve, y la base rechaza a quien intenta hacer las dos cosas. Cada resolución avisa por el módulo de notificaciones.
Vacaciones con saldo por año
Días ganados, tomados y pendientes por persona y por año. La solicitud cuenta días hábiles, la aprueba Recursos Humanos —nunca quien la pidió— y el saldo se descuenta al aprobar, no al pedir.
Tres papeles que no se pisan
Personal ficha y pide; Supervisión revisa fichajes y resuelve incidencias; Recursos Humanos aprueba vacaciones y lleva el expediente. Lo que cada uno no puede hacer lo impide la base, no un botón deshabilitado.
Bandeja de revisión
Todo fichaje fuera de la cerca o sin ubicación cae aquí con su distancia, la precisión que declaró el aparato y desde dónde se hizo. Se aprueba o se rechaza, y queda escrito quién lo decidió y cuándo.
Reportes de asistencia
Horas por persona y por periodo, retardos, faltas y horas extra, listos para quien calcula la nómina. Los ve supervisión y Recursos Humanos; quien ficha ve sólo su día, que es lo que necesita.
El salario en su propia pantalla
CURP, RFC y fecha de nacimiento viven aparte del expediente, y el sueldo aparte de eso, cada uno con su permiso. Cambiarlo es sólo del dueño y deja el antes y el después en la bitácora. Nunca viaja en un evento.
Cada cambio deja rastro
Un fichaje no se edita ni se borra; una asignación de turno no se corrige, se cierra y se abre otra. Quién aprobó qué y cuándo queda escrito en una bitácora que sólo crece, y los demás módulos se enteran por eventos, nunca leyendo estas tablas.
Tu gente entra aquí. Desde su teléfono o desde la tableta de la entrada.
Crea tu espacio con su primer centro de trabajo y su turno de partida, da de alta a tu gente e invítala por correo. Quien ficha ve el botón y su día; quien supervisa ve la bandeja; quien lleva Recursos Humanos ve todo menos el sueldo, salvo que el dueño se lo dé.
- Una cuenta por persona; el mismo correo sirve en todos los productos del sitio.
- Tus fichajes viven en tu espacio, protegidos por políticas de fila: nadie más los ve.
- El corte por fila viene encendido: nadie se aprueba a sí mismo, ni el dueño.
Esto es todo el código que escribes
El token lo emite tu backend con tu llave secreta y dura quince minutos. Cuando caduca, el módulo avisa con un evento; tu página pide otro y el checador sigue en pantalla, con la ubicación ya leída.
<script src="https://nexusnorth.dev/embed/v1/nexus-rrhh.js" defer></script>
<nexus-rrhh
tenant-id="tu-tenant"
auth-token="token-efimero-de-tu-backend"
workspace-id="tu-espacio"
role="cashier"
style="--nexus-primary: #15803d; --nexus-radius: 0.75rem"
></nexus-rrhh>
<script>
document.querySelector("nexus-rrhh")
.addEventListener("token-expired", renovarToken);
</script>- El veredicto de la geocerca nunca lo calcula tu página: viajan las coordenadas crudas y la base contesta.
- Sin cookies de terceros: el token viaja en memoria, no en el navegador.
- Aislado en Shadow DOM: tus estilos no lo tocan y los suyos no te tocan.
- Tus colores, tu tipografía y tus radios desde variables CSS. Sin declarar nada, se ve neutro.
- Un solo archivo, sin dependencias que choquen con las tuyas.
Lo que suelen preguntar antes de entrar
¿Calcula la nómina?
No, y es deliberado. Entrega horas trabajadas, retardos, faltas y extras por persona y periodo, con el rastro de cada fichaje detrás. ISR, IMSS, finiquitos y el recibo timbrado son otro producto: el complemento de nómina del SAT es un módulo por sí solo y vive del lado de la facturación.
¿Qué pasa si el GPS falla o alguien niega el permiso de ubicación?
El fichaje queda igual. Sin ubicación no es «fuera»: es que el aparato no dijo dónde estaba, y acusar de lejanía a quien negó un permiso del navegador sería inventar una acusación. Cae en la bandeja de revisión como cualquier fichaje fuera de cerca, cuenta horas mientras nadie lo rechace, y supervisión decide con la evidencia que hay.
¿Y si alguien falsea su ubicación?
Contra un GPS falseado a un punto dentro del radio no hay geocerca que valga, y no lo prometemos. Lo que sí se guarda es la precisión que declaró el aparato y desde dónde se hizo el fichaje —teléfono o tableta de la entrada—, que es la evidencia para cuando alguien mire. Lo único que cierra ese hueco de verdad es la biometría, y eso tiene su propio régimen legal.
¿Qué pasa con los fichajes viejos si muevo la oficina o cambio el radio?
Nada, y ésa es la decisión más cara del módulo. Cada fichaje guarda dónde estaba el centro y qué radio tenía en ese instante, así que el veredicto de hace seis meses no cambia porque hoy la oficina esté en otro edificio. El informe que alguien imprimió el mes pasado se puede volver a imprimir igual.
¿Se puede corregir un fichaje a mano?
No se edita y no se borra: se revisa. Un fichaje fuera de cerca se aprueba o se rechaza, y queda escrito quién lo decidió y cuándo. Una entrada sin salida se queda abierta hasta que alguien fiche la salida o supervisión resuelva la incidencia. Reescribir un fichaje es reescribir la asistencia de alguien, y eso no lo hace nadie en silencio.
¿Puede el dueño aprobar sus propias vacaciones?
No. El corte por rol no basta —el dueño puede todo— y por eso hay un segundo corte por fila: la base rechaza al actor que es a la vez el que pide y el que resuelve, en fichajes, incidencias y vacaciones. Viene encendido por omisión; apagarlo es una decisión del espacio y queda en la bitácora.
¿Quién ve el sueldo?
Sólo quien tenga el permiso de salario, que es distinto del permiso para ver CURP y RFC: quien lleva el expediente para el IMSS no necesariamente tiene que saber cuánto gana cada quien. Cambiarlo es sólo del dueño, deja el antes y el después en la bitácora y nunca viaja en un evento ni en un webhook.
¿Turnos nocturnos, geocercas por polígono, reconocimiento facial?
Todavía no. El turno de hoy va de una hora a otra del mismo día: el nocturno se puede fichar, pero el retardo y las extras se calculan mal y el módulo lo declara en vez de calcularlo. La geocerca es un punto y un radio; una planta con forma de L necesita un polígono, y eso llega cuando haya un cliente con una planta. La biometría no se hace especulativamente.
¿Dónde viven los datos?
En nuestra instancia por omisión, con aislamiento por cliente impuesto en la base de datos. Si lo prefieres, pueden vivir en la tuya: el módulo apunta a donde le digas.
¿Tu gente ficha desde la calle?
Cuéntanos cómo lleva hoy la asistencia tu equipo y te decimos si este módulo encaja — o si lo tuyo necesita otra cosa.
Hablemos