> 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

El histórico se puede exportar desde el listado general o desde el detalle de un paquete. En ambos casos, el fichero contiene dos hojas con listados planos:

1. **Packs:** una fila por paquete con su identificador, fecha, tipo, estado, dirección y totales.
2. **Registros:** una fila por registro sincronizado. Incluye el identificador del paquete para poder relacionarlo con la primera hoja.

Las cabeceras de ambas hojas se muestran en azul Trowel con texto blanco.

### Exportar un paquete concreto

Desde el detalle, pulsa **Exportar a excel**. La hoja **Packs** contiene una sola fila y la hoja **Registros** contiene únicamente los registros de ese paquete.

### Exportar el histórico desde una fecha

Desde el listado general, pulsa **Exportar a excel**. Se abrirá una ventana para seleccionar la fecha inicial de la exportación. La fecha es obligatoria.

El fichero incluye todos los paquetes de esa integración externa creados desde la fecha seleccionada hasta el momento de la exportación. No se limita a los 20 paquetes visibles en pantalla.

Los paquetes aparecen en el mismo orden que en el histórico, del más reciente al más antiguo. En la hoja **Registros**, los registros se agrupan siguiendo ese mismo orden.

### Información de auditoría incluida

Además de las columnas visibles en el detalle, la hoja **Registros** incluye información relevante conservada en el momento de la sincronización:

* Para las facturas: número, fecha, moneda, base imponible, importe total de impuestos, importe total de retenciones e importe total.
* Para las empresas: tipo de empresa, código, razón social, nombre comercial y NIF/CIF.

Cuando una factura necesita crear también su empresa vinculada en el destino, esa empresa aparece como un registro de contacto dentro del mismo paquete y conserva la misma información de auditoría.

Estos valores proceden de la aplicación de origen de la sincronización. Por ejemplo, en una salida de Trowel a Holded se conservan los valores de Trowel; en una entrada de Holded a Trowel se conservan los recibidos de Holded. Si la factura o la empresa se modifica posteriormente, el Excel del histórico sigue mostrando los datos utilizados en aquella sincronización.

No se guarda una copia completa de la factura o la empresa. Solo se conservan los campos anteriores. Los registros anteriores a la incorporación de esta funcionalidad pueden mostrar estas columnas vacías.

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).
* El listado muestra **20 paquetes por página**. Utiliza el paginador para consultar los paquetes anteriores.
* El detalle carga **todos los registros** del paquete seleccionado (no hay paginación en el detalle).
* El listado en pantalla no incluye filtros por fecha, tipo o estado. La fecha solicitada al exportar limita únicamente el contenido del Excel.
* 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 para conservar los datos relevantes de empresas y facturas enviados en aquella sincronización.
4. **Auditoría de un periodo:** exporta el histórico desde una fecha para obtener en un único fichero los paquetes y registros de esa integración durante el periodo.

***

## Documentación relacionada

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