Todo lo que pasa entre un mensaje y una inspección.
Sin funciones inventadas ni «próximamente». Esto es lo que hace hoy, con el mismo vocabulario que verá en la pantalla. Al final, cómo se conecta toda la plantilla.
01
Empieza en el chat que ya tiene.
La persona recibe una invitación de un solo uso, acepta el registro de jornada y el aviso de privacidad, y desde ese momento el bot es su checador.
LFT Art. 132 fracc. XXXIV · aceptación guardada con versión y fecha
Hola Damián, soy el checador de Grupo Nápoles.
Para activarte necesito que aceptes: 1) el registro electrónico de tu jornada (Art. 132 LFT) y 2) el aviso de privacidad y el uso de tu ubicación al checar.AceptoVer documentosAceptoListo. Cuando llegues, toca Entrada y comparte tu ubicación.EntradaSalidaComida📍 Ubicación✅ Entrada registrada 08:41
Sucursal Nápoles · a 12.4 km · folio ec26cb40
Quedó registrada. Solo dime dónde andas para explicarla.02
Checa, y el recibo trae folio.
Entrada, comida, salida. Cada una se guarda con su hora local, su sucursal, el resultado de geocerca y un hash que firma la anterior. Fuera de la sucursal se registra igual y se pregunta por qué.
LFT Art. 784 · la carga de la prueba es del patrón
08:41
Entrada registrada fuera de la sucursal
¿Dónde andas trabajando?
Estoy con un clienteMe mandaron a otro lugarNo agarró el GPS03
Recursos Humanos ve el día moverse.
Presentes, retardos, sin salida y motivos pendientes, como filtros sobre una tabla. Lo que está bien no cuesta atención; lo que falta cae en una cola.
42Presentes3Retardos1Faltas3Sin salida4Fuera de geocerca2Motivos pendientesPersona Sucursal Entrada Comida Salida Trabajado Marcas Folio Bruno Cárdenas Nápoles 09:14 — — 5:47 Sin salida · retardo 14 min Cynthia Olvera Coyoacán 07:58 13:30–14:12 — 9:12 Sin salida Fernando Quiroz Coyoacán 08:06 — — 6:02 Sin salida · motivo pendiente 04
Y el expediente sale cuando lo pidan.
El paquete STPS con persona, día, entrada y salida con desfase, comida, ordinaria, extra, geocerca, motivo, canal y hash, sellado con una autoridad de tiempo.
LFT Arts. 132 fracc. XXXIV, 784 y 804
Registro de jornadaPrenóminaHoras extraPuntualidadAusentismoPersona Fecha Entrada (local) Salida (local) Zona Ord. Extra Geocerca Motivo Canal Hash Rentería, A. 2026-09-07 08:02-06:00 18:31-06:00 America/Mexico_City 480 32 dentro — tg a59138ae… Iturbe, D. 2026-09-07 08:41-06:00 17:58-06:00 America/Mexico_City 480 77 fuera 12.4 km otro lugar tg ec26cb40… Vargas, E. 2026-09-07 08:00-06:00 17:00-06:00 America/Mexico_City 480 0 no aplica teletrabajo tg 3b7710aa… Digest del día · 4f0c…9d2a · 128 eventos · cada hash recalcula
Para activarte necesito que aceptes: 1) el registro electrónico de tu jornada (Art. 132 LFT) y 2) el aviso de privacidad y el uso de tu ubicación al checar.
Sucursal Nápoles · a 12.4 km · folio ec26cb40
Quedó registrada. Solo dime dónde andas para explicarla.
1Del lado de la persona
Checan donde ya están: en su chat.
No hay app que instalar, ni usuario, ni contraseña, ni reloj que comprar. El bot y la Mini App son clientes: los dos hablan con la misma API y la misma capa de comandos, así que un cambio de regla llega a los dos el mismo día.
Telegram es gratuito y sin límite de mensajes: conviene empezar ahí. En WhatsApp, los mensajes que inicia la empresa son plantillas de utilidad que Meta cobra por mensaje, y por eso es un plan aparte y no una casilla.
- Telegram
- Bot con menú, Mini App y ubicación nativa. Gratis, sin límite.
- Cloud API de Meta: botones, listas y ubicación.
- Sin instalación
- Ni app, ni usuario, ni contraseña.
- Respaldo
- Si la Mini App no abre, los botones del chat registran igual.
Para activarte necesito que aceptes: 1) el registro electrónico de tu jornada (Art. 132 LFT) y 2) el aviso de privacidad y el uso de tu ubicación al checar.
Sucursal Nápoles · a 12.4 km · folio ec26cb40
Quedó registrada. Solo dime dónde andas para explicarla.
Trabajando desde las 08:41
9 h 17 min
Ruta sur · perfil móvil
Hoy
08:41
Entrada registrada fuera de la sucursal
¿Dónde andas trabajando?
Últimos 14 días
Mi perfil
Lo que acepté
Figura 2Hoy, el recibo con folio, el historial de 14 días y las aceptaciones con su versión y fecha. La firma que manda Telegram se recalcula en el servidor en cada petición: nada de lo que dice el navegador se toma por bueno.
22 KB de JavaScript
2La checada
Se registra primero. Se explica después. Nunca se rechaza.
Ninguna condición bloquea una checada. Ni estar lejos, ni no traer señal, ni haber olvidado la salida de ayer. El registro se crea y las dudas se marcan: la carga de la prueba es del patrón y un hueco pesa más que una anotación.
- Duplicados
- La misma acción dos veces en 3 minutos responde «ya registraste tu entrada a las 08:02».
- Jornada abierta
- Si quedó una entrada abierta, pregunta si cerrarla o abrir otra; nunca decide sola.
- Sin salida
- Recordatorio a los 60 minutos del fin de turno. Sin respuesta, el día queda marcado para RH: jamás se inventa una hora.
- Sin coordenadas
- Si el teléfono no entregó ubicación, se registra sin ella y se pide motivo. No se finge una posición.
- Corrección
- Llega a la cola de RH. Aprobarla agrega un evento, no reescribe el original.
- Folio
- El principio del hash del evento. Es lo que la persona puede citar.
LFT Art. 784 · la carga de la prueba es del patrón
3Ubicación y movilidad
GPS en el instante de checar, y solo en ese instante.
Cada sucursal es un punto con un radio. Al checar se guarda el resultado: dentro, fuera con la distancia exacta, o no aplica. No se guarda un trayecto, ni un historial de posiciones, ni nada entre una checada y la siguiente.
Cuando cae fuera, el sistema pregunta por qué con las palabras que la gente usa. La respuesta llega como un evento nuevo que referencia a la checada — nunca se escribe encima— y entra en la exportación junto al resultado de geocerca, para que una inspección lea la explicación al lado de la desviación.
- Perfil fijo
- Valida contra su sucursal. Fuera del radio se registra, se marca y se pregunta el motivo.
- Perfil móvil
- Valida contra cualquier sucursal. Fuera de todas no es falta: pide explicación.
- Perfil remoto
- NOM-037. No se evalúa geocerca. La jornada se registra igual.
- Catálogo de motivos
- De la empresa. Sin respuesta, queda «sin especificar» y va a la cola del supervisor.
- Evidencia con selfie
- Existe y viene apagada: un rostro es dato biométrico.
- Desconexión digital
- Fuera de jornada, en descanso, festivo o vacaciones no salen mensajes de trabajo, y el bloqueo queda en la bitácora.
| Sucursal | Dirección | Radio | Zona horaria |
|---|---|---|---|
| Nápoles | Av. Insurgentes Sur 601 | 150 m | America/Mexico_City |
| Coyoacán | Miguel Ángel de Quevedo 128 | 120 m | America/Mexico_City |
| Tijuana Centro | Blvd. Agua Caliente 4558 | 200 m | America/Tijuana |
| Cancún Plaza | Av. Bonampak SM 4 | 180 m | America/Cancun |
México tiene varios husos horarios. Cada sucursal guarda el suyo, y la hora local del registro se calcula con él.
| Código | Etiqueta que ve la persona | Aplica a | Nota |
|---|---|---|---|
| visita_cliente | Estoy con un cliente | fijo · móvil | no |
| traslado | Voy en camino | móvil | no |
| ruta | Ando en ruta | móvil | no |
| home_office | Estoy en casa | remoto | no |
| comision | Me mandaron a otro lugar | fijo · móvil | no |
| sin_senal_gps | No agarró el GPS | todos | no |
| otro | Otro | todos | sí |
| sin_especificar | Sin especificar (reservado) | sistema | — |
4Del lado de Recursos Humanos
La consola no es un tablero bonito: es una cola de pendientes.
Quien lleva RH no quiere gráficas de asistencia. Quiere saber quién no cerró ayer, qué correcciones aprobar y qué horas extra nadie autorizó, y quiere que eso se acabe antes de comer. Por eso es densa: tablas, atajos de teclado y un panel de inspección sobre el renglón seleccionado.
- Hoy
- Presentes, retardos, faltas, sin salida y motivos pendientes, como filtros sobre una tabla.
- Empleados
- Alta, turno, sucursal, movilidad, baja y el historial de cada persona.
- Turnos
- Horario, descansos, redistribución del Art. 59 y clasificación en vivo.
- Incidencias
- Falta, retardo, permiso, incapacidad con folio y vacaciones.
- Horas extra
- Autorizaciones y tope diario y semanal, con aviso al 80%.
- Jornadas excesivas
- La identificación que pide la NOM-035. No es su evaluación.
- Constancia diaria
- El hash del día sellado con una autoridad RFC 3161, verificable con openssl.
- Ajustes
- Tolerancia, comida, geocerca, retención, motivos, llaves de API y aceptaciones.
| Persona | Sucursal | Entrada | Comida | Salida | Trabajado | Marcas | Folio |
|---|---|---|---|---|---|---|---|
| Bruno Cárdenas | Nápoles | 09:14 | — | — | 5:47 | Sin salida · retardo 14 min | |
| Cynthia Olvera | Coyoacán | 07:58 | 13:30–14:12 | — | 9:12 | Sin salida | |
| Fernando Quiroz | Coyoacán | 08:06 | — | — | 6:02 | Sin salida · motivo pendiente |
| Persona | No. | Sucursal | Turno | Movilidad |
|---|---|---|---|---|
| Alejandra Rentería | 0142 | Nápoles | Diurno 8h | Fijo |
| Bruno Cárdenas | 0143 | Nápoles | Diurno 8h | Fijo |
| Cynthia Olvera | 0151 | Coyoacán | Mixto | Fijo |
| Damián Iturbe | 0166 | — | Diurno 8h | Móvil |
| Elena Vargas | 0170 | — | Diurno 8h | Remoto |
| Persona | Día | Pide | Razón | Acción |
|---|---|---|---|---|
| Cynthia Olvera | 6 sep | Salida 18:40 | Se descargó el teléfono | AprobarRechazar |
| Bruno Cárdenas | 5 sep | Entrada 08:05 | Marcó en la sucursal equivocada | AprobarRechazar |
| Elena Vargas | 4 sep | Comida 13:30–14:00 | Olvidó el fin de comida | AprobarRechazar |
| Fernando Quiroz | 3 sep | Falta → permiso | Cita IMSS, folio 88213 | AprobarRechazar |
Aprobar no modifica la checada original: crea un evento de corrección que la referencia. El registro es de solo agregado.
5Cálculo, entrega e integración
El número que sale en la exportación salió del motor legal.
Clasificación de jornada y sus máximos, tope semanal por año, reparto al doble y al triple, el muro de las 12 horas, descansos, prima dominical, festivo trabajado, retardos y faltas: todo en un solo lugar del código, con su prueba unitaria y el artículo en un comentario. Ni la pantalla ni el bot calculan una cantidad legal.
- Registro de jornada
- El paquete de inspección: persona, día, entrada y salida con desfase, comida, ordinaria, extra, geocerca, motivo, canal y hash.
- Prenómina
- Incidencias y horas del periodo, listas para capturar o importar.
- Horas extra · Puntualidad · Ausentismo
- Reparto autorizado y no, retardos contra la tolerancia, faltas y permisos.
- Nómina
- Exportación con las columnas del nodo «HorasExtra» del CFDI 1.2, indexada por la clave de su ERP.
- API v1 con alcances
- OpenAPI 3.1, llaves por sistema, cursor, updated_since y external_id.
- Webhooks firmados
- punch.created, workday.closed, overtime.threshold y más. Idempotency-Key en cada POST.
Tope semanal 2026: 9 h. Dentro del tope se pagan al 100% adicional; lo que pase, al 200% (Arts. 66-68).
Autorizadas
Autorizadas
Excede tope · las 0.5 h restantes se pagan al 200%
Autorizadas
| Persona | Fecha | Entrada (local) | Salida (local) | Zona | Ord. | Extra | Geocerca | Motivo | Canal | Hash |
|---|---|---|---|---|---|---|---|---|---|---|
| Rentería, A. | 2026-09-07 | 08:02-06:00 | 18:31-06:00 | America/Mexico_City | 480 | 32 | dentro | — | tg | a59138ae… |
| Iturbe, D. | 2026-09-07 | 08:41-06:00 | 17:58-06:00 | America/Mexico_City | 480 | 77 | fuera 12.4 km | otro lugar | tg | ec26cb40… |
| Vargas, E. | 2026-09-07 | 08:00-06:00 | 17:00-06:00 | America/Mexico_City | 480 | 0 | no aplica | teletrabajo | tg | 3b7710aa… |
Digest del día · 4f0c…9d2a · 128 eventos · cada hash recalcula
6Puesta en marcha
Toda la plantilla se da de alta sola, sin junta.
La forma más rápida de perder una semana es pedirle a cada quien que «busque el bot y mande su número». Aquí la consola genera una invitación de un solo uso por persona y usted elige cómo repartirla: por WhatsApp con el mensaje ya armado, impresa como tarjeta con código QR para quien no usa correo, o todas de golpe subiendo su lista de personal.
La pantalla muestra quién está invitado, quién ya se vinculó y quién ya aceptó. Perseguir a tres es distinto de perseguir a cuarenta.
bot · en línea
Toca un paso
Consola · invitar al equipo
0/8 vinculados
- Alejandra RenteríaInvitado
- Bruno CárdenasInvitado
- Cynthia OlveraInvitado
- Damián IturbeInvitado
- Elena VargasInvitado
- Fernando QuirozInvitado
- Gabriela SantosInvitado
- Hugo BeltránInvitado
Ilustración con datos de ejemplo: en la consola cada renglón avanza cuando la persona escanea su tarjeta y acepta.
Escanea para activar tu checador
Una tarjeta por persona, con su código de un solo uso. Se pega en el gafete o en la pared, junto al reloj que va a jubilar.
Las ilustraciones de este sitio están dibujadas con datos de ejemplo; ninguna es la cuenta de una empresa real.