> For the complete documentation index, see [llms.txt](https://academy.trowelapp.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://academy.trowelapp.com/administracion/integraciones/historico-de-integracion.md).

# Histórico

Esta documentación describe, a nivel **funcional**, la consulta del **histórico de sincronizaciones** entre Trowel y los proveedores externos **Holded** y **Sage 50**.

Cada vez que se ejecuta una sincronización, Trowel crea un **paquete de integración** que agrupa todos los registros procesados en esa ejecución (empresas, facturas de venta, facturas de gasto y pagos de factura). El histórico permite revisar qué se sincronizó en cada ejecución, comprobar errores y localizar registros en la aplicación de destino.

***

## Dónde se accede

La funcionalidad está disponible en las pantallas de integración de cada proveedor:

| Proveedor | Ruta en Trowel                               |
| --------- | -------------------------------------------- |
| Holded    | **Administración → Integraciones → Holded**  |
| Sage 50   | **Administración → Integraciones → Sage 50** |

En la barra de herramientas superior, junto a **Actualizar**, aparece el botón **Histórico** (icono de reloj). Solo se muestra cuando la integración ya está configurada (API Key en Holded o conexión activa en Sage 50).

***

## Permisos

Se requiere el permiso de administración de integraciones (**Pages.Administration.Integrations**), el mismo que para configurar y lanzar sincronizaciones.

El histórico es **solo lectura**: no permite crear, modificar, cancelar ni relanzar sincronizaciones desde estas pantallas.

***

## Listado de paquetes

Al pulsar **Histórico** se abre un modal a pantalla completa con los paquetes de integración del proveedor desde el que se ha accedido, ordenados por **fecha de creación** (más recientes primero).

### Columnas del listado

| Columna                      | Descripción                                                                                              |
| ---------------------------- | -------------------------------------------------------------------------------------------------------- |
| **Creado en**                | Fecha y hora en que se inició el paquete.                                                                |
| **Tipo**                     | Entidad sincronizada: Empresas, Facturas de venta o Facturas de gasto.                                   |
| **Estado**                   | Estado del paquete: Pendiente, En cola, Sincronizando, Sincronizado, Completado con errores o Cancelado. |
| **Dirección de integración** | Sentido del flujo (por ejemplo, *De Trowel a Holded* o *De Sage50 a Trowel*).                            |
| **Total registros**          | Número total de registros incluidos en el paquete.                                                       |
| **Sincronizados**            | Registros sincronizados correctamente.                                                                   |
| **Errores**                  | Registros que finalizaron con error.                                                                     |

Para ver el detalle de un paquete, haz clic en la fila correspondiente.

***

## Detalle de un paquete

El detalle muestra un **resumen** del paquete (misma información que en el listado) y una **tabla con todos los registros** procesados en esa ejecución.

### Columnas del detalle

| Columna                            | Descripción                                                                                        |
| ---------------------------------- | -------------------------------------------------------------------------------------------------- |
| **Tipo de registro**               | Contacto, Factura de venta, Factura de gasto o Pago de factura.                                    |
| **Registro**                       | Identificador legible del elemento en Trowel (nombre de empresa, número y fecha de factura, etc.). |
| **ExternalId**                     | Identificador del registro en el sistema externo (Holded o Sage 50).                               |
| **Estado**                         | Estado de sincronización del registro individual.                                                  |
| **Última fecha de sincronización** | Momento en que se procesó el registro.                                                             |
| **Error**                          | Enlace de descarga del documento de error, si existe (fichero de texto `.txt`).                    |
| **Documento de la petición**       | Enlace de descarga del JSON enviado en la petición al proveedor, si existe (fichero `.json`).      |

### Identificador del registro (columna Registro)

Según el tipo de entidad, Trowel muestra:

| Tipo             | Información mostrada                                                 |
| ---------------- | -------------------------------------------------------------------- |
| Contacto         | Razón social de la empresa.                                          |
| Factura de venta | Número y fecha de la factura.                                        |
| Factura de gasto | Número de factura y nombre de la empresa.                            |
| Pago de factura  | Número de la factura asociada, empresa (si aplica) y fecha del pago. |

Si el registro aún no existía en Trowel en el momento de la sincronización (por ejemplo, importación desde el proveedor externo), la columna **Registro** puede quedar vacía; en ese caso utiliza **ExternalId** como referencia principal.

### Documentos de error y de petición

* **Error:** contiene el mensaje o respuesta de error devuelta por el proveedor externo. Útil para diagnosticar por qué un registro no se sincronizó.
* **Documento de la petición:** contiene el cuerpo de la petición enviada al proveedor (formato JSON). Permite auditar qué datos se transmitieron en operaciones de salida desde Trowel.

Los enlaces solo aparecen cuando existe el documento correspondiente.

***

## Exportación a Excel

Desde el detalle de un paquete, el botón **Exportar a excel** genera un fichero con:

1. **Cabecera:** resumen del paquete (fecha, tipo, estado, dirección, totales).
2. **Tabla de registros:** mismas columnas que en pantalla (tipo, registro, ExternalId, estado, fecha, indicadores de documentos de error y petición).

El nombre del fichero exportado es configurable por idioma (por defecto, *HistoricoIntegracion* / *IntegrationPackHistory*).

***

## Alcance y limitaciones

* El histórico muestra únicamente los paquetes del **tenant actual** y del **proveedor** desde el que se abrió (Holded o Sage 50).
* Se listan como máximo los **20 paquetes más recientes** en la pantalla de listado.
* El detalle carga **todos los registros** del paquete seleccionado (no hay paginación en el detalle).
* No incluye filtros por fecha, tipo o estado en esta versión.
* Para relanzar una sincronización o corregir errores, utiliza las **tarjetas de entidades** en la pantalla principal de integraciones, no el histórico.
* Un paquete en curso puede cambiar de estado mientras se consulta; usa **Actualizar** en la pantalla principal o vuelve a abrir el histórico para ver datos actualizados.

***

## Casos de uso habituales

1. **Localizar un contacto o factura en Holded/Sage 50** tras una sincronización desde Trowel: abre el paquete correspondiente, busca el registro por nombre o número y anota el **ExternalId**.
2. **Investigar errores masivos:** filtra visualmente paquetes con estado *Completado con errores*, entra al detalle y descarga los ficheros de error de los registros afectados.
3. **Auditoría de una ejecución concreta:** exporta el paquete a Excel para compartir o archivar el resultado de la sincronización.

***

## Documentación relacionada

* [Integración con Holded](/administracion/integraciones/integracion-con-holded.md)
* [Integración con Sage 50](/administracion/integraciones/sage50.md)
