Manual de Usuario — Guía Completa
TimeTracker v3.4 es una herramienta profesional de control de tiempo y facturación por proyectos diseñada para autónomos, técnicos de campo y pequeñas empresas.
El programa aparece como un panel flotante siempre visible. Puedes controlarlo mientras trabajas en otras aplicaciones.
| Archivo / Carpeta | Función | Criticidad |
|---|---|---|
TimeTracker.exe | Ejecutable principal | Sí |
license.dat | Licencia activada y datos de hardware | 🔴 CRÍTICO |
data.json | Toda la configuración, historial y datos | 🔴 CRÍTICO |
backups/ | Copias de seguridad automáticas | Muy importante |
Facturación/ | Facturas, albaranes y partes generados | Importante |
logs/ | Registros del sistema para soporte técnico | Informativo |
| Componente | Requisito |
|---|---|
| Sistema Operativo | Windows 10 / 11 (64 bits) |
| Espacio en disco | ~50 MB |
| RAM | 512 MB mínimo |
| Permisos | Usuario estándar (Admin solo para inicio automático con Windows) |
C:\TimeTracker\.TimeTracker.exe. En el primer arranque se crean automáticamente: backups/, REPORTES/, Partes/, Informes mensuales/, Control Horario/ y logs/.data.json con la configuración inicial.C:\TimeTracker). No distribuya el ejecutable solo; copie siempre la carpeta completa.license.dat y data.json en lugar seguro.Accede a toda la configuración haciendo clic en ⚙️ en la barra superior. Encontrarás estas pestañas:
| Pestaña | Función principal |
|---|---|
| General | Apariencia, inactividad, exportar/importar datos, arranque con Windows |
| Empresas (CSV) | Crear, editar y eliminar empresas cliente; importar desde Excel |
| Dpto/Usuario (CSV) | Gestionar contactos y departamentos por empresa |
| Partes | Ver, generar y gestionar partes de trabajo y informes PDF |
| Facturación | Precio/hora, IVA, IBAN, desplazamientos, estados de facturación |
| Licencia de Software | Activación, datos de empresa, logotipo, generación de QR para APP |
| Copia de Seguridad | Backup ZIP completo con cifrado AES-256, historial y ayuda integrada |
| Control Horario | Fichajes, incidencias, jornada, Excel gestoría, PDF legal |
| Zona | Descripción |
|---|---|
| Barra Superior | Icono + título TimeTracker v3.4 + botón ❓ Manual + ⚙️ Configuración + — Minimizar + ✕ Cerrar |
| LED de Estado | 🟢 Trabajando / 🟡 Pausa / 🔴 Detenido |
| Barra de Aviso | Estado actual con colores pulsantes: TRABAJANDO / EN PAUSA / TIEMPO DETENIDO |
| Barra de Totales | Total trabajo | Total pausas | Facturable — Botones rápidos Excel 🟢 diario, 🔵 mensual, ⏸ Pausa, ▶ Reanudar |
| Área Central (Flow) | Tarjetas de empresa con reloj, botón de iniciales, filtro de búsqueda y desplegable de clientes |
| Registro de Actividad | Historial cronológico del día. Botón ➕ para registros manuales |
| Pie / Firma | Copyright + grip de redimensión |
El flujo habitual de trabajo es: Iniciar cronómetro → trabajar → Pausar (si necesario) → Detener al terminar → Generar parte (opcional) → Facturar. Las siguientes secciones detallan cada paso.
Haz clic de nuevo en el mismo botón circular. El sistema guarda automáticamente en data.json, actualiza los reportes Excel y muestra la sesión en el Registro de Actividad.
Con el cronómetro activo, pulsa ⏸ en la barra de controles. Elige el tipo de pausa o escribe un motivo libre:
| Icono | Tipo | Icono | Tipo |
|---|---|---|---|
| ☕ | Descanso | 🍴 | Comida |
| 👥 | Reunión | 📞 | Llamada |
| ✉️ | Emails | 🔧 | Técnico |
| ⏳ | Esperando Info | 🎓 | Formación |
| 🚗 | Desplazamiento | ❓ | No especificado |
Para reanudar, pulsa ▶. Los tipos de pausa son personalizables en ⚙️ → General → Editar Pausas.
TimeTracker monitoriza la actividad del teclado y ratón para proteger tus registros:
| Situación | Acción automática |
|---|---|
| Cronómetro activo + sin actividad >10 min | Pausa automática con motivo Inactividad (Sistema >10m) |
| Programa parado/pausado + actividad detectada | Recordatorio visual: «Tiempo parado — ¿deseas reanudar?» con opciones de delay (1, 3, 5 min) |
| 2 horas continuas trabajando | Aviso toast naranja de salud (levantarse, estirar) |
| Pausa >15 min | Notificación de pausa prolongada |
Panel inferior de la pantalla principal. Muestra en tiempo real todas las sesiones del día con: hora inicio–fin, estado, empresa, cliente y motivo. Código de colores:
| Color | Significado |
|---|---|
| Verde | Sesión activa (en curso) |
| Naranja | Pausa activa |
| Rojo | Registro manual añadido |
| Blanco/Negro | Registro automático finalizado |
Doble clic en cualquier registro para editarlo. Las sesiones consecutivas de la misma empresa y motivo se agrupan automáticamente.
Pulsa ➕ en la cabecera del Registro de Actividad para añadir tiempo pasado que no se cronómetró.
| Campo | Descripción |
|---|---|
| Fecha | Formato dd/mm/aaaa. Por defecto, la fecha actual. |
| Hora Inicio / Hora Fin | Formato HH:MM. La hora de fin debe ser posterior al inicio. |
| Empresa / Cliente | Desplegables sincronizados; el de cliente se actualiza según la empresa. |
| Motivo | Con autocompletado predictivo basado en registros anteriores. |
| ¿Es facturable? | SÍ / NO. |
Al guardar, la entrada se añade al historial y se regeneran los Excel automáticamente.
Dónde: Pantalla principal → Registro de Actividad → doble clic
Modifica: motivo, facturable, materiales (texto libre), observaciones, desplazamiento
Uso: Correcciones rápidas del día
Dónde: Facturación → Editar Historial → botón 🛠️ Editar Servicio
Modifica: precio/hora, materiales con cantidades, desplazamiento por km, observaciones avanzadas
Uso: Preparar el servicio para facturar
Cuando generas un parte y posteriormente modificas el servicio desde Facturación → Editar Historial, al volver a pulsar Generar Parte Word del Servicio Seleccionado el sistema detecta si ya existe un parte previo:
| Situación | Diálogo | Resultado |
|---|---|---|
| Primera generación | Ninguno — directo | Nuevo archivo con número nuevo |
| Parte existe en disco | «¿Actualizar o crear nuevo?» | Sí → actualiza · No → número nuevo · Cancelar → nada |
| Parte registrado pero archivo borrado | «¿Regenerar?» | Sí → regenera con datos actuales |
ACME_SL_20260507_0001.docx.En la pestaña Partes, haz clic derecho sobre un servicio y selecciona 🗑️ Borrar servicio. Solo disponible para estados PENDIENTE y NO FACTURABLE.
| Estado | ¿Borrable? | Acción |
|---|---|---|
| PENDIENTE / NO FACTURABLE | ✅ Sí | Borrado directo con confirmación |
| ALB. BORRADOR / ALBARANADO / FACTURADO / BLOQUEADO | ❌ No | Revertir primero a PENDIENTE desde Facturación |
data.json antes si tienes dudas.Accede desde ⚙️ → Facturación. Usa el botón ? (esquina superior derecha) para la ayuda contextual completa.
| Estado | Significado |
|---|---|
| PENDIENTE | Tiempo registrado, sin albaranar |
| ALB. BORRADOR | En revisión; precios congelados |
| ALBARANADO | Albarán emitido con número oficial |
| FACTURADO | Factura externa generada (Holded / FACe) |
| NO FACTURABLE | Trabajo sin coste económico |
| BLOQUEADO | Ciclo cerrado e inmutable |
En Editar Servicio el grid de materiales permite añadir componentes estructurados con Referencia, Descripción, Cantidad y Precio unitario. El total se calcula automáticamente y se incluye en el albarán. Al importar desde la App Móvil, los materiales con cantidades se cargan como filas individuales.
En Editar Servicio, activa el interruptor Desplazamiento por KM. Introduce los kilómetros; el sistema multiplica por el coste/km configurado en ⚙️ → Facturación. El importe se suma al servicio y aparece desglosado en el albarán. También puedes marcar el desplazamiento como facturable o no facturable.
| Exportación | Dónde | Formato |
|---|---|---|
| Albarán Word | Facturación → Generar Albarán | .docx en Facturación/ |
| Informe PDF mensual | Partes → Generar Informe PDF | .pdf con gráficas y KPIs |
| Excel gestoría RRHH | Control Horario → Exportar Excel | .xlsx columnas dinámicas |
| Holded (JSON) | Facturación → Exportar Holded | JSON compatible Holded API |
| FACe (XML) | Facturación → Exportar FACe | Facturae XML v3.2.2 |
| Empresas / Clientes | ⚙️ → General → Exportar Excel | .xlsx reimportable |
Se generan automáticamente al iniciar/detener tiempo, cada 5 minutos y al cerrar. Incluyen 4 hojas:
| Hoja | Contenido |
|---|---|
| Registros | Fecha, empresa, cliente, motivo, horas, facturable, materiales. Fórmula SUBTOTAL. |
| Pausas | Detalle de pausas con duración decimal. |
| Dashboard | Tablas resumen y gráficas circulares de distribución. |
| Facturación | Horas facturables por empresa y cliente con fórmula SUM. |
_COPIA_XXXX.xlsx y muestra un aviso naranja.El sistema usa escritura atómica (.tmp → reemplazar) para proteger data.json ante cierres abruptos o cortes de luz.
| Cuándo | Archivo |
|---|---|
| Al arrancar (si no existe del día) | backups/backup_YYYY-MM-DD.json |
| Cada 15 minutos | backups/backup_auto_YYYY-MM-DD.json |
| Al cerrar | backups/backup_cierre_YYYY-MM-DD.json |
backups/. Localiza el más reciente.data.json actual por precaución.data.json y colócalo en la raíz del programa.La pestaña Copia de Seguridad (⚙️ → Copia de Seguridad) genera un archivo .zip portable con todos los datos del programa: configuración, historial de servicios, facturas, partes de trabajo, empresas y archivos de soporte. Permite restaurar el programa a su estado exacto en cualquier momento.
7-zip.org), WinRAR, Bandizip o PeaZip. Las copias sin contraseña sí se abren con Windows Explorer.Cada copia registra automáticamente un código SHA-256 (huella digital del archivo). Si el ZIP se corrompe durante la copia o el almacenamiento, el hash será diferente, permitiéndote detectar archivos dañados antes de intentar restaurar. El código aparece en el historial y también puede comprobarse con cualquier herramienta SHA-256 online.
Al hacer clic en cualquier fila del historial se activan dos botones adicionales:
| Botón | Función |
|---|---|
| 📂 Abrir Carpeta | Abre el Explorador de Windows en la carpeta donde está guardado ese archivo ZIP. Si la carpeta ya no existe, lo indica con un aviso informativo sin producir ningún error. |
| 🗑 Eliminar Entrada | Elimina esa línea del historial. Si el archivo ZIP existe en el disco, pregunta si también quieres borrarlo físicamente. Si no existe, simplemente elimina la línea sin mostrar errores. |
| Problema | Solución |
|---|---|
| El archivo ZIP no se crea | Asegúrate de tener permisos de escritura en la carpeta destino. Prueba guardar en Documentos o el Escritorio. |
| Aviso «Ubicación Poco Segura» | Estás intentando guardar la copia dentro de la propia carpeta del programa. Elige una ruta distinta (Pendrive, Documentos, nube). |
| Windows no puede abrir el ZIP | Si tiene contraseña AES-256, Windows Explorer no lo soporta. Instala 7-Zip (gratuito) y úsalo para extraer. |
| 7-Zip pide contraseña incorrecta | Comprueba mayúsculas/minúsculas. La contraseña es sensible a ellas. Usa el botón 👁 para ver lo que escribiste. |
| El archivo .exe no está en la copia | Es normal. El ejecutable está en uso mientras el programa corre. Todos los datos críticos (JSON, facturas, partes, empresas) sí están incluidos. |
| Error al descomprimir (Restaurar) | Cierra completamente TimeTracker antes de extraer el contenido del ZIP sobre la carpeta de instalación. |
| Olvidé la contraseña | El cifrado AES-256 no tiene puerta trasera. Sin la contraseña, el contenido es irrecuperable. |
| Archivo | Contenido | Cuándo consultarlo |
|---|---|---|
logs/timetracker.log | Actividad completa: arranques, guardados, generaciones, errores | Si algo no funciona |
logs/timetracker_errors.log | Solo errores y avisos críticos | Cuando el programa falla o se cierra solo |
| Modo | Características |
|---|---|
| Sin licencia | Máximo 20 registros. Barra parpadeante [VERSIÓN DE PRUEBA]. |
| Licencia temporal | 60 días completos. Muestra días restantes. Clave de 11 caracteres. |
| Licencia completa | Uso ilimitado permanente. Vinculada al hardware. Clave de 10 caracteres. |
license.dat.data.json y license.dat.TimeTracker.exe. No muevas ni borres el resto.data.json y license.dat.| Control | Función | Rango |
|---|---|---|
| 🎨 Color de fondo | Color del panel principal. El texto se adapta automáticamente. | Selector de color |
| Slider Opacidad | Transparencia de la ventana. Cambios en tiempo real. | 30–100% |
| Slider Escala | Tamaño de tarjetas, botones y fuentes. Sin reinicio. | 50–120% |
| ↩️ Restablecer | Vuelve a los valores por defecto. | — |
La App Móvil de TimeTracker es una PWA (Progressive Web App): no requiere instalación desde ninguna tienda. Funciona directamente desde el navegador del móvil.
Los registros creados en la App se exportan y se importan en el programa de escritorio. El formato de exportación es un archivo ZIP que incluye tanto los datos de los trabajos como los partes firmados en HTML:
timetracker_AAAA-MM-DD.zip.Partes/AAAA/MM-mes/.| Formato | Contenido | Cuándo usarlo |
|---|---|---|
.zip (recomendado) | registros.json + carpeta partes/ con los HTML firmados | Exportaciones desde la versión actual de la App |
.json (compatibilidad) | Solo los datos de los registros, sin partes HTML | Exportaciones antiguas o migración de datos |
| Campo importado | Comportamiento |
|---|---|
materiales_detalle | Se carga como filas individuales en el grid de materiales |
materiales | Solo si no existe materiales_detalle. Texto libre en una sola fila. |
km | Se pre-rellena en el campo KM; el usuario activa el desplazamiento |
tiempo_total | Se usa para mostrar la duración exacta registrada en el móvil (incluyendo pausas descontadas) |
observaciones | Siempre como texto plano |
Cuando el técnico genera un parte desde la App Móvil y el cliente lo firma en pantalla, el sistema conserva una cópia sellada del documento original tal y como fue entregado al cliente. Este documento se incluye en el ZIP al exportar y se guarda en el escritorio al importar.
partes/ con los archivos EMPRESA_2026-000001.html.Partes/AAAA/MM-mes/ y la fila correspondiente en la pestaña Partes muestra el icono 📝 indicando que el parte está disponible..docx en la carpeta Partes/ como siempre.La App monitoriza continuamente el espacio usado en el almacenamiento local del móvil:
| Nivel de uso | Aviso | Acción recomendada |
|---|---|---|
| Menos del 70% | Ninguno — todo normal | — |
| 70%–89% | ⚠️ Banner amarillo | Exportar y eliminar registros antiguos |
| 90% o más | 🔴 Banner rojo (crítico) | Exportar datos inmediatamente |
El banner muestra el porcentaje de uso, una barra de progreso y un botón para cerrarlo (no vuelve a aparecer en 24 horas). La comprobación ocurre al abrir la App, cada 5 minutos y tras guardar cada registro.
La App está diseñada para funcionar completamente sin conexión a internet. Todos los registros se guardan en el almacenamiento local del móvil. No se requiere conexión para iniciar servicios, registrar tiempo, añadir materiales ni exportar el JSON. La conexión solo es necesaria para la primera carga de la App.
En lugar de introducir el código de licencia manualmente, el técnico puede escanear el QR generado desde el programa de escritorio:
El campo CP y Ciudad de la configuración de la App se rellena automáticamente al escanear el QR, combinando correctamente el código postal y la ciudad configurados en el escritorio:
| CP en escritorio | Ciudad en escritorio | Resultado en la App |
|---|---|---|
29001 | Málaga | 29001 Málaga |
29001 | San Roque | 29001 San Roque |
29001 | Vélez-Málaga | 29001 Vélez-Málaga |
29001 | (vacía) | 29001 |
| (vacío) | Málaga | Málaga |
Los QR generados con versiones antiguas del escritorio (que solo incluían el CP) son retrocompatibles. Si el campo quedó incorrecto, edítalo manualmente en ⚙️ → campo CP y Ciudad.
El flujo completo de sincronización entre la App y el escritorio es:
En la lista de registros guardados, cada tarjeta de cliente muestra dos botones de acción rápida que permiten contactar o localizar al cliente sin salir de la App:
| Botón | Icono | Función | Requisito |
|---|---|---|---|
| Llamar | 📞 | Abre la marcación telefónica del móvil con el número del cliente precargado. Solo tienes que pulsar Llamar. | Teléfono configurado en ese cliente |
| Ubicación | 📍 | Abre la dirección del cliente en Google Maps (o la app de mapas predeterminada del móvil), listo para navegar. | Dirección configurada en ese cliente |
Los campos de texto del formulario de parte (trabajo realizado y observaciones) disponen de un botón de dictado por voz que permite rellenarlos hablando, sin necesidad de escribir en el teclado del móvil.
Cuando el cronómetro está activo y el técnico minimiza o cierra la App, el sistema operativo muestra automáticamente una notificación persistente en la cortina de notificaciones y, si el dispositivo lo permite, en la pantalla de bloqueo. Desde esa notificación se pueden controlar directamente:
| Acción | Efecto en la App |
|---|---|
| ⏸ Pausar | Pausa el cronómetro. La notificación desaparece. El tiempo en pausa no se contabiliza en la duración del parte. |
| ⏹ Parar | Detiene completamente el cronómetro y reabre la App para que el técnico guarde o descarte el trabajo. |
| Tocar la notificación | Reabre la App en primer plano sin modificar el estado del cronómetro. |
MM:SS o H:MM:SS cuando supera 1 hora) y se actualiza automáticamente cada 60 segundos.La App detecta automáticamente cuando el cronómetro lleva activo más horas de las configuradas como jornada máxima y lanza una notificación de aviso:
| Situación | Alerta |
|---|---|
| Cronómetro activo al superar el máximo de horas de turno | Notificación: «⏱️ Llevas mucho tiempo trabajando. ¿Recuerdas parar el cronómetro?» |
| Cronómetro detenido desde la notificación | Confirmación: «Tiempo detenido. Recuerda guardar tu parte de trabajo.» |
El cronómetro descuenta automáticamente todos los periodos en que estuvo pausado. El tiempo que se muestra, se exporta y se guarda en el parte corresponde exclusivamente al tiempo de trabajo real:
| Escenario | Tiempo registrado |
|---|---|
| Inicio 08:00 → Pausa 09:45 (15 min) → Reanuda 10:00 → Para 10:00 | 1:45:00 (no 2:00:00) |
| Inicio 09:00 → Sin pausas → Para 11:30 | 2:30:00 |
MM:SS hasta 59:59 y H:MM:SS a partir de 1 hora.tiempo_total contienen únicamente el tiempo efectivo.Para activar el Control Horario, ve a ⚙️ → pestaña Control Horario y configura:
Al abrir el programa se registra automáticamente la entrada. Al cerrarlo se registra la salida, mostrando un diálogo de confirmación. Si el programa se cierra de forma abrupta (corte de luz, cuelgue), el siguiente arranque recupera la salida usando el último heartbeat (con ±60 segundos de margen).
| Botón | Estado | Descripción |
|---|---|---|
| 🟢 Fichar Entrada | Habilitado | No hay entrada abierta |
| 🟢 Fichar Entrada | Deshabilitado | Ya existe una entrada abierta sin salida |
| 🔴 Fichar Salida | Habilitado | Hay una entrada abierta |
| 🔴 Fichar Salida | Deshabilitado | No hay ninguna entrada abierta |
-» como salida.Desde el panel de Control Horario, haz doble clic en cualquier día para añadir una incidencia:
| Tipo | Ejemplos | ¿Recuperable? |
|---|---|---|
| Vacaciones | Días de vacaciones anuales | No |
| Baja médica | IT, baja por enfermedad | No |
| Ausencia justificada | Cita médica, trámite oficial | Sí (configurable) |
| Ausencia injustificada | Falta sin justificar | No |
| Formación | Cursos, congresos | Sí |
El campo Recuperable se activa dinámicamente según el tipo seleccionado. Las incidencias recuperables se tienen en cuenta en el cálculo anual.
| Estado | Descripción | Editable |
|---|---|---|
| 🟡 Borrador | Registro en revisión. Puede modificarse. | Sí |
| 🟢 Confirmado | Revisado y aprobado por el trabajador. | Con permiso |
| 🔵 Cerrado | Mes cerrado. Auditoría inmutable. | No |
Para cerrar un mes, todos los días deben estar en estado Confirmado. Una vez cerrado, ningún registro puede modificarse.
En ⚙️ → Control Horario → 🗓 Jornada: introduce las horas anuales pactadas en el contrato. El motor RRHH calcula automáticamente la jornada diaria teórica, la jornada semanal y la proyección de cumplimiento al ritmo actual.
El semáforo de desvío muestra en tiempo real la diferencia entre las horas trabajadas y las horas teóricas del periodo:
| Color | Significado |
|---|---|
| 🟢 Verde | En línea o por encima de la jornada |
| 🟡 Amarillo | Desvío moderado (<10% de la jornada semanal) |
| 🔴 Rojo | Desvío significativo (>10%) |
| ⬛ Negro | Motor RRHH no disponible o sin datos suficientes |
En Control Horario → Exportar Excel. Genera un archivo con:
Control Horario → Generar PDF. Produce un documento conforme al artículo 34.3 del Estatuto de los Trabajadores con: datos del trabajador, empresa, periodo, detalle de fichajes por día, totales y espacio para firmas. Se guarda en Control Horario/YYYY/MM/.
Cada cambio en los registros de control horario queda registrado con fecha, hora y usuario que lo realizó. Los registros en estado Cerrado son completamente inmutables: ningún usuario puede modificarlos, garantizando la integridad legal del historial.
Si aparece un tramo extra o duplicado (por ejemplo, por abrir el programa varias veces el mismo día en versiones antiguas), puedes eliminarlo:
| Problema | Causa probable | Solución |
|---|---|---|
| El programa no arranca | Ruta con acentos o espacios | Mueve la carpeta a C:\TimeTracker |
| Ventana invisible / fuera de pantalla | Cambio de monitor | Clic derecho en barra de tareas → Mover |
| No aparecen empresas en pantalla | data.json vacío o corrupto | Restaura desde backups/ |
| Error "TRIAL_LIMIT" | 20+ registros sin licencia | Activa licencia en ⚙️ → Licencia de Software |
| El programa se cierra al abrir Configuración | Error en módulo de configuración | Consulta logs/timetracker_errors.log y envía diagnóstico |
| Problema | Solución |
|---|---|
| Pestaña Control Horario no aparece | Configura Nombre y DNI en ⚙️ → Control Horario |
| Entrada duplicada el mismo día | Doble clic en el día → Borrar tramo sobrante |
| Semáforo siempre negro | Horas anuales no configuradas → ⚙️ → Control Horario → Jornada |
| No puedo editar un día cerrado | Mes en estado Cerrado es inmutable por diseño legal |
| PDF sin nombre / DNI | Completa esos campos en Configuración antes de generar |
| Problema | Solución |
|---|---|
| Albarán con importe 0€ | Configura precio/hora en ⚙️ → Facturación antes de crear el albarán |
| No puedo cambiar el estado del servicio | Sigue el flujo: PENDIENTE → BORRADOR → ALBARANADO |
| Error al generar XML FACe | Verifica IBAN, NIF emisor y NIF receptor configurados correctamente |
| Problema | Solución |
|---|---|
| No se genera el parte Word | Verifica que existe la plantilla parte_trabajo.docx en la carpeta del programa |
| El parte regenerado no tiene los cambios | Guarda el servicio en Editar Servicio antes de regenerar |
| El informe PDF sale en blanco | El mes seleccionado no tiene servicios. Cambia el filtro de mes. |
| Problema | Solución |
|---|---|
| La App no carga offline | Instálala como PWA desde "Añadir a pantalla de inicio" |
| Datos perdidos tras actualizar navegador | Exporta más frecuentemente. Instala como PWA para activar persistencia. |
| Banner de almacenamiento permanente | Exporta y elimina registros antiguos desde la App |
| QR no funciona / campos vacíos tras escanear | Regenera el QR desde el escritorio (⚙️ → Licencia → Generar QR para APP) |
| CP y Ciudad incorrectos tras escanear QR | Edítalos manualmente en ⚙️ → campo "CP y Ciudad" |
| El botón 📞 no lanza la llamada | El cliente no tiene teléfono configurado en el escritorio o el móvil no tiene aplicación de teléfono. |
| El botón 📍 no abre el mapa | El cliente no tiene dirección configurada, o el móvil no tiene app de mapas instalada. |
| No aparecen los botones Pausar/Parar en la notificación | Comprueba que has concedido permiso de notificaciones a la App. En iOS no están disponibles (limitación del sistema). |
| La notificación no aparece al cerrar la App | Inicia el cronómetro y asegúrate de que el permiso de notificaciones está concedido. En algunos ROMs (MIUI, DokeOS) puede ser necesario activar «Mostrar siempre» en los ajustes de la app del navegador. |
| El tiempo guardado no coincide con el tiempo de reloj | Es correcto: la App descuenta los periodos en pausa y guarda solo el tiempo efectivo de trabajo. |
| Problema | Solución |
|---|---|
| Código no válido | Verifica el código exacto. La App convierte automáticamente a mayúsculas. |
| Licencia caducada | Contacta con soporte para renovación |
| Licencia no reconocida tras cambiar PC | Solicita reactivación al soporte (licencia vinculada al hardware) |
| Problema | Solución |
|---|---|
| "Excel bloqueado" | Cierra el archivo en Excel. El sistema guardó una copia _COPIA_XXXX.xlsx. |
| Gráficas vacías en el Dashboard | Insuficientes datos en el mes. Añade más registros. |
| Problema | Solución |
|---|---|
| JSON importado no aparece en Facturación | Comprueba que las empresas del JSON coinciden con las del escritorio (por ID o nombre) |
| Cámara no abre al escanear QR | Concede permiso de cámara al navegador del móvil |
| Problema | Solución |
|---|---|
Carpeta backups/ vacía | Se genera en el primer arranque. Ejecuta el programa una vez. |
| Backup con datos vacíos | Fue creado antes de registrar datos. Usa el más reciente. |
| No hay backup de hoy | Usa backup_auto_... o backup_cierre_... |
| Problema | Solución |
|---|---|
Carpeta logs/ no existe | Se crea en el primer arranque. |
| Log vacío | El error ocurrió antes del último arranque. Revisa timetracker_errors.log. |
| No encuentro exportar diagnóstico | ⚙️ → Licencia de Software → sección "Soporte" |