⏱️

TimeTracker® v3.2

Manual de Usuario — Guía Completa

Versión 3.2 · 2026 · © Jaime Albo Sánchez-Bedoya

🚨 Advertencias Rápidas — Léelas Primero

Antes de empezar, guarda en tu memoria estos puntos críticos. Son los errores más frecuentes:

❌ NUNCA hagas esto
  • ❌ No borres license.dat
  • ❌ No copies la licencia a otro equipo
  • ❌ No borres la carpeta data/
  • ❌ No elimines data.json
  • ❌ No abras ni modifiques archivos de licencia
  • ❌ No reinstales el programa sin hacer copia primero
✅ SIEMPRE haz esto
  • ✅ Haz copia de license.dat regularmente
  • ✅ Haz copia de data.json
  • ✅ Al actualizar, sustituye SOLO el .exe
  • ✅ Configura los datos de empresa antes de facturar
  • ✅ Activa la licencia antes de usar el programa
  • ✅ Configura precio/hora antes de crear partes
⚠️ Ten en cuenta
  • ⚠️ La licencia está ligada a tu hardware específico
  • ⚠️ Cambiar el equipo requiere nueva activación
  • ⚠️ «Editar Historial» ≠ «Editar Servicio» (ver sección 5)
  • ⚠️ Sin precio/hora configurado, la facturación será 0€
  • ⚠️ El programa siempre está visible encima de las ventanas

📋 Índice de Contenidos

  1. Introducción — Qué es TimeTracker
  2. Requisitos e Instalación
  3. Primer Uso — Configuración Inicial
  4. Configuración Completa
  5. Uso Diario del Programa
  6. Edición de Datos — Historial vs Servicio
  7. Apariencia: Color, Opacidad y Escala
  8. Reportes Excel Automáticos
  9. Sistema de Inactividad Inteligente (Smart Idle)
  10. Bandeja del Sistema (Tray Icon)
  11. Copias de Seguridad y Licencia
  12. Cómo Actualizar el Programa
  13. Resolución de Problemas y Errores Comunes
  14. Exportaciones Holded y FACe — Novedades v3.2
  15. 📱 App Móvil TimeTracker — Manual Completo

1 Introducción — ¿Qué es TimeTracker?

TimeTracker® v3.2 es una herramienta profesional de control de tiempo y facturación por proyectos. Está diseñada para autónomos, técnicos de campo y pequeñas empresas que necesitan:

¿Cómo funciona?

El programa aparece como un panel flotante siempre visible en tu pantalla. Dentro, ves todas tus empresas o clientes. Con un clic en el botón de cada empresa, comienzas a cronometrar el tiempo dedicado. Al terminar, paras el contador. Todo queda registrado automáticamente.

ℹ️ Nota — El programa siempre está visible por encima del resto de ventanas. Esto es intencional para que puedas controlarlo mientras trabajas en otras aplicaciones.

Estructura de archivos del programa

Archivo / CarpetaPara qué sirve¿Crítico?
TimeTracker.exeEl programa principal
license.datTu licencia activada y datos de hardware🔴 CRÍTICO
data.jsonToda la configuración, historial y datos🔴 CRÍTICO
data/Logo de empresa y logs internosImportante
iconos/Iconos del programaMenor
Facturación/Facturas, albaranes y partes generadosImportante
backups/Copias automáticas de data.jsonRecomendado

2 Requisitos e Instalación

Requisitos del Sistema

ComponenteRequisito
Sistema OperativoWindows 10 / 11 (64 bits)
Espacio en Disco~50 MB
RAM512 MB (mínimo)
PermisosUsuario estándar (Admin solo para inicio automático con Windows)

Proceso de Instalación

  1. Copie la carpeta completa del programa a una ubicación permanente, por ejemplo C:\Herramientas\TimeTracker\.
  2. Haga doble clic sobre TimeTracker.exe.
  3. En el primer arranque, la aplicación creará automáticamente los directorios necesarios: backups/, REPORTES/, Partes/, Informes mensuales/.
  4. Se generará automáticamente el archivo de datos data.json con la configuración predeterminada.
💡 Consejo — No distribuya el ejecutable por separado. Copie siempre la carpeta completa para incluir los recursos (icono.png, icono.ico, parte_trabajo.docx).
⚠️ Importante — Ubique la carpeta del programa en una ruta sin acentos ni espacios (ej. C:\TimeTracker). Rutas con caracteres especiales pueden causar errores al arrancar.

2 Primer Uso — Configuración Inicial

⛔ MUY IMPORTANTE — Si no realizas estos pasos en orden, el programa no funcionará correctamente. En especial: sin licencia activa, las funciones de facturación están bloqueadas. Sin datos de empresa, los albaranes y facturas saldrán en blanco.

✅ Checklist de Primera Instalación

Completa estos pasos en orden antes de empezar a usar el programa:

  • Ejecutar TimeTracker.exe por primera vez
  • Introducir el código de licencia (⚙️ → Licencia de Software)
  • Introducir los datos de la empresa (⚙️ → Licencia de Software → Editar datos)
  • Añadir el logotipo de empresa (⚙️ → Licencia de Software → Cambiar logo)
  • Configurar el precio/hora por defecto (⚙️ → Facturación)
  • Crear al menos una empresa cliente (⚙️ → Empresas)
  • Hacer una copia de seguridad de license.dat y data.json

Paso 1 — Activar la Licencia

Sin licencia activa, el programa se ejecuta pero con funcionalidades limitadas. La activación es el primer paso obligatorio.

  1. Abre el programa y haz clic en el botón ⚙️ (engranaje) en la barra superior
  2. Ve a la pestaña "Licencia de Software"
  3. Introduce tu código de activación en el campo de texto (el código se convierte automáticamente a mayúsculas)
  4. Haz clic en el botón "ACTIVAR AHORA"
  5. Si la activación es correcta, verás el mensaje de confirmación y el estado cambiará a ✅ LICENCIA ACTIVA
⚠️ Importante — El código de licencia está vinculado a tu equipo concreto (CPU, disco duro y tarjeta de red). No funcionará en otro ordenador diferente.

En la misma pestaña verás el Nº de Serie del Programa. Guárdalo. Es el identificador único de tu instalación que necesitarás si contactas con soporte técnico.

Paso 2 — Introducir datos de la empresa

Estos datos aparecerán en todos los documentos generados: albaranes, facturas y partes. Es fundamental que estén correctos.

  1. En el diálogo de Configuración (⚙️), pestaña "Licencia de Software"
  2. Haz clic en "✏️ Editar datos de usuario"
  3. Rellena todos los campos: nombre de empresa, NIF/CIF, dirección, CP, ciudad, provincia, teléfono, email
  4. Si generas facturas, introduce también el IBAN bancario
  5. Guarda los cambios

Paso 3 — Configurar el logotipo

  1. En la pestaña "Licencia de Software", haz clic en "🖼️ Cambiar logo"
  2. Selecciona un archivo de imagen (PNG, JPG, BMP)
  3. El programa redimensiona automáticamente la imagen al tamaño adecuado para documentos
  4. El logo aparecerá en albaranes, facturas y partes generados
ℹ️ Consejo — Usa un logo con fondo blanco o transparente (PNG). El tamaño ideal es entre 200×80 y 400×160 píxeles.

Paso 4 — Configurar parámetros de facturación

Este paso es crítico. Sin él, todas tus horas se facturarán a 0€.

  1. En Configuración (⚙️), ve a la pestaña "Facturación"
  2. Configura el Precio por hora por defecto (tarifa estándar que se aplicará a todos los servicios)
  3. Configura el IVA aplicable
  4. Si tienes tarifas distintas por empresa, podrás ajustarlas individualmente al crear cada servicio
⛔ CríticoSi el precio/hora está a 0€, todos tus albaranes generados tendrán importe 0€. Configura esto antes de registrar tiempo facturable.

3 Configuración Completa

Accede a toda la configuración haciendo clic en ⚙️ en la barra superior del programa. Encontrarás las siguientes pestañas:

Pestaña: General

Ajustes de apariencia y comportamiento del programa:

Pestaña: Empresas (CSV)

Gestiona las empresas o clientes a los que facturas tiempo:

⚠️ Nota — También puedes importar empresas desde un archivo Excel. Esto es útil si tienes una lista previamente creada.

Pestaña: Dpto/Usuario (CSV)

Define los usuarios o departamentos que pueden generar actividad dentro de cada empresa. Útil para diferenciar entre distintos contactos o áreas de un mismo cliente.

Pestaña: Partes

Gestiona y genera partes de trabajo y reportes mensuales. Ver sección «Uso Diario» para el detalle completo.

Pestaña: Facturación

Configuración de todos los parámetros económicos:

ParámetroDescripción
Precio €/hora por defectoTarifa base aplicada a todos los servicios
IVA (%)Porcentaje de IVA aplicado en albaranes y facturas
IBANAparece en las facturas como forma de pago
Coste desplazamientoImporte fijo o por km que se añade al servicio
Recargo urgenciaPorcentaje adicional para servicios urgentes

Pestaña: Licencia de Software

Gestiona tu licencia, datos de empresa y logotipo. Ver sección «Primer Uso» para el proceso completo. Además, en esta pestaña encontrarás el botón:

📱 Generar QR para APP — Genera un código QR que contiene el código de licencia cifrado (HMAC-SHA256). El técnico puede escánearlo directamente con la cámara del móvil desde la app para activar la licencia sin escribir ningún código a mano. Ver Sección 15 — App Móvil para el proceso completo.

5 Uso Diario del Programa

Pantalla Principal — Vista General

Al abrir el programa aparece la ventana principal con fondo translúcido oscuro. La interfaz está dividida en las siguientes zonas:

ZonaDescripción
Barra SuperiorIcono de la app + título «⏱️ TimeTracker® v3.2» + botón ❓ Manual + ⚙️ Configuración + — Minimizar + ✕ Cerrar
LED de Estado🟢 Trabajando / 🟡 Pausa / 🔴 Detenido
Barra de AvisoMuestra el estado actual con colores pulsantes: «▶️ TRABAJANDO», «⏸️ EN PAUSA» o «⚠️ TIEMPO DETENIDO»
Barra de TotalesResumen en vivo: Total trabajo | Total pausas | Facturable. Botones rápidos: Excel diario (🟢), Excel mensual (🔵), Pausa (⏸), Reanudar (▶)
Área Central (Flow)Tarjetas translúcidas de cada empresa con: reloj, botón de iniciales, filtro de búsqueda, desplegable de clientes
Registro de ActividadPanel inferior con el historial cronológico del día actual. Botón ➕ para añadir registros manuales.
Pie / FirmaCopyright del autor + grip de redimensión

Cómo Iniciar y Detener el Tiempo

Iniciar un Cronómetro

  1. Localiza la tarjeta de la empresa en el panel principal.
  2. Selecciona el departamento/usuario en el desplegable de la tarjeta. Puedes usar el campo «🔍 Filtrar…» para buscar rápidamente.
  3. Haz clic en el botón circular (con las iniciales de la empresa).
  4. Aparecerá el diálogo «Iniciar Seguimiento» donde debes:
    • Escribir el motivo del trabajo (campo obligatorio). El sistema ofrece autocompletado predictivo basado en motivos anteriores.
    • Indicar si el trabajo es facturable (SÍ/NO).
  5. Pulsa ▶ Iniciar.
💡 Consejo — El botón de la empresa se iluminará con un borde dorado pulsante (animación «heartbeat») y el reloj comenzará a contar en amarillo.

Detener el Cronómetro

Para detener, simplemente haz clic de nuevo en el mismo botón circular de la empresa activa. El sistema:

Cambio de Cliente en Caliente

Si tienes el tiempo corriendo y cambias el desplegable de cliente en la misma empresa, el sistema realiza un switch automático: cierra la sesión actual con el cliente anterior y abre una nueva con el cliente seleccionado, sin perder tiempo.

⚠️ Importante — Solo puede haber un cronómetro activo a la vez. Si inicias otra empresa mientras hay una activa, la anterior se detendrá automáticamente.

Sistema de Pausas

Cuando tienes el cronómetro activo, pulsa el botón naranja en la barra de controles. Se abrirá el diálogo de pausa con las siguientes opciones predefinidas:

IconoTipo de Pausa
Descanso
🍔Comida
👥Reunión
📞Llamada
✉️Emails
🔧Técnico
Esperando Info
🎓Formación
🚗Desplazamiento
No especificado

También puedes escribir un motivo libre en el campo de texto inferior. Al pausar, el tiempo de trabajo se detiene y comienza a contar el tiempo de pausa por separado.

Para reanudar, pulsa el botón verde. El sistema cerrará la pausa y reabrirá el cronómetro con la misma empresa y motivo.

💡 Consejo — Los tipos de pausa son personalizables. Ve a Configuración → General → «☕ Editar Pausas» para modificar nombres e iconos.

Registro de Actividad (Historial Vivo)

En la parte inferior de la pantalla principal se encuentra el panel «📋 REGISTRO DE ACTIVIDAD» que muestra en tiempo real todas las sesiones del día actual. Cada entrada presenta:

Los registros se agrupan automáticamente si empresa y motivo coinciden en sesiones consecutivas. El código de colores es:

ColorSignificado
VerdeSesión activa (en curso)
NaranjaPausa
RojoRegistro manual (entrada añadida a mano)
Blanco/NegroRegistro automático finalizado

Añadir Registros Manuales

Si olvidaste iniciar el cronómetro o necesitas registrar tiempo pasado, pulsa el botón ubicado a la izquierda de la cabecera del Registro de Actividad. Se abrirá el formulario «Añadir Registro Manual» con los siguientes campos:

  1. Fecha (formato dd/mm/aaaa): Por defecto, la fecha actual.
  2. Hora de Inicio y Hora de Fin (formato HH:MM).
  3. Empresa: Desplegable con todas las empresas registradas.
  4. Cliente/Proyecto: Desplegable que se actualiza según la empresa seleccionada.
  5. Motivo de trabajo: Con autocompletado predictivo.
  6. Tipo de pausa (opcional): Si deseas registrar una pausa pasada.
  7. ¿Es facturable?: SÍ / NO.

Al pulsar «💾 Guardar Registro», la entrada se añade inmediatamente al historial y se regeneran los Excel.

⚠️ Validación — La hora de fin debe ser posterior a la de inicio. El sistema validará ambos formatos antes de aceptar.

Exportar a Excel

Generar Partes de Trabajo

  1. Abre Configuración (⚙️) → pestaña "Partes"
  2. Selecciona el mes y el filtro de empresa / cliente
  3. La tabla mostrará todos los registros del periodo
  4. Selecciona el registro que quieres documentar
  5. Haz clic en "Generar Parte Word" para crear el documento en formato .docx
  6. O usa "Generar Parte Manual" para una entrada libre
  7. Los partes se guardan automáticamente en la carpeta Facturación/

Generar Informe PDF Mensual

  1. En la pestaña "Partes", selecciona el mes deseado
  2. Haz clic en "Generar Informe PDF"
  3. El PDF incluirá: KPIs de producción, gráficos de facturación, análisis por cliente y desglose de estados
  4. Se guardará en la carpeta Facturación/ del mes correspondiente

🗑️ Borrar un Servicio desde la Pestaña Partes

Es posible eliminar un servicio directamente desde la tabla de Partes usando el menú contextual (clic derecho). Esta opción borra el servicio de forma completa y consistente en todos los sistemas.

⛔ Solo para estados PENDIENTE y NO FACTURABLE — No se puede borrar un servicio que ya ha pasado por el proceso de facturación. Si necesitas eliminarlo, primero revírtalo a PENDIENTE desde la pestaña Facturación.

Estados y permisos de borrado

Estado¿Se puede borrar?Acción recomendada
PENDIENTE✅ SíBorrado directo disponible
NO FACTURABLE✅ SíBorrado directo disponible
ALB. BORRADOR❌ NoRevertir a PENDIENTE desde Facturación
ALBARANADO❌ NoEl albarán ya fue emitido
FACTURADO❌ NoLa factura ya fue generada
BLOQUEADO❌ NoCiclo cerrado e inamovible

Cómo borrar un servicio paso a paso

  1. Abre Configuración (⚙️) → pestaña «Partes»
  2. Selecciona el mes en el desplegable
  3. Haz clic derecho sobre la fila del servicio que quieres eliminar
  4. En el menú contextual selecciona 🗑️ Borrar servicio
  5. El sistema muestra un diálogo de confirmación con los detalles del servicio
  6. Si el servicio tiene un parte generado, se te avisará específicamente — el archivo DOCX también será eliminado
  7. Confirma con «Sí» para proceder al borrado

Qué se elimina exactamente

⚠️ Nota importante — El borrado es irreversible. Si tienes dudas, haz antes una copia de seguridad de data.json. La numeración de partes ya generados no se ve afectada.

Módulo de Facturación

Accede desde Configuración (⚙️) → pestaña "Facturación". Usa el botón ? (esquina superior derecha) para ver la ayuda contextual completa en cualquier momento.

EstadoSignificado
PENDIENTETiempo registrado, aún sin albaranar
ALB. BORRADORAlbarán en proceso de revisión; precios congelados
ALBARANADOAlbarán emitido con número oficial
FACTURADOFactura externa generada (Holded / FACe)
NO FACTURABLETrabajo registrado pero sin coste económico
BLOQUEADOCiclo cerrado; registro inmutable

Flujo para generar un albarán

  1. Selecciona un servicio en estado PENDIENTE
  2. Haz clic en ✅ Revisar (Borrador) — los precios quedan congelados
  3. El diálogo 🛠️ Editar Servicio se abre automáticamente para revisar importes
  4. Cierra el diálogo y haz clic en 🧾 Generar Albarán
  5. El sistema asigna un número único y crea el DOCX en Facturación/
ℹ️ Consejo — Puedes agrupar varios servicios del mismo cliente en un solo albarán seleccionándolos todos antes de hacer clic en «Generar Albarán».

📱 Importar desde App Móvil (JSON)

Los registros creados con la app Android de TimeTracker se exportan como JSON y pueden importarse directamente en el programa de escritorio:

  1. En la app móvil, exporta los registros como archivo .json
  2. Transfiere el archivo al PC (correo, USB, nube…)
  3. En TimeTracker de escritorio: Configuración (⚙️) → General → "Importar JSON de App Móvil"
  4. Selecciona el archivo descargado
  5. El sistema importa todos los registros y los vincula automáticamente con las empresas y clientes existentes
Campo del JSONComportamiento en la importación
empresa_id / cliente_idSe usan para vincular la empresa y cliente. Si no existen, se crean automáticamente.
materiales_detalleSe importa como líneas independientes en el grid de Materiales/Componentes (una fila por artículo, con cantidad).
materialesSolo se usa si no existe materiales_detalle. Se carga como texto libre en una sola fila.
kmSe pre-rellena en el campo KM de «Editar Servicio», pero el usuario debe activar «Desplazamiento por KM» manualmente.
observacionesSiempre como texto plano. Nunca se mezcla con datos estructurados.
⚠️ Reimportación — Si importas un archivo JSON que ya importaste previamente, el sistema detecta los registros existentes (por ID) y actualiza automáticamente los materiales si ahora vienen en formato estructurado (materiales_detalle). No se crean duplicados.

6 Edición de Datos — Historial vs Servicio

⛔ IMPORTANTE — Lee esto con atención
Hay dos formas distintas de editar un registro de tiempo. Usar la incorrecta puede causar inconsistencias en la facturación. Aquí te explicamos la diferencia:

📋 Editar Historial

Dónde: Panel principal → Registro de Actividad → Doble clic en un registro

Qué modifica:

  • Hora de inicio y fin
  • Descripción del trabajo
  • Empresa y cliente asignados
  • Si es facturable o no
  • Materiales básicos

Cuándo usarlo: Para corregir datos de la sesión de trabajo en sí (errores en horas, descripción, asignación a empresa)

💶 Editar Servicio

Dónde: Configuración (⚙️) → Facturación → Seleccionar servicio → Editar

Qué modifica:

  • Precio €/hora aplicado
  • IVA y Retención (IRPF/ISR)
  • Descuento (en € o % sobre el subtotal)
  • Coste de materiales sin especificar
  • Coste de desplazamiento (manual o por KM)
  • Urgencia y recargos
  • Estado de facturación
  • Notas para el albarán

Cuándo usarlo: Para ajustar los importes económicos, materiales o estado del servicio en el contexto de facturación

Resumen de cuándo usar cada uno

SituaciónQué usar
Me equivoqué en la hora de inicio o fin✅ Editar Historial
Asigné mal la empresa o el cliente✅ Editar Historial
Quiero cambiar la descripción del trabajo✅ Editar Historial
Quiero añadir/editar materiales con cantidad y precio✅ Editar Historial (grid de Materiales)
Quiero cambiar el precio/hora del servicio✅ Editar Servicio
Quiero facturar el desplazamiento por kilómetros✅ Editar Servicio → Desplazamiento por KM
Quiero marcar como Albaranado o Facturado✅ Editar Servicio
Quiero aplicar un descuento en este servicio concreto✅ Editar Servicio

🛣️ Desplazamiento por KM — Nueva Funcionalidad

Permite facturar el desplazamiento en función de los kilómetros realizados, en lugar de usar un precio fijo global o manual. Es la opción de mayor prioridad: cuando está activa, ignora completamente el precio de desplazamiento manual y el global de configuración.

📍 UbicaciónEditar Servicio → Precios Personalizados → 🛣️ Desplazamiento por KM

Cómo usarlo paso a paso

  1. Abre Editar Servicio en la pestaña Facturación
  2. Asegúrate de que el campo Desplazamiento del registro está marcado como «SI (facturable)» (se configura en Editar Historial)
  3. En la sección «Precios Personalizados», marca la casilla 🛣️ Desplazamiento por KM
  4. Introduce el número de KM realizados
  5. Introduce el Precio por km (ej: 0,25 €/km)
  6. El sistema muestra el cálculo en tiempo real: = 120 km × 0,250 €/km → 30,00 €
  7. Guarda — el albarán generado mostrará: «Desplazamiento 120 km x 0,25 €/km»
MétodoPrioridadCuándo aplica
🛣️ Desplazamiento por KM (activo)🥇 MáximaCheckbox marcado + KM y €/km > 0
Precio manual de desplazamiento🥈 MediaValor > 0 en «Desplazamiento» (€)
Precio global de configuración🥉 MínimaSin ningún ajuste manual
⚠️ Compatibilidad con app móvil — Si el registro proviene de la app Android y contiene el campo km, ese valor se pre-rellena automáticamente en el spinner de KM al abrir «Editar Servicio». Sin embargo, el checkbox permanece desmarcado: el técnico debe activarlo manualmente para confirmar que desea facturar por KM.

🔧 Materiales por Línea — Grid de Materiales/Componentes

Los materiales utilizados en un servicio pueden registrarse con total detalle: artículo, cantidad y precio unitario. Cada uno aparece como una línea independiente en el albarán generado.

Desde el programa de escritorio

  1. Abre Editar Historial (doble clic en el registro del historial)
  2. En la sección «Materiales / Componentes», usa el grid editable
  3. Cada fila permite: nombre del artículo, cantidad y precio unitario
  4. Los botones y añaden y eliminan filas
  5. Al guardar, los materiales quedan vinculados al registro

Desde la app móvil (importación)

Cuando la app móvil exporta registros con el campo materiales_detalle (formato estructurado), cada artículo se importa automáticamente en una línea independiente del grid, con su cantidad correcta. El campo materiales (texto libre) solo se usa como alternativa si materiales_detalle no está presente.

✅ Resultado en el albarán — Cada material aparece en una fila separada de la tabla del albarán, con su descripción, cantidad, precio unitario e importe total. No se mezclan en una sola línea.
⚠️ Precaución — Si modificas las horas de un servicio que ya está albaranado, el importe del albarán puede quedar desincronizado. Recomendamos no modificar horas de servicios ya facturados.

7 Apariencia: Color, Opacidad y Escala

Dentro de Configuración → General, la sección «Apariencia» permite personalizar completamente el aspecto visual de la aplicación:

💡 Consejo — Si la ventana queda de un color o tamaño que la hace difícil de usar, usa siempre «↩️ Restablecer Estética Segura» para volver a los valores seguros.

8 Reportes Excel Automáticos

TimeTracker genera automáticamente archivos Excel con 4 hojas:

HojaContenido
Registros (Día/Mes)Fecha, Día, Semana, Empresa, Dpto/Usuario, Motivo, Tipo Entrada, Facturable, Desplazamiento, Materiales, Observaciones, Hora Inicio, Hora Fin, Duración Total, Duración Decimal. Incluye fórmula SUBTOTAL automática en la columna Duración Decimal.
PausasFecha, Empresa, Hora Inicio/Fin, Motivo, Duración, Duración Decimal.
DashboardTablas resumen y gráficas circulares de distribución por empresa y por cliente.
FacturaciónEmpresa, Dpto/Usuario, Horas Decimales Facturables, con fórmula SUM total.

Los anchos de columna se ajustan automáticamente al texto de las cabeceras. Las entradas manuales se resaltan en rojo, las importadas en verde claro, y las filas alternas tienen fondo azul claro.

Archivos Generados

Se regeneran automáticamente cada 5 minutos, al iniciar/detener tiempo, y al cerrar la aplicación.

⚠️ Archivo bloqueado — Si el archivo Excel está abierto en otro programa, TimeTracker detecta el bloqueo y guarda una copia de respaldo con sufijo _COPIA_XXXX.xlsx. Aparecerá un aviso Toast naranja. Cierra el archivo en Excel y el siguiente ciclo lo regenerará correctamente.

9 Sistema de Inactividad Inteligente (Smart Idle)

TimeTracker monitoriza la actividad del teclado y ratón del sistema operativo para ofrecer dos niveles de protección contra olvidos:

Pausa Automática por Inactividad (>10 minutos)

Si tienes el cronómetro activo y no tocas el PC durante más de 10 minutos, el sistema pausará automáticamente la sesión con motivo «Inactividad (Sistema >10m)» y te preguntará si deseas reanudar al volver.

Recordatorio Smart Idle (Estado Pausa/Detenido)

Si el programa está en estado PAUSA o DETENIDO y detecta actividad del usuario en el PC (inactividad < 5 seg), lanza un recordatorio visual:

«Se ha detectado actividad, pero el tiempo está parado
¿Revisa el programa si deseas reanudar el registro?»

El recordatorio ofrece opciones de delay: 1 min, 3 min, 5 min, o «No volver a mostrar hasta reiniciar».

Alertas de Salud

10 Bandeja del Sistema (Tray Icon)

Al minimizar o ejecutar, la aplicación muestra un icono en la bandeja del sistema de Windows con las siguientes características:

ℹ️ Nota — Aunque cierres la ventana principal pulsando ✕, la aplicación seguirá ejecutándose en segundo plano (bandeja del sistema) si hay un cronómetro activo. Usa «Salir» desde el menú contextual de la bandeja para cerrar completamente.

11 Copias de Seguridad y Licencia

El archivo license.dat — Tu licencia

⛔ CRÍTICOlicense.dat es el archivo más importante del programa. Sin él, el programa pedirá una nueva activación y necesitarás un nuevo código de licencia. Trátalo como si fuera el programa mismo.

Este archivo contiene:

Reglas obligatorias sobre license.dat

❌ NO hagas esto nunca:
  • No borres license.dat
  • No abras ni edites el archivo (está cifrado — si lo modificas quedará corrupto)
  • No copies el archivo a otro equipo y lo uses allí (está ligado al hardware original)
  • No lo incluyas en correos electrónicos ni lo compartas publicamente
✅ SÍ haz esto:
  • Guarda una copia de license.dat en un lugar seguro (USB, nube privada, correo propio)
  • Si el equipo falla, necesitarás contactar con soporte para reactivar en el hardware nuevo
  • Si actualizas el programa, NO toques license.dat — sobrevive automáticamente

El archivo data.json — Todos tus datos

Este archivo contiene todo tu historial de trabajo, configuración, empresas, clientes y preferencias. Si se pierde, perderás todos tus registros históricos.

⚠️ Recomendación — Haz una copia de seguridad periódica (semanal o mensual) de:

  • license.dat
  • data.json
  • La carpeta Facturación/ con todos tus documentos
El programa también crea copias automáticas de data.json en la carpeta backups/.

Cómo hacer una copia de seguridad manual

  1. Cierra el programa antes de copiar para asegurarte de que los datos están guardados
  2. Ve a la carpeta donde está TimeTracker.exe
  3. Copia los archivos: license.dat, data.json
  4. Copia también la carpeta Facturación/ si quieres conservar los documentos generados
  5. Pégalos en una ubicación segura (USB, carpeta en la nube, etc.)

También puedes exportar tus datos desde dentro del programa: Configuración (⚙️) → General → "Exportar JSON".

12 Cómo Actualizar el Programa

Actualizar TimeTracker es muy sencillo y completamente seguro para tu licencia y datos, siempre que sigas estas instrucciones:

✅ Proceso correcto de actualización:
  1. Cierra el programa si está abierto
  2. Copia el nuevo TimeTracker.exe a la misma carpeta donde está el actual
  3. Windows preguntará si quieres reemplazarlo → di que
  4. Abre el programa normalmente
  5. Tu licencia, datos e historial siguen exactamente igual
❌ NO hagas esto al actualizar:
  • No borres license.dat — perderías tu licencia
  • No borres data.json — perderías todo el historial
  • No elimines las carpetas data/, Facturación/, backups/
  • No reinstales el programa en una carpeta distinta y te olvides de mover los archivos
ℹ️ Cómo funciona — Al actualizar solo reemplazas el ejecutable (.exe). El programa nunca sobrescribe ni regenera license.dat si ya existe. Tu licencia es un archivo completamente independiente del ejecutable.

¿Qué pasa si instalo en una carpeta diferente?

Si por cualquier razón instalas el nuevo .exe en una carpeta diferente, debes copiar manualmente los archivos críticos:

13 Resolución de Problemas y Errores Comunes

🔴 El programa dice que la licencia no es válida o ha cambiado

Causa más frecuente — El hardware del equipo ha cambiado (cambio de disco duro, placa base, tarjeta de red) o se está intentando usar la licencia en otro equipo distinto.

Solución:

🔴 He borrado license.dat accidentalmente

Solución:

🔴 Los albaranes o facturas muestran 0€ o datos en blanco

⚠️ Causa — Falta de configuración inicial de datos de empresa o precio/hora.

Solución:

🔴 El logo no aparece en los documentos

Solución:

🔴 Modifiqué las horas de un servicio y el albarán tiene un importe diferente

Causa: Has usado "Editar Historial" (modifica horas reales) pero el albarán que ya se generó tiene los importes antiguos.

Solución:

🔴 Tras actualizar el programa, los datos han desaparecido

⛔ Causa probable — El nuevo ejecutable se instaló en una carpeta diferente a la anterior, o se borró data.json durante la actualización.

Solución:

🔴 El programa no abre o se cierra inmediatamente

Pasos a seguir:

  1. Verifica que license.dat existe y no ha sido modificado
  2. Comprueba que no tienes una versión anterior del programa abierta (busca en la bandeja del sistema)
  3. Si el problema persiste tras una actualización, restaura el .exe anterior temporalmente
  4. Contacta con soporte indicando el mensaje de error exacto que aparece

🔴 El tiempo no se registra correctamente / hay desfase en las horas

Causas posibles:

Solución: Usa "Añadir registro manual" (botón ➕) para corregir o completar el tiempo que falta. Posteriormente, "Editar Historial" para ajustar los horarios exactos.

🔴 El archivo Excel está bloqueado y no se puede guardar

Causa: El archivo .xlsx está abierto en Microsoft Excel u otro programa.

Solución:

🔴 Aparece el error «TRIAL_LIMIT» — versión de prueba limitada

Causa: La versión de prueba permite un máximo de 20 registros y se ha alcanzado ese límite.

Solución: Activa tu licencia desde Configuración (⚙️) → pestaña «Licencia de Software» → introducir el código de activación y pulsar «ACTIVAR AHORA».

🔴 No se genera el parte de trabajo en Word

Causa: Falta la plantilla parte_trabajo.docx.

Solución:

🔴 No aparecen empresas en la pantalla principal

Causa: No hay empresas registradas en data.json.

Solución: Ve a Configuración (⚙️) → «Empresas (CSV)» → Añadir empresa, o importa desde Excel usando el botón «📥 IMPORTAR DESDE EXCEL».

📋 Tabla Rápida de Diagnóstico

SíntomaCausa más probableAcción
«Licencia inválida» al iniciarHardware cambiado o license.dat corruptoRestaurar copia o contactar soporte
Albarán con 0€Precio/hora = 0Configurar precio en Facturación
Nombre en blanco en documentosDatos de empresa no configuradosEditar datos de usuario en Licencia
Sin logo en documentosArchivo logo.png no existeRecargar logo en Configuración
Datos perdidos tras actualizaciónNueva carpeta sin data.jsonCopiar data.json desde carpeta anterior
Importe incorrecto en albaránHoras editadas después de albaranarRegenerar documento desde Facturación
El programa no arrancalicense.dat dañado o ausenteRestaurar license.dat desde copia
Excel bloqueado al exportarArchivo .xlsx abierto en ExcelCerrar Excel; se habrá guardado copia _COPIA_XXXX.xlsx
Error «TRIAL_LIMIT»Versión de prueba con 20+ registrosActivar licencia en Configuración → Licencia de Software
No se genera el parte WordFalta plantilla parte_trabajo.docxVerificar que existe en Partes/ o raíz del programa
Sin empresas en pantalla principaldata.json sin empresas registradasIr a Configuración → Empresas → Añadir o importar Excel
CSV Holded con 1 sola línea y sin materialesVersión anterior del exportadorActualizar el programa a v3.2 — ahora genera 1 fila por artículo
Descuadre de 1 céntimo en FACeTaxAmount calculado sobre base globalActualizar a v3.2 — el IVA de cabecera ya se suma por línea
Error de PersonTypeCode «J» en autónomoTipo de persona no detectado automáticamenteActualizar a v3.2 — se detecta auto por formato DNI/NIE/CIF
ℹ️ Soporte técnico — Para cualquier problema no resuelto, contacta con soporte indicando: el Nº de Serie del Programa (visible en Configuración → Licencia de Software) y una descripción del error. Con esa información podremos ayudarte mucho más rápido.

14 📤 Exportaciones Holded y FACe — Novedades v3.2

La versión 3.2 corrige y mejora los tres pilares del módulo de exportación a sistemas externos: el importador Holded (CSV/XLSX) y el generador de XML Facturae 3.2.2 para FACe.

🧾 Holded CSV/XLSX — Exportación por artículo (una fila por línea)

En versiones anteriores, el CSV de Holded generaba una única fila por servicio que sumaba mano de obra + materiales en un solo importe. Esto impedía que Holded reconociera el desglose de artículos.

✅ Comportamiento actual (v3.2) — El exportador genera una fila por cada concepto del servicio. El número de factura se repite en todas las filas para que Holded las agrupe automáticamente.

Líneas que genera el exportador por cada servicio

LíneaConcepto en HoldedBase
1Mano de obra (motivo del servicio)Horas × €/hora
2…NCada material del grid (nombre del artículo)Cantidad × precio unitario
N+1Coste de Materiales adicionales (no detallados)Importe numérico global
N+2Desplazamiento (con km y €/km si aplica)Importe calculado
N+3Recargo por urgenciaImporte de urgencia
N+4Descuento aplicadoImporte negativo
⚠️ Nota — Solo se emiten las líneas con importe > 0 (o < 0 para el descuento). Si un servicio no tiene desplazamiento, esa fila no se escribe. Los materiales del campo «sin especificar» solo se añaden si son > 0,00 €.

Estructura del CSV generado

ColumnaDescripción
NumberNúmero de factura/albarán — idéntico en todas las filas del mismo documento
DateFecha de emisión (formato dd/mm/yyyy exigido por Holded)
Due DateFecha de vencimiento (dd/mm/yyyy)
ContactNombre del cliente/empresa
ConceptDescripción del artículo o concepto
BaseImporte sin IVA de esa línea
TaxPorcentaje de IVA (sin símbolo, ej. 21)
TotalBase + IVA de esa línea

🏛️ FACe XML — Corrección del redondeo de 1 céntimo en TaxAmount

El estándar Facturae 3.2.2 exige que el <fe:TaxAmount> del bloque <fe:TaxesOutputs> de cabecera sea exactamente igual a la suma de los <fe:TaxAmount> de cada <fe:InvoiceLine>. En versiones anteriores, estos valores podían diferir en ±0,01 € al calcularse de forma independiente sobre la base global.

✅ Corrección aplicada (v3.2) — El IVA de cabecera se calcula ahora como la suma acumulada de los redondeos por línea, igual que el motor de FACe lo valida.
ℹ️ Ejemplo del problema resuelto — Si un servicio tiene 4 líneas de materiales con importes que acumulan redondeos de 0,005 € cada una, la suma total puede ser 0,01 € mayor o menor que aplicar el IVA sobre la base agregada de golpe. El nuevo método evita cualquier descuadre.

🆔 FACe XML — Detección automática de Persona Física / Jurídica

Anteriormente, todos los terceros (clientes y emisores) se clasificaban siempre como Persona Jurídica (J) en el XML Facturae, lo que provocaba errores de validación en FACe cuando el cliente era un autónomo con DNI o NIE.

✅ Comportamiento actual (v3.2) — El sistema analiza automáticamente el NIF/CIF del cliente y asigna el PersonTypeCode correcto, usando además el bloque XSD adecuado para cada tipo.

Reglas de detección automática

Formato del identificadorEjemploTipo asignadoBloque XSD
DNI: 8 dígitos + 1 letra 12345678Z F — Persona Física <Individual> con Name / FirstSurname / SecondSurname
NIE: X/Y/Z + 7 dígitos + 1 letra X1234567L F — Persona Física <Individual> con Name / FirstSurname / SecondSurname
CIF: letra (excl. X/Y/Z) + 7 dígitos + control B12345678 J — Persona Jurídica <LegalEntity> con CorporateName
Formato desconocido (fallback) J (por defecto) <LegalEntity>
⚠️ Nombre de autónomos — Para que FACe valide correctamente el bloque <Individual>, el nombre completo del cliente autónomo debe estar introducido con el formato: Nombre PrimerApellido SegundoApellido (separados por espacios). El sistema divide automáticamente los tres campos del XSD a partir de ese formato.
ℹ️ Sin acción requerida — La detección es completamente automática. No es necesario configurar nada: basta con tener el NIF/CIF correct introducido en los datos del cliente.

15 📱 App Móvil TimeTracker — Manual Completo

La App Móvil de TimeTracker es una Progressive Web App (PWA) diseñada para que el técnico en campo pueda registrar sus trabajos de forma rápida desde el móvil. Los datos se sincronizan con el programa de escritorio mediante exportación/importación JSON.

ℹ️ ¿Qué es una PWA? — Es una aplicación web que funciona como una app nativa. Se instala directamente desde el navegador en cualquier móvil Android o iOS, sin necesidad de pasar por ninguna tienda de aplicaciones.

📋 Requisitos e Instalación

ElementoRequisito
DispositivoAndroid 8+ o iOS 13+ (cualquier smartphone moderno)
NavegadorChrome (recomendado), Firefox, Safari
ConexiónSolo para la primera carga — después funciona 100% offline
CámaraRequerida solo para escanear QR de licencia

Cómo instalar la app en el móvil

  1. Abre Chrome en el móvil y navega a la URL donde está alojada la app (proporcionada por el administrador)
  2. Pulsa el botón de menú (⋮) en Chrome → «Añadir a pantalla de inicio»
  3. Confirma el nombre y pulsa «Añadir»
  4. El icono de TimeTracker aparecerá en tu pantalla de inicio como si fuera una app nativa
  5. Ábrela: la primera vez cargará todos los recursos y quedará disponible sin conexión

⚙️ Primera Configuración — Paso a Paso

⛔ IMPORTANTE — La app no funcionará hasta que tenga una licencia activa. Sin licencia, el botón «Guardar Trabajo» estará bloqueado.

✅ Checklist de Primera Puesta en Marcha

  • Instalar la app en el móvil
  • Activar la licencia (QR o código manual)
  • Configurar datos de empresa y técnico
  • Subir el logo de empresa (opcional)
  • Importar la lista de empresas y clientes desde el PC

🔑 Activación de Licencia

La licencia de la app se vincula al código de licencia del programa de escritorio. Hay dos métodos para activarla:

📷 Método 1: Escanear QR (Recomendado)

  1. En el PC: Configuración → Licencia de Software → «📱 Generar QR para APP»
  2. Aparece un QR en pantalla con el código cifrado
  3. En el móvil: abre la app → ⚙️ Configuración → «Escanear QR»
  4. Apunta la cámara al QR del PC
  5. La licencia se activa automáticamente

✍️ Método 2: Código Manual

  1. En el PC: copia el código de licencia desde Configuración → Licencia de Software
  2. En el móvil: ⚙️ Configuración → campo «Código de Licencia»
  3. Pega el código
  4. Pulsa «Activar Licencia»
✅ Licencia activa — Cuando la licencia está correctamente activada, verás el badge «✅ Licencia activa» en verde en la pantalla de Configuración.
⚠️ Seguridad — El código de licencia está firmado con HMAC-SHA256. La app verifica la firma criptográfica antes de activarse. Un código modificado o incorrecto será rechazado.

⚙️ Panel de Configuración de la App

Accede pulsando el icono ⚙️ en la esquina superior derecha. Encontrarás las siguientes secciones:

SecciónContenido
Datos de EmpresaNombre, CIF/DNI/NIE, dirección, CP y ciudad, teléfono, email
TécnicoNombre del técnico que aparecerá en el parte de servicio
Logo de EmpresaImagen JPG/PNG/WebP (máx. 5 MB, se redimensiona automáticamente). Aparece en los partes PDF generados
Licencia de UsoBadge de estado + campo de código manual + botón «Escanear QR»
Empresas y ClientesAcceso al gestor de empresas y clientes (botón «Gestionar»)
💡 Nota — Los IDs internos (EMP-XXXX / CLI-XXXX) son inmutables: se asignan al crear la empresa y garantizan que los registros exportados se vinculen correctamente al importarlos en el programa de escritorio.

🏢 Gestión de Empresas y Clientes

Desde Configuración → «Gestionar Empresas y Clientes» puedes:

⚠️ Método recomendado — En lugar de crear las empresas a mano, lo más eficiente es importar directamente la base de datos del PC. Ve a la pestaña Exportar → «Importar Clientes (JSON)» y selecciona el archivo exportado desde el programa de escritorio.

🧭 Navegación de la App

La app tiene una barra de navegación inferior con 4 pestañas:

PestañaIconoFunción
ListaVer todos los trabajos guardados en el dispositivo
NuevoCrear un nuevo registro de trabajo (pantalla principal)
Exportar📤Descargar los registros en JSON para importar al PC
Importar📥Importar un JSON externo (p.ej. lista de clientes del PC)

✏️ Crear un Nuevo Trabajo

La pantalla principal (pestaña «Nuevo») está dividida en 5 bloques:

Bloque 1 — Detalles del Trabajo

Bloque 2 — Registro de Tiempo

Hay dos formas de registrar el tiempo:

⏱️ Cronómetro en Vivo

  1. Pulsa «▶ Iniciar» al comenzar el trabajo
  2. El contador verde muestra el tiempo transcurrido en tiempo real
  3. Pulsa «⏸ Pausa» para pausar sin perder el tiempo
  4. Pulsa el contador rojo («⏹ HH:MM») para detener y registrar la hora de fin

🕐 Entrada Manual de Horas

  1. Introduce directamente la Hora de Inicio en el campo de tiempo
  2. Introduce la Hora de Fin
  3. La duración se calcula automáticamente y se muestra en el display
💡 Consejo — El cronómetro sigue corriendo aunque cambies de pantalla o minimices la app. Al volver, encontrarás el tiempo actualizado.

Bloque 3 — Facturación y Extras

⚠️ Nota — Los km se guardan en el campo km del JSON exportado. Al importarlos al PC, el valor se pre-rellena automáticamente en el spinner de KM del diálogo «Editar Servicio», pero el técnico de oficina debe activar el checkbox «Desplazamiento por KM» manualmente para validarlo.

Bloque 4 — Material Instalado

Toggle para indicar si se instaló material. Al activarlo aparece el grid de materiales:

✅ Compatibilidad con el PC — Cada artículo del grid se importa al PC como una línea independiente en el grid de Materiales/Componentes del historial, con su nombre y cantidad correcta.

Bloque 5 — Firma y Documento PDF

ℹ️ PDF generado — El PDF incluye: datos de empresa, datos del cliente, fecha y horas del trabajo, descripción, materiales, km de desplazamiento, observaciones y firma del cliente. El PDF se genera íntegramente en el navegador sin servidor.

Guardar el Trabajo

  1. Rellena todos los campos obligatorios (empresa, cliente, trabajo, hora inicio/fin)
  2. Añade materiales, desplazamiento y firma si procede
  3. Pulsa el botón azul «💾 Guardar Trabajo»
  4. Si tienes el toggle PDF activado, el navegador abrirá el PDF para que puedas compartirlo o descargarlo
  5. El registro queda guardado en el dispositivo y aparecerá en la pestaña Lista

📋 Lista de Trabajos Guardados

La pestaña «Lista» muestra todos los registros guardados en el dispositivo, ordenados del más reciente al más antiguo. Cada tarjeta muestra:

Borrar todos los registros

El botón «🗑️ Eliminar todo» borra todos los registros del dispositivo. Antes de confirmar, el sistema muestra un diálogo de advertencia con dos opciones:

⛔ Irreversible — Una vez borrados, los registros no pueden recuperarse. Usa siempre «Exportar y borrar» para no perder datos.

📤 Exportar e Importar Datos

Exportar registros de trabajo al PC

  1. Ve a la pestaña «📤 Exportar»
  2. Comprueba el contador de registros disponibles
  3. Pulsa «⬇️ Descargar JSON Trabajos»
  4. El archivo timetracker_registros_YYYY-MM-DD.json se descarga en el móvil
  5. Transfiere el archivo al PC (correo, WhatsApp, cable USB, nube…)
  6. En el PC: Configuración → General → «Importar JSON de App Móvil»

Exportar/Importar lista de clientes

En la misma pestaña Exportar, en la sección «Gestión de Clientes»:

BotónFunción
Exportar Clientes (JSON)Descarga la lista de empresas y clientes de la app en formato JSON
Importar Clientes (JSON)Carga una lista de clientes desde un archivo JSON (p.ej. generado por el PC)
✅ Flujo recomendado — Para tener la misma base de datos de clientes en el móvil que en el PC: exporta los clientes desde el programa de escritorio (Configuración → Empresas → botón «Exportar para APP»), transfiere el JSON al móvil e impórtalo en la app.

Importar JSON externo (pestaña «📥 Importar»)

El botón «📥 Importar» en la barra de navegación inferior abre el selector de archivos del móvil. Puedes cargar cualquier archivo .json compatible (exportado de otra instancia de la app, por ejemplo).

🔄 Flujo Completo de Trabajo: Móvil → PC

  1. Campo: técnico abre la app, crea el registro, introduce materiales y firma el cliente
  2. PDF: la app genera automáticamente el parte en PDF — se puede compartir al cliente en el momento
  3. Exportar: al final del día o la semana, técnico exporta los registros como JSON
  4. Transferir: el JSON llega al PC (correo, nube, USB…)
  5. Importar en PC: Configuración → General → «Importar JSON de App Móvil» — los registros se integran en el historial
  6. Facturar: los registros importados aparecen en la pestaña Facturación con estado PENDIENTE, listos para generar albarán
ℹ️ Sin duplicados — Si importas el mismo JSON varias veces, el sistema detecta los registros por ID interno y no crea duplicados. Solo actualiza los campos que hayan cambiado (p.ej. materiales en formato estructurado).

🔧 Resolución de Problemas — App Móvil

SíntomaCausa probableSolución
No aparece «Guardar Trabajo»Licencia no activadaActivar licencia con QR o código manual
El QR no se escaneaPoca iluminación o cámara sin permisosDar permisos de cámara en Android/iOS al navegador
No hay empresas en los desplegablesNo se han importado clientesImportar JSON de clientes desde el PC
El PDF no se generaBloqueador de pop-ups activoPermitir pop-ups para esta URL en el navegador
La app no funciona sin conexiónNo se completó la carga inicialAbrir con conexión al menos una vez para cachear los recursos
Al importar al PC aparece error de formatoArchivo JSON dañado o edición manualNo editar el JSON a mano — usar siempre el botón de exportar de la app
Los km no aparecen en «Editar Servicio»El campo km se transfiere pero el checkbox de KM no se activa automáticamenteActivar manualmente «🛣️ Desplazamiento por KM» en Editar Servicio