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:
🕐 Registrar el tiempo dedicado a cada cliente o empresa
📄 Generar partes de trabajo automáticamente
💶 Calcular la facturación en base a horas trabajadas, materiales y desplazamientos
📊 Obtener informes mensuales en Excel y PDF
📋 Exportar datos a sistemas de facturación externos
¿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 / Carpeta
Para qué sirve
¿Crítico?
TimeTracker.exe
El programa principal
Sí
license.dat
Tu licencia activada y datos de hardware
🔴 CRÍTICO
data.json
Toda la configuración, historial y datos
🔴 CRÍTICO
data/
Logo de empresa y logs internos
Importante
iconos/
Iconos del programa
Menor
Facturación/
Facturas, albaranes y partes generados
Importante
backups/
Copias automáticas de data.json
Recomendado
2 Requisitos e Instalación
Requisitos del Sistema
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)
Proceso de Instalación
Copie la carpeta completa del programa a una ubicación permanente, por ejemplo C:\Herramientas\TimeTracker\.
Haga doble clic sobre TimeTracker.exe.
En el primer arranque, la aplicación creará automáticamente los directorios necesarios: backups/, REPORTES/, Partes/, Informes mensuales/.
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.
Abre el programa y haz clic en el botón ⚙️ (engranaje) en la barra superior
Ve a la pestaña "Licencia de Software"
Introduce tu código de activación en el campo de texto (el código se convierte automáticamente a mayúsculas)
Haz clic en el botón "ACTIVAR AHORA"
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.
En el diálogo de Configuración (⚙️), pestaña "Licencia de Software"
Haz clic en "✏️ Editar datos de usuario"
Rellena todos los campos: nombre de empresa, NIF/CIF, dirección, CP, ciudad, provincia, teléfono, email
Si generas facturas, introduce también el IBAN bancario
Guarda los cambios
Paso 3 — Configurar el logotipo
En la pestaña "Licencia de Software", haz clic en "🖼️ Cambiar logo"
Selecciona un archivo de imagen (PNG, JPG, BMP)
El programa redimensiona automáticamente la imagen al tamaño adecuado para documentos
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€.
En Configuración (⚙️), ve a la pestaña "Facturación"
Configura el Precio por hora por defecto (tarifa estándar que se aplicará a todos los servicios)
Configura el IVA aplicable
Si tienes tarifas distintas por empresa, podrás ajustarlas individualmente al crear cada servicio
⛔ Crítico — Si 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:
Color de fondo: personaliza el color del panel principal
Escala / Tamaño: ajusta el tamaño del panel
Tiempo de inactividad: el programa puede detectar que no estás trabajando y pausar automáticamente
Exportar / Importar datos: puedes exportar tus datos a JSON para hacer copias de seguridad manuales o para importar desde otro dispositivo
Pestaña: Empresas (CSV)
Gestiona las empresas o clientes a los que facturas tiempo:
Añadir empresa: crea una nueva empresa con nombre, iniciales y color identificativo
Editar empresa: modifica datos de una empresa existente
Eliminar empresa: desactiva una empresa (sus registros históricos se conservan)
Cambiar color/iniciales: personaliza la apariencia del botón de esa empresa
Editar clientes/usuarios: cada empresa puede tener múltiples usuarios o departamentos asociados
⚠️ 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ámetro
Descripción
Precio €/hora por defecto
Tarifa base aplicada a todos los servicios
IVA (%)
Porcentaje de IVA aplicado en albaranes y facturas
IBAN
Aparece en las facturas como forma de pago
Coste desplazamiento
Importe fijo o por km que se añade al servicio
Recargo urgencia
Porcentaje 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:
Zona
Descripción
Barra Superior
Icono de la app + título «⏱️ TimeTracker® v3.2» + botón ❓ Manual + ⚙️ Configuración + — Minimizar + ✕ Cerrar
LED de Estado
🟢 Trabajando / 🟡 Pausa / 🔴 Detenido
Barra de Aviso
Muestra el estado actual con colores pulsantes: «▶️ TRABAJANDO», «⏸️ EN PAUSA» o «⚠️ TIEMPO DETENIDO»
Barra de Totales
Resumen 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 Actividad
Panel inferior con el historial cronológico del día actual. Botón ➕ para añadir registros manuales.
Pie / Firma
Copyright del autor + grip de redimensión
Cómo Iniciar y Detener el Tiempo
Iniciar un Cronómetro
Localiza la tarjeta de la empresa en el panel principal.
Selecciona el departamento/usuario en el desplegable de la tarjeta. Puedes usar el campo «🔍 Filtrar…» para buscar rápidamente.
Haz clic en el botón circular (con las iniciales de la empresa).
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).
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:
Guardará la sesión automáticamente en data.json.
Actualizará los reportes Excel (diario + mensual).
Mostrará la sesión en el Registro de Actividad inferior.
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:
Icono
Tipo 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:
Hora inicio – Hora fin del fragmento.
Icono de estado: ▶ (trabajo) o ⏸ (pausa).
Nombre de la empresa y cliente/departamento (en texto legible, no IDs internos).
Motivo del trabajo o tipo de pausa.
Los registros se agrupan automáticamente si empresa y motivo coinciden en sesiones consecutivas. El código de colores es:
Color
Significado
Verde
Sesión activa (en curso)
Naranja
Pausa
Rojo
Registro manual (entrada añadida a mano)
Blanco/Negro
Registro 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:
Fecha (formato dd/mm/aaaa): Por defecto, la fecha actual.
Hora de Inicio y Hora de Fin (formato HH:MM).
Empresa: Desplegable con todas las empresas registradas.
Cliente/Proyecto: Desplegable que se actualiza según la empresa seleccionada.
Motivo de trabajo: Con autocompletado predictivo.
Tipo de pausa (opcional): Si deseas registrar una pausa pasada.
¿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
Excel Diario (botón verde 📊): exporta los registros del día actual
Excel Mensual (botón azul 📊): exporta todos los registros del mes actual, incluyendo el Dashboard de análisis y la pestaña Gerencia
Generar Partes de Trabajo
Abre Configuración (⚙️) → pestaña "Partes"
Selecciona el mes y el filtro de empresa / cliente
La tabla mostrará todos los registros del periodo
Selecciona el registro que quieres documentar
Haz clic en "Generar Parte Word" para crear el documento en formato .docx
O usa "Generar Parte Manual" para una entrada libre
Los partes se guardan automáticamente en la carpeta Facturación/
Generar Informe PDF Mensual
En la pestaña "Partes", selecciona el mes deseado
Haz clic en "Generar Informe PDF"
El PDF incluirá: KPIs de producción, gráficos de facturación, análisis por cliente y desglose de estados
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
❌ No
Revertir a PENDIENTE desde Facturación
ALBARANADO
❌ No
El albarán ya fue emitido
FACTURADO
❌ No
La factura ya fue generada
BLOQUEADO
❌ No
Ciclo cerrado e inamovible
Cómo borrar un servicio paso a paso
Abre Configuración (⚙️) → pestaña «Partes»
Selecciona el mes en el desplegable
Haz clic derecho sobre la fila del servicio que quieres eliminar
En el menú contextual selecciona 🗑️ Borrar servicio
El sistema muestra un diálogo de confirmación con los detalles del servicio
Si el servicio tiene un parte generado, se te avisará específicamente — el archivo DOCX también será eliminado
Confirma con «Sí» para proceder al borrado
Qué se elimina exactamente
🗑️ Todos los registros del servicio del historial JSON (incluyendo sesiones agrupadas)
🗑️ Las pausas intercaladas vinculadas al servicio
🗑️ El archivo DOCX/PDF del parte del disco (si fue generado)
🔄 Re-exportación automática del Excel de partes y facturación
⚠️ 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.
Estado
Significado
PENDIENTE
Tiempo registrado, aún sin albaranar
ALB. BORRADOR
Albarán en proceso de revisión; precios congelados
ALBARANADO
Albarán emitido con número oficial
FACTURADO
Factura externa generada (Holded / FACe)
NO FACTURABLE
Trabajo registrado pero sin coste económico
BLOQUEADO
Ciclo cerrado; registro inmutable
Flujo para generar un albarán
Selecciona un servicio en estado PENDIENTE
Haz clic en ✅ Revisar (Borrador) — los precios quedan congelados
El diálogo 🛠️ Editar Servicio se abre automáticamente para revisar importes
Cierra el diálogo y haz clic en 🧾 Generar Albarán
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:
En la app móvil, exporta los registros como archivo .json
Transfiere el archivo al PC (correo, USB, nube…)
En TimeTracker de escritorio: Configuración (⚙️) → General → "Importar JSON de App Móvil"
Selecciona el archivo descargado
El sistema importa todos los registros y los vincula automáticamente con las empresas y clientes existentes
Campo del JSON
Comportamiento en la importación
empresa_id / cliente_id
Se usan para vincular la empresa y cliente. Si no existen, se crean automáticamente.
materiales_detalle
Se importa como líneas independientes en el grid de Materiales/Componentes (una fila por artículo, con cantidad).
materiales
Solo se usa si no existe materiales_detalle. Se carga como texto libre en una sola fila.
km
Se pre-rellena en el campo KM de «Editar Servicio», pero el usuario debe activar «Desplazamiento por KM» manualmente.
observaciones
Siempre 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)
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ón
Qué 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ón — Editar Servicio → Precios Personalizados → 🛣️ Desplazamiento por KM
Cómo usarlo paso a paso
Abre Editar Servicio en la pestaña Facturación
Asegúrate de que el campo Desplazamiento del registro está marcado como «SI (facturable)» (se configura en Editar Historial)
En la sección «Precios Personalizados», marca la casilla 🛣️ Desplazamiento por KM
Introduce el número de KM realizados
Introduce el Precio por km (ej: 0,25 €/km)
El sistema muestra el cálculo en tiempo real: = 120 km × 0,250 €/km → 30,00 €
Guarda — el albarán generado mostrará: «Desplazamiento 120 km x 0,25 €/km»
Método
Prioridad
Cuándo aplica
🛣️ Desplazamiento por KM (activo)
🥇 Máxima
Checkbox marcado + KM y €/km > 0
Precio manual de desplazamiento
🥈 Media
Valor > 0 en «Desplazamiento» (€)
Precio global de configuración
🥉 Mínima
Sin 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
Abre Editar Historial (doble clic en el registro del historial)
En la sección «Materiales / Componentes», usa el grid editable
Cada fila permite: nombre del artículo, cantidad y precio unitario
Los botones ➕ y ➖ añaden y eliminan filas
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:
🎨 Color de Fondo: Abre un selector de color para cambiar el fondo de la ventana principal. El texto se ajusta automáticamente (blanco sobre fondos oscuros, negro sobre claros).
🔡 Cambiar Color/Iniciales: Seleccione una empresa en la tabla y modifique el color de su botón y las iniciales (máximo 3 letras).
Slider Opacidad (30–100%): Controla la transparencia de la ventana principal. Los cambios se aplican en tiempo real.
Slider Escala (50–120%): Ajusta el tamaño de las tarjetas de empresa, botones, fuentes y elementos de la interfaz. Los cambios se aplican en tiempo real sin reinicio.
↩️ Restablecer Estética Segura: Vuelve a los valores por defecto (fondo azul oscuro #00007f, opacidad 100%, escala 100%).
💡 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:
Hoja
Contenido
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.
Pausas
Fecha, Empresa, Hora Inicio/Fin, Motivo, Duración, Duración Decimal.
Dashboard
Tablas resumen y gráficas circulares de distribución por empresa y por cliente.
Facturación
Empresa, 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.
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
⚠️ 2 horas continuas: Muestra un Toast naranja recordando levantarse, estirar y beber agua.
⚠️ Pausa >15 min: Notifica que el proyecto lleva pausado demasiado tiempo.
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:
Icono dinámico: Muestra visualmente el estado: tiempo transcurrido sobre el icono (trabajando), «⏸ PAUSA» pulsante (pausa), o «⚠ DETENIDO» pulsante (detenido).
Tooltip: Al pasar el ratón: Empresa / Estado / Tiempo.
Menú contextual: Clic derecho → «Mostrar» o «Salir».
Doble clic: Restaura la ventana principal.
ℹ️ 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ÍTICO — license.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:
Tu código de licencia activado
Los datos de hardware de tu equipo (CPU, disco, red)
La fecha de activación
El tipo de licencia (permanente o temporal)
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
Cierra el programa antes de copiar para asegurarte de que los datos están guardados
Ve a la carpeta donde está TimeTracker.exe
Copia los archivos: license.dat, data.json
Copia también la carpeta Facturación/ si quieres conservar los documentos generados
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:
Cierra el programa si está abierto
Copia el nuevo TimeTracker.exe a la misma carpeta donde está el actual
Windows preguntará si quieres reemplazarlo → di que Sí
Abre el programa normalmente
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 regeneralicense.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:
🔴 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:
Si has cambiado componentes físicos del equipo, necesitarás una nueva activación. Contacta con soporte técnico con el Nº de Serie del Programa
Si no has cambiado hardware, verifica que license.dat existe en la misma carpeta que el ejecutable y no ha sido modificado
Si hiciste una copia de seguridad, restaura el license.dat original
🔴 He borrado license.dat accidentalmente
Solución:
Primero revisa la Papelera de Reciclaje de Windows — si está ahí, restáuralo
Si tienes una copia de seguridad, cópiala de vuelta a la carpeta del programa
Si no tienes copia → necesitarás un nuevo código de activación. Contacta con soporte
🔴 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:
Ve a Configuración (⚙️) → Licencia de Software → "Editar datos de usuario" y comprueba que todos los campos están rellenos
Ve a Configuración (⚙️) → Facturación y verifica que el Precio €/hora no es 0
Los documentos ya generados no se actualizan automáticamente — tendrás que regenerarlos
🔴 El logo no aparece en los documentos
Solución:
Ve a Configuración (⚙️) → Licencia de Software → "🖼️ Cambiar logo"
Selecciona de nuevo el archivo de imagen
Verifica que el archivo existe en la carpeta data/logo.png
Si tras actualizar el programa el logo desapareció, copia manualmente la carpeta data/ desde la instalación anterior
🔴 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:
Si el albarán aún no se ha enviado al cliente, regenera el documento desde Facturación
Si ya se envió, lo correcto es emitir un documento rectificativo
Para evitar esto: no modifiques horas de servicios ya albaranados
🔴 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:
Localiza la carpeta donde estaba la instalación anterior y copia data.json a la nueva ubicación
Si tienes copias en backups/, usa la más reciente
Si usaste la función "Exportar JSON", importa ese archivo desde Configuración → General → "Importar JSON"
🔴 El programa no abre o se cierra inmediatamente
Pasos a seguir:
Verifica que license.dat existe y no ha sido modificado
Comprueba que no tienes una versión anterior del programa abierta (busca en la bandeja del sistema)
Si el problema persiste tras una actualización, restaura el .exe anterior temporalmente
Contacta con soporte indicando el mensaje de error exacto que aparece
🔴 El tiempo no se registra correctamente / hay desfase en las horas
Causas posibles:
El equipo entró en suspensión mientras el cronómetro estaba activo → el tiempo suspendido no se cuenta
Se modificó manualmente el reloj del sistema
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:
Cierra el archivo en Excel.
TimeTracker habrá guardado automáticamente una copia con sufijo _COPIA_XXXX.xlsx en la misma carpeta.
El siguiente ciclo de exportación (cada 5 minutos o al parar el cronómetro) regenerará el archivo principal.
🔴 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:
Verifica que el archivo parte_trabajo.docx existe en la carpeta Partes/ o en la raíz del programa.
Si lo has borrado accidentalmente, cópialo desde una instalación anterior o solicítalo al soporte técnico.
🔴 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íntoma
Causa más probable
Acción
«Licencia inválida» al iniciar
Hardware cambiado o license.dat corrupto
Restaurar copia o contactar soporte
Albarán con 0€
Precio/hora = 0
Configurar precio en Facturación
Nombre en blanco en documentos
Datos de empresa no configurados
Editar datos de usuario en Licencia
Sin logo en documentos
Archivo logo.png no existe
Recargar logo en Configuración
Datos perdidos tras actualización
Nueva carpeta sin data.json
Copiar data.json desde carpeta anterior
Importe incorrecto en albarán
Horas editadas después de albaranar
Regenerar documento desde Facturación
El programa no arranca
license.dat dañado o ausente
Restaurar license.dat desde copia
Excel bloqueado al exportar
Archivo .xlsx abierto en Excel
Cerrar Excel; se habrá guardado copia _COPIA_XXXX.xlsx
Error «TRIAL_LIMIT»
Versión de prueba con 20+ registros
Activar licencia en Configuración → Licencia de Software
No se genera el parte Word
Falta plantilla parte_trabajo.docx
Verificar que existe en Partes/ o raíz del programa
Sin empresas en pantalla principal
data.json sin empresas registradas
Ir a Configuración → Empresas → Añadir o importar Excel
CSV Holded con 1 sola línea y sin materiales
Versión anterior del exportador
Actualizar el programa a v3.2 — ahora genera 1 fila por artículo
Descuadre de 1 céntimo en FACe
TaxAmount calculado sobre base global
Actualizar a v3.2 — el IVA de cabecera ya se suma por línea
Error de PersonTypeCode «J» en autónomo
Tipo de persona no detectado automáticamente
Actualizar 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ínea
Concepto en Holded
Base
1
Mano de obra (motivo del servicio)
Horas × €/hora
2…N
Cada material del grid (nombre del artículo)
Cantidad × precio unitario
N+1
Coste de Materiales adicionales (no detallados)
Importe numérico global
N+2
Desplazamiento (con km y €/km si aplica)
Importe calculado
N+3
Recargo por urgencia
Importe de urgencia
N+4
Descuento aplicado
Importe 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
Columna
Descripción
Number
Número de factura/albarán — idéntico en todas las filas del mismo documento
Date
Fecha de emisión (formato dd/mm/yyyy exigido por Holded)
Due Date
Fecha de vencimiento (dd/mm/yyyy)
Contact
Nombre del cliente/empresa
Concept
Descripción del artículo o concepto
Base
Importe sin IVA de esa línea
Tax
Porcentaje de IVA (sin símbolo, ej. 21)
Total
Base + 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 identificador
Ejemplo
Tipo asignado
Bloque 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
Elemento
Requisito
Dispositivo
Android 8+ o iOS 13+ (cualquier smartphone moderno)
Navegador
Chrome (recomendado), Firefox, Safari
Conexión
Solo para la primera carga — después funciona 100% offline
Cámara
Requerida solo para escanear QR de licencia
Cómo instalar la app en el móvil
Abre Chrome en el móvil y navega a la URL donde está alojada la app (proporcionada por el administrador)
Pulsa el botón de menú (⋮) en Chrome → «Añadir a pantalla de inicio»
Confirma el nombre y pulsa «Añadir»
El icono de TimeTracker aparecerá en tu pantalla de inicio como si fuera una app nativa
Á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)
En el PC: Configuración → Licencia de Software → «📱 Generar QR para APP»
Aparece un QR en pantalla con el código cifrado
En el móvil: abre la app → ⚙️ Configuración → «Escanear QR»
Apunta la cámara al QR del PC
La licencia se activa automáticamente
✍️ Método 2: Código Manual
En el PC: copia el código de licencia desde Configuración → Licencia de Software
En el móvil: ⚙️ Configuración → campo «Código de Licencia»
Pega el código
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ón
Contenido
Datos de Empresa
Nombre, CIF/DNI/NIE, dirección, CP y ciudad, teléfono, email
Técnico
Nombre del técnico que aparecerá en el parte de servicio
Logo de Empresa
Imagen JPG/PNG/WebP (máx. 5 MB, se redimensiona automáticamente). Aparece en los partes PDF generados
Licencia de Uso
Badge de estado + campo de código manual + botón «Escanear QR»
Empresas y Clientes
Acceso 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:
Crear una nueva empresa con nombre, CIF y dirección
Añadir clientes dentro de cada empresa (nombre, CIF, dirección, email, teléfono)
Editar o eliminar cualquier empresa o cliente existente
⚠️ 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ña
Icono
Función
Lista
☰
Ver todos los trabajos guardados en el dispositivo
Nuevo
➕
Crear 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
Empresa: desplegable con todas las empresas configuradas
Cliente: se actualiza automáticamente al cambiar la empresa
Trabajo: descripción del trabajo realizado (campo obligatorio)
El contador verde muestra el tiempo transcurrido en tiempo real
Pulsa «⏸ Pausa» para pausar sin perder el tiempo
Pulsa el contador rojo («⏹ HH:MM») para detener y registrar la hora de fin
🕐 Entrada Manual de Horas
Introduce directamente la Hora de Inicio en el campo de tiempo
Introduce la Hora de Fin
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
Trabajo Facturable: toggle ON/OFF (por defecto activado). Indica si este trabajo genera coste para el cliente.
Añadir Desplazamiento: toggle para registrar kilómetros. Al activarlo aparecen:
Campo Kilómetros (km) realizados
Toggle Desplazamiento Facturable
⚠️ 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:
Cada fila tiene: nombre del material + unidades (cantidad)
Botón ➕ Añadir línea para agregar más artículos
Botón ✕ en cada fila para eliminarla
✅ 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
Canvas de firma: área táctil donde el cliente puede firmar con el dedo
Botón «🗑️ Borrar Firma»: limpia el canvas si se necesita repetir
Toggle «Generar PDF al guardar» (activado por defecto): al guardar el trabajo, se genera automáticamente un parte de servicio en PDF con todos los datos
ℹ️ 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
Rellena todos los campos obligatorios (empresa, cliente, trabajo, hora inicio/fin)
Añade materiales, desplazamiento y firma si procede
Pulsa el botón azul «💾 Guardar Trabajo»
Si tienes el toggle PDF activado, el navegador abrirá el PDF para que puedas compartirlo o descargarlo
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:
Empresa y cliente
Descripción del trabajo
Fecha, hora inicio y hora fin
Duración total calculada
Indicadores de: facturable, desplazamiento, materiales, PDF generado
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:
«Exportar y borrar»: descarga el JSON primero y luego limpia la lista
«Borrar todo»: elimina directamente sin exportar
⛔ 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
Ve a la pestaña «📤 Exportar»
Comprueba el contador de registros disponibles
Pulsa «⬇️ Descargar JSON Trabajos»
El archivo timetracker_registros_YYYY-MM-DD.json se descarga en el móvil
Transfiere el archivo al PC (correo, WhatsApp, cable USB, nube…)
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ón
Funció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
Campo: técnico abre la app, crea el registro, introduce materiales y firma el cliente
PDF: la app genera automáticamente el parte en PDF — se puede compartir al cliente en el momento
Exportar: al final del día o la semana, técnico exporta los registros como JSON
Transferir: el JSON llega al PC (correo, nube, USB…)
Importar en PC: Configuración → General → «Importar JSON de App Móvil» — los registros se integran en el historial
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íntoma
Causa probable
Solución
No aparece «Guardar Trabajo»
Licencia no activada
Activar licencia con QR o código manual
El QR no se escanea
Poca iluminación o cámara sin permisos
Dar permisos de cámara en Android/iOS al navegador
No hay empresas en los desplegables
No se han importado clientes
Importar JSON de clientes desde el PC
El PDF no se genera
Bloqueador de pop-ups activo
Permitir pop-ups para esta URL en el navegador
La app no funciona sin conexión
No se completó la carga inicial
Abrir con conexión al menos una vez para cachear los recursos
Al importar al PC aparece error de formato
Archivo JSON dañado o edición manual
No 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áticamente
Activar manualmente «🛣️ Desplazamiento por KM» en Editar Servicio