Este es un plugin gratuito que puedes descargar aquí y luego instalar en FacturaScripts. Lee la guía de cómo instalar un plugin.
Descargar ContactoDocAuditTrail es un plugin de auditoría para FacturaScripts que registra de forma automática toda la actividad que los usuarios realizan sobre los documentos de compra y venta del sistema, ofreciendo además la posibilidad de revertir cualquier cambio con un solo click.
¿Qué hace?
Cada vez que un usuario crea, modifica o elimina un presupuesto, pedido, albarán o factura (tanto de cliente como de proveedor, incluyendo sus líneas), el plugin captura automáticamente:
Qué cambió exactamente: el valor anterior y el nuevo de cada campo modificado.
Quién lo hizo: usuario (nick), IP desde la que se conectó e identificador de sesión.
Cuándo ocurrió: timestamp preciso del evento.
Sobre qué documento: tipo de entidad, ID, código del documento y cliente/proveedor relacionado.
Toda esta información queda almacenada en una tabla dedicada (doc_audit_log) sin afectar a las tablas originales de FacturaScripts.
Funciones principales
1. Trazabilidad automática sobre 16 entidades
Cubre las 4 cabeceras de venta (PresupuestoCliente, PedidoCliente, AlbaranCliente, FacturaCliente), las 4 de compra equivalentes y las 8 entidades de líneas correspondientes. No requiere configuración: al activar el plugin, todo queda auditado.
2. Listado con filtros avanzados
Pantalla principal con 8 filtros combinables: rango de fechas, usuario, tipo de entidad, tipo de acción (creación/modificación/eliminación/reversión), código de documento, cliente o proveedor, y estado de reversión. Incluye 4 indicadores (KPIs) con totales del día, semana, histórico y rollbacks realizados.
3. Detalle con diff visual
Cada evento se puede inspeccionar con una vista lado a lado en rojo (antes) y verde (después), mostrando campo por campo qué se modificó. Para creaciones y eliminaciones se presenta el snapshot completo del documento.
4. Timeline cronológico por documento
Por cada documento se puede ver una línea de tiempo completa que mezcla cabecera y líneas en orden cronológico, agrupada por día, con badges de tipo de acción, usuario y un resumen del cambio. Ideal para reconstruir el historial completo de un documento problemático o auditar el flujo de trabajo de un usuario.
5. Rollback (reversión) unitario
Permite deshacer cualquier acción con un click:
Si fue una modificación → restaura los campos a su valor anterior.
Si fue una eliminación → re-inserta la fila original.
Si fue una creación → elimina la fila creada.
Cada rollback queda a su vez registrado como nuevo evento, enlazado al original, manteniendo la trazabilidad completa de quién revirtió qué y cuándo.
6. Filtro inteligente de ruido
El plugin ignora cambios en campos derivados (totales, netos, impuestos, fechas de modificación, etc.) que FacturaScripts recalcula automáticamente. Si una modificación solo afectó a estos campos, no se genera entrada de auditoría — evitando llenar el log con eventos sin valor informativo.
7. Protección anti-fallo
Si la tabla de auditoría no existe o el logger lanza una excepción, el plugin falla en silencio y registra el error en error_log sin nunca interrumpir el guardado del documento original. La auditoría nunca puede romper el flujo normal de FacturaScripts.
Casos de uso típicos
Investigación de incidencias: "¿Quién modificó la factura F2026-0123 ayer?" → filtrar por código y ver el detalle.
Recuperación de datos: un usuario eliminó por error una línea de pedido → rollback en un click.
Auditoría regulatoria/legal: probar quién, cuándo y desde dónde se modificó un documento contable.
Control interno: revisar la actividad de un usuario concreto durante un período.
Soporte técnico: reproducir la secuencia exacta de cambios sobre un documento para diagnosticar problemas.
Cómo se integra
Una vez activado el plugin desde Admin → Plugins, aparece una nueva entrada en el menú Admin → Auditoría de documentos. La tabla doc_audit_log se crea automáticamente. No requiere modificar archivos del núcleo de FacturaScripts ni de otros plugins, y es 100 % compatible con cualquier otro plugin que extienda los mismos modelos.