Página de Seguimiento de tiempo
La página de Seguimiento de tiempo es tu registro de auditoría de cada entrada de tiempo completada registrada contra trabajos y estaciones de trabajo en el sistema. Cada vez que un empleado inicia un temporizador en el Kiosk o la aplicación móvil y luego lo detiene — o añade una entrada manual a mano — aparece un registro en esta página.
Responde preguntas como “¿cuánto tiempo dedicó Jan al pedido PB-0042?”, “¿quién ha estado en la Cabina de Pintura esta semana?” y “¿está este trabajo por encima de su presupuesto de tiempo estimado?”. Ábrela desde la barra lateral principal (Seguimiento de tiempo) o navegando a /time-tracking.
![]()
A diferencia de la página de Producción, que muestra el trabajo en curso en vivo (temporizadores activos), la página de Seguimiento de tiempo es el registro histórico del trabajo completado. Los temporizadores activos aparecen en el grupo de avatares de la barra superior de la página de Producción; los temporizadores cerrados aparecen aquí.
Tabla de contenido
Sección titulada «Tabla de contenido»- Para qué sirve esta página
- Anatomía de la página
- Lectura de la tabla
- Búsqueda
- Filtros avanzados
- Tarjetas de resumen
- Exportar a Excel
- Cómo llegan aquí las entradas de tiempo
- Añadir un registro de tiempo manualmente
- Editar una entrada de tiempo
- Detener un temporizador activo
- Cierre automático de temporizadores al final del turno
- Entradas de tiempo y Registros de trabajo
- Entradas de tiempo y Webhooks
- Vista por trabajo vs vista a nivel de sistema
- Personalizar la página de Seguimiento de tiempo
- Consejos y buenas prácticas
Para qué sirve esta página
Sección titulada «Para qué sirve esta página»La página de Seguimiento de tiempo es la única fuente de verdad para cuánto tiempo dedicó la gente a qué. Úsala para:
- Entrada de nóminas — ver el total de horas trabajadas por cada empleado, desglosado por trabajo y estación de trabajo.
- Costeo de trabajos — sumar el tiempo de mano de obra a lo largo de un solo trabajo para compararlo con su estimación.
- Informes de productividad — ver quién trabajó en qué, cuándo y por cuánto tiempo.
- Auditoría — investigar por qué un trabajo está por encima del presupuesto mirando cada entrada individual de temporizador.
- Revisión puntual de la planta — confirmar que los flujos de fichaje entrada / salida se están usando correctamente.
La página es mayormente de lectura: las entradas se crean en la planta (Kiosk / aplicación móvil), no desde aquí. Desde aquí principalmente las revisas, opcionalmente editas marcas de tiempo si se cometió un error, y ocasionalmente añades una entrada de relleno a mano.
Anatomía de la página
Sección titulada «Anatomía de la página»La página está dispuesta de arriba a abajo en cuatro bandas:
- Barra superior — título de la página; la caja de Búsqueda a la izquierda; el selector Mostrar N entradas y el botón Exportar a Excel a la derecha.
- Fila de filtros avanzados — selectores de Empleado, Trabajo, Pedido y Estación de trabajo, más las entradas de fecha Desde / Hasta y un botón Limpiar filtros. Consulta Filtros avanzados.
- Tarjetas de resumen — tres números a la vista para el conjunto filtrado actualmente: Tiempo total, Entradas, Empleados. Consulta Tarjetas de resumen.
- La tabla propiamente dicha, una fila por entrada de tiempo completada, ordenada por iniciada más recientemente primero. Una paginación estándar con un contador Mostrando X–Y de Z se sitúa debajo.
La página lista solo entradas cuyo temporizador ha sido detenido. Los temporizadores activos (aún en curso) aparecen en la barra superior de la página de Producción y en la pestaña de Seguimiento de tiempo del trabajo correspondiente — consulta Detener un temporizador activo.
Lectura de la tabla
Sección titulada «Lectura de la tabla»Cada fila muestra:
| Columna | Qué muestra |
|---|---|
| Empleado | El empleado que inició el temporizador. |
| Trabajo | El nombre del trabajo en la primera línea; el Nº Ref del trabajo (#PB-0042) en una segunda línea más pequeña debajo. |
| Pedido | El nombre del pedido padre en la primera línea; el Nº Ref del pedido en una segunda línea más pequeña debajo. |
| Estación de trabajo | La columna de estación de trabajo contra la que se registró el trabajo, mostrada como un pequeño badge. |
| Iniciado | Marca de tiempo de cuándo se inició el temporizador. |
| Detenido | Marca de tiempo de cuándo se detuvo el temporizador. |
| Duración | Tiempo total transcurrido, formateado de forma compacta: 45s, 12m, 1h 32m. |
Un guion (-) aparece cuando falta un dato (por ejemplo, un registro de empleado fue eliminado, o el temporizador está de alguna manera incompleto).
La tabla está ordenada por marca de tiempo Iniciada, descendente — más reciente primero — y esto no es configurable por el usuario desde la página.
Búsqueda
Sección titulada «Búsqueda»Escribe en la caja de búsqueda. La consulta coincide con:
- Nombre o apellido del Empleado
- Nombre o Nº Ref del Trabajo
- Nombre o Nº Ref del Pedido
La búsqueda no distingue mayúsculas y minúsculas y usa coincidencia contiene, así que “Kow” coincide con “Kowalski” y “0042” coincide con “PB-0042”.
La lista se refresca unos 300 ms después de que dejes de escribir. La consulta se refleja en la URL, así que una vista filtrada (por ejemplo, “cada entrada del pedido PB-0042”) puede guardarse como marcador o compartirse.
La búsqueda se apila con los filtros avanzados de abajo — por ejemplo puedes elegir Empleado = Jan Kowalski, luego escribir “mesa” en la caja de búsqueda para ver solo las entradas de Jan en trabajos cuyo nombre/ref/pedido contenga “mesa”.
Filtros avanzados
Sección titulada «Filtros avanzados»Bajo la fila de búsqueda se encuentra la barra de filtros avanzados — cinco filtros precisos más un rango de fechas. Todos los filtros se combinan con AND, todos actualizan la URL (así que las vistas se pueden marcar y compartir), y todos son respetados por las tarjetas de resumen y la exportación a Excel.
Empleado, Trabajo, Pedido, Estación de trabajo
Sección titulada «Empleado, Trabajo, Pedido, Estación de trabajo»Estos cuatro son selectores combobox con búsqueda con la misma UX:
- Haz clic en el selector para abrir el desplegable.
- Empieza a escribir — la lista filtra mientras escribes.
- Haz clic en una opción, o haz clic en la fila superior Todos los empleados / Todos los trabajos / Todos los pedidos / Todas las estaciones de trabajo para limpiar ese filtro.
Las listas están acotadas a opciones que realmente tienen entradas de tiempo — no verás trabajos en los que nadie haya fichado nunca, así que el desplegable se mantiene corto.
| Filtro | Qué coincide |
|---|---|
| Empleado | Entradas iniciadas por esa persona en particular. |
| Trabajo | Entradas en un trabajo específico (un producto / línea de producción). |
| Pedido | Entradas en cualquier trabajo perteneciente a un pedido de cliente específico. Útil para “¿cuántas horas hemos dedicado al pedido de Acme hasta ahora?”. |
| Estación de trabajo | Entradas registradas en una estación específica, independientemente del trabajo. Útil para informes de capacidad y cuellos de botella en una máquina o estación específica. |
Rango de fechas — Desde / Hasta
Sección titulada «Rango de fechas — Desde / Hasta»Dos entradas de fecha Desde / Hasta filtran por la marca de tiempo Iniciada de la entrada:
- Desde — solo entradas que se iniciaron en o después de esta fecha (inclusiva, desde las 00:00 hora local).
- Hasta — solo entradas que se iniciaron en o antes de esta fecha (inclusiva, hasta las 23:59 hora local).
- Dejar cualquiera en blanco significa sin límite por ese lado — fija solo Desde = 2026-01-01 para ver todo a partir de enero.
Limpiar filtros
Sección titulada «Limpiar filtros»Cuando al menos un filtro (búsqueda, selector o fecha) está activo, aparece un botón Limpiar filtros a la derecha de la fila de filtros. Hacer clic en él restablece todos los filtros a la vez y recarga la tabla sin filtro aplicado — una sola ida y vuelta, no cinco.
Tarjetas de resumen
Sección titulada «Tarjetas de resumen»Una fila de tres tarjetas directamente sobre la tabla muestra agregados para el conjunto filtrado actualmente (a través de todas las páginas, no solo la página en pantalla):
| Tarjeta | Qué cuenta |
|---|---|
| Tiempo total | Suma de duration_seconds a través de cada entrada coincidente, formateada como Xh Ym. |
| Entradas | Cuántas entradas coinciden con los filtros actuales. |
| Empleados | Cuántos empleados distintos están representados en las entradas coincidentes. |
Las tarjetas se actualizan automáticamente siempre que cambias un filtro, así que puedes responder preguntas como “¿cuántas horas dedicó el equipo de pintura al pedido de Acme en enero?” en unos pocos clics — elige Estación de trabajo = Cabina de Pintura, Pedido = Acme, Desde = 2026-01-01, Hasta = 2026-01-31, y lee la tarjeta Tiempo total.
Exportar a Excel
Sección titulada «Exportar a Excel»Arriba a la derecha de la página hay un botón Exportar a Excel. Haz clic y el navegador descarga inmediatamente un archivo .csv llamado time-tracking_YYYY-MM-DD_HHMMSS.csv (Excel, Numbers y Google Sheets lo abren todos de forma nativa).
La exportación:
- Aplica cada filtro activo — búsqueda, empleado, trabajo, pedido, estación de trabajo y rango de fechas. Lo que ves en la tabla filtrada es exactamente lo que aterriza en el archivo.
- Incluye todas las entradas coincidentes a través de todas las páginas — la paginación se omite, así que aunque la tabla esté mostrando “Página 1 de 27” sigues obteniendo las 27 páginas de filas en el archivo.
- Se transmite en streaming mientras se genera, así que selecciones muy grandes no agotarán el tiempo ni consumirán memoria del servidor.
Columnas en el archivo
Sección titulada «Columnas en el archivo»| Columna | Notas |
|---|---|
| Employee | Nombre Apellido unidos. |
| Job | El nombre del trabajo. |
| Job Ref No | El número de referencia del trabajo (por ejemplo, PB-0042). |
| Order | El nombre del pedido padre. |
| Order Ref No | El número de referencia del pedido padre. |
| Workstation | La estación de trabajo contra la que se registró la entrada. |
| Started | YYYY-MM-DD HH:MM:SS. |
| Stopped | YYYY-MM-DD HH:MM:SS. |
| Duration (h:mm:ss) | Tiempo transcurrido legible. |
| Duration (minutes) | Minutos con dos decimales — fácil de sumar para nóminas. |
| Duration (seconds) | Segundos en bruto — fácil para scripts downstream. |
Consejos
Sección titulada «Consejos»- Prefiltra antes de exportar. Una exportación semanal de nóminas típicamente significa: elige Desde = lunes y Hasta = domingo, luego Exporta. O elige Empleado = Jan para una línea de nómina de una persona.
- Sin filtros = exporta todo. Hacer clic en Exportar sin nada filtrado descarga cada entrada completada en el sistema. Útil para una copia de seguridad puntual o análisis fuera del sitio.
- El archivo es UTF-8 con BOM, así que los caracteres polacos, las umlauts alemanas, etc. se abren correctamente en Excel sin gimnasia con el “Asistente de importación”.
Cómo llegan aquí las entradas de tiempo
Sección titulada «Cómo llegan aquí las entradas de tiempo»Las entradas de tiempo pueden crearse de varias formas. Todas ellas acaban en el mismo lugar — esta página — una vez detenidas.
1. Kiosk / aplicación móvil (lo más común)
Sección titulada «1. Kiosk / aplicación móvil (lo más común)»Un empleado en una estación de trabajo toca Iniciar trabajo en el Kiosk o la aplicación móvil, introduce su PIN, y un temporizador empieza a correr contra un par específico trabajo × estación. Cuando toca Detener trabajo, el temporizador se cierra, se calcula la duración y la entrada aparece aquí.
2. “Añadir registro de tiempo” manual desde el panel de Trabajo
Sección titulada «2. “Añadir registro de tiempo” manual desde el panel de Trabajo»Abre un trabajo → cambia a la pestaña Seguimiento de tiempo → haz clic en Añadir registro de tiempo. Eliges un empleado, una estación de trabajo, una marca de tiempo iniciada y una marca de tiempo detenida. La entrada se rellena con la duración exacta que especificaste.
Esto es útil para capturar trabajo que se hizo pero no se fichó (por ejemplo, el empleado olvidó iniciar un temporizador, o el dispositivo estaba offline). Consulta Añadir un registro de tiempo manualmente.
3. Cerrado por un cron job
Sección titulada «3. Cerrado por un cron job»Si un empleado deja un temporizador en marcha al final del turno, tu endpoint de Cron Job programado lo cerrará automáticamente cuando se dispare. La nota “Auto-cerrado por cron job” del cron acaba en el registro de trabajo; la entrada de tiempo aparece aquí con la hora de cierre del cron como Detenido.
4. Detenido manualmente desde el panel de Trabajo
Sección titulada «4. Detenido manualmente desde el panel de Trabajo»Si detectas un temporizador activo en la pestaña de Seguimiento de tiempo del panel de Trabajo, puedes pulsar el botón Detener en él. El temporizador se cierra inmediatamente y la entrada aparece aquí.
Añadir un registro de tiempo manualmente
Sección titulada «Añadir un registro de tiempo manualmente»No puedes crear una entrada completamente nueva directamente desde esta página. Las entradas manuales se crean por trabajo:
- Abre el trabajo (mediante la página de Trabajos o haciendo clic desde Seguimiento de tiempo).
- Cambia a la pestaña Seguimiento de tiempo en el panel de Trabajo.
- Haz clic en Añadir registro de tiempo.
- Elige el Empleado (escribe al menos un carácter para buscar).
- Elige la Estación de trabajo en la que se hizo el trabajo (debe ser una estación que exista en el trabajo).
- Define Iniciado en y Detenido en (selectores de fecha + hora). Detenido debe ser después de Iniciado.
- Haz clic en Guardar.
La entrada se crea con la duración exacta entre Iniciado y Detenido, una entrada correspondiente de registro de trabajo se añade con la nota Time tracked: 1h 25min (added manually by <tu nombre>), y cualquier webhook time_log_saved coincidente se dispara con mode: "manual".
¿Por qué también un registro de trabajo? Los registros de trabajo son las notas cronológicas por estación adjuntas a un trabajo. Cada entrada de tiempo produce uno para que el rastro de auditoría esté unificado — consulta Entradas de tiempo y Registros de trabajo.
Editar una entrada de tiempo
Sección titulada «Editar una entrada de tiempo»Los errores ocurren — un temporizador se inició a las 7:00 pero el empleado llegó realmente a las 7:30. Para corregirlo:
- Abre el trabajo (desde la tabla, haz clic, o usa la búsqueda para encontrarlo en la página de Trabajos).
- Cambia a la pestaña Seguimiento de tiempo.
- Haz clic en el icono lápiz junto a la entrada.
- Ajusta Iniciado en y/o Detenido en.
- Opcionalmente añade una Nota describiendo por qué se editó la entrada (esto se anexa al registro de trabajo).
- Haz clic en Guardar.
La duración de la entrada se recalcula automáticamente. Una nueva entrada de registro de trabajo se añade con la nota Time entry edited by <tu nombre>. New duration: 55min (más cualquier nota de motivo que hayas añadido), y los webhooks time_log_saved se disparan de nuevo para reflejar la nueva duración.
Solo se pueden editar entradas detenidas. Los temporizadores activos no se pueden editar: deténlos primero, luego edita.
No hay rastro de auditoría de valores anteriores. El registro de trabajo captura que hubo una edición, pero no las marcas de tiempo antiguas. Si eso importa para tu configuración de cumplimiento, archiva los valores anteriores del registro de trabajo antes de editar.
Detener un temporizador activo
Sección titulada «Detener un temporizador activo»La página de Seguimiento de tiempo lista solo entradas detenidas, así que nunca muestra temporizadores activos. Para detener uno a mitad de turno:
- Desde el Kiosk / aplicación móvil — el empleado toca Detener él mismo.
- Desde el panel de Trabajo — abre el trabajo → pestaña Seguimiento de tiempo → haz clic en el botón rojo Detener en la entrada en curso.
- Desde el Cron Job — llama a la URL del endpoint del cron configurado para las estaciones en cuestión (consulta Cron Jobs).
En todos los casos, una vez detenida, la entrada sale de la lista activa y aparece en esta página.
Cierre automático de temporizadores al final del turno
Sección titulada «Cierre automático de temporizadores al final del turno»Los talleres donde los empleados ocasionalmente olvidan fichar la salida pueden usar Cron Jobs para cerrar temporizadores caducos automáticamente. Configura uno por equipo / por turno para:
- Ejecutarse en un calendario cron (por ejemplo, las 17:00 cada día laborable).
- Cerrar cada temporizador activo en las estaciones de trabajo asignadas a ese cron.
- Anexar una nota
Auto-closed by cron job: <nombre>al registro de trabajo de cada afectado. - Opcionalmente enviar por email un resumen de todas las entradas cerradas a un supervisor.
Las entradas cerradas aparecen entonces en esta página exactamente como si hubieran sido detenidas a mano.
Consulta Cron Jobs para la guía completa de configuración.
Entradas de tiempo y Registros de trabajo
Sección titulada «Entradas de tiempo y Registros de trabajo»Cada entrada de tiempo en esta página tiene una entrada correspondiente de registro de trabajo en el trabajo contra el que se registró. Los registros de trabajo son el rastro de auditoría cronológico por estación que ves en la pestaña Registros de un trabajo. La integración tiene este aspecto:
| Evento | Formato de la nota del registro de trabajo |
|---|---|
| Temporizador detenido en Kiosk / móvil | Time tracked: <duración> |
| Auto-cierre del cron job | Auto-closed by cron job: <nombre> |
| ”Añadir registro de tiempo” manual | Time tracked: <duración> (added manually by <usuario>) |
| ”Detener” manual desde el panel de Trabajo | Time tracked: <duración> (manually closed by <usuario>) |
| Entrada de tiempo editada | Time entry edited by <usuario>. New duration: <nuevo> |
El registro de trabajo captura qty = 0 para estas entradas autogeneradas — son registros de mano de obra, no registros de cantidad. Si un empleado registró tanto tiempo como cantidad (el Kiosk te permite hacer ambos en un envío), la cantidad se captura en el mismo registro.
Entradas de tiempo y Webhooks
Sección titulada «Entradas de tiempo y Webhooks»Cada entrada de tiempo — ya sea creada en el Kiosk, añadida manualmente, detenida desde el panel del trabajo o auto-cerrada por un cron — dispara el evento de webhook time_log_saved para cualquier endpoint suscrito.
El payload incluye:
- Contexto del trabajo y la estación de trabajo
- La duración en minutos
- El empleado (id, name, surname)
- El campo
mode, que te dice cómo se creó la entrada:"manual"— creada mediante Añadir registro de tiempo, botón Detener, o Editar"work_stopped"— creada cuando el temporizador del Kiosk/móvil se detuvo normalmente
Úsalas para enviar entradas de tiempo a un sistema de nóminas, sistema de facturación o dashboard de productividad en tiempo real. Consulta Webhooks para la configuración completa.
Vista por trabajo vs vista a nivel de sistema
Sección titulada «Vista por trabajo vs vista a nivel de sistema»Puedes mirar las entradas de tiempo desde dos ángulos:
| Vista | Dónde | Mejor para |
|---|---|---|
| A nivel de sistema | Esta página (/time-tracking) | Informes entre trabajos, encontrar todas las entradas de un empleado, revisión diaria/semanal |
| Por trabajo | Panel de Trabajo → pestaña Seguimiento de tiempo | Costeo de trabajos — “¿cuánta mano de obra en este trabajo?” — más controles de editar/detener/añadir por trabajo |
Ambas vistas leen de los mismos datos subyacentes, así que una entrada añadida en una es visible inmediatamente en la otra.
Ambas vistas también tienen tarjetas de resumen en la parte superior:
- La página a nivel de sistema muestra tres tarjetas — Tiempo total, Entradas, Empleados — calculadas a través del conjunto actualmente filtrado, incluyendo cualquier rango de fechas activo. Consulta la sección Tarjetas de resumen más arriba.
- La pestaña por trabajo muestra cuatro tarjetas — tiempo estimado (suma de estimaciones de estación), tiempo total registrado, conteo de entradas y conteo de empleados distintos. Cuando el tiempo total registrado supera el estimado, el número se resalta en rojo — una señal visual rápida de que un trabajo está por encima del presupuesto.
Personalizar la página de Seguimiento de tiempo
Sección titulada «Personalizar la página de Seguimiento de tiempo»La mayoría de lo que fluye a esta página se configura en otros lugares:
| Para cambiar… | Ve a… |
|---|---|
| Quién puede fichar (gestión de PINs de empleados) | Configuración de la aplicación → Empleados |
| Qué estaciones de trabajo soportan seguimiento de tiempo | Panel de Trabajo → pestaña Estaciones de trabajo → Permitir seguimiento de tiempo por fila |
| Estimaciones de tiempo por trabajo (usadas en presupuesto vs real) | Panel de Trabajo → pestaña Estaciones de trabajo → Tiempo estimado por fila |
| Cierre automático al final del turno | Configuración de la aplicación → Cron Jobs (docs) |
| Reenviar entradas de tiempo a sistemas externos | Configuración de la aplicación → Webhooks (docs) |
| Renombrar “Seguimiento de tiempo” en la barra lateral | Configuración de la aplicación → Nombres |
Los cambios surten efecto inmediatamente — no es necesario refrescar.
Consejos y buenas prácticas
Sección titulada «Consejos y buenas prácticas»- Fomenta el flujo del Kiosk / móvil primero — captura marcas de tiempo de Inicio / Detención limpias sin intervención manual. Usa Añadir / Editar manualmente solo para corregir excepciones.
- Define siempre estimaciones de estación en cada trabajo. Sin ellas, la pestaña por trabajo de Seguimiento de tiempo puede mostrar el tiempo real pero no tiene nada con qué compararlo.
- Empareja esta página con cron jobs de final de turno. Sin auto-cierre, los empleados que olviden detener sus temporizadores producirán entradas anormalmente largas. El cron lo previene y es invisible para la planta.
- Cuando edites entradas, deja un motivo en el campo Nota. La nota acaba en el registro de trabajo permanentemente — tu yo futuro (y cualquier auditor) te lo agradecerá.
- Combina con webhooks
time_log_savedpara enviar horas a tu proveedor de nóminas o dashboard de BI automáticamente — consulta Webhooks. - Usa la búsqueda de forma amplia — buscar por un Nº Ref de Pedido es la forma más rápida de ver cada minuto de mano de obra dedicado al pedido de un cliente específico. El selector dedicado Pedido es la forma más precisa una vez conoces al cliente; la búsqueda es para “lo sabré cuando lo vea”.
- Para nóminas, apóyate en el rango de fechas + filtro de Empleado + Exportación. Elige el periodo de paga en Desde / Hasta, opcionalmente acota a un empleado, echa un vistazo a la tarjeta Tiempo total para verificar, luego Exportar a Excel para el archivo real de nómina.
- Para costeo de trabajos, combina Pedido o Trabajo con el rango de fechas. Filtra a un Pedido a lo largo del periodo de calendario en que se hizo el trabajo, luego lee la tarjeta Tiempo total y compara con la estimación en la pestaña por trabajo.
- Audita anomalías antes de editar. Un temporizador que corrió durante 18 horas casi siempre no es un turno real de 18 horas — es un fichaje de salida olvidado. Comprueba las notas del registro de trabajo en busca de marcadores
Auto-closed by cron job: …; esos los introdujo el cron y pueden acortarse con seguridad al final real del turno. - El resumen siempre coincide con lo que exportarías. Si alguna vez quieres verificar la cordura del archivo Excel, echa un vistazo primero a la tarjeta Entradas — el número de filas de datos en el
.csvdescargado coincidirá (menos la fila de cabecera).