Integración con data warehouse

Documentos a ClickHouse, a cualquier volumen

Holofin lee PDF y escaneos e inserta cada campo en ClickHouse, para seguir tasas de revisión y confianza en millones de documentos.

Eléctrica del Turia S.A.
FACTURA DE ELECTRICIDAD
Nº factura: ET26-0981144
TitularLucía Navarro Gil
Dirección de suministroC/ de Sueca 41, 3º, 46006 Valencia
Periodo de facturación02/09/2026 a 01/10/2026
Fecha de emisión06/10/2026
Total a pagar84,37 €

✓7 campos cargados

!1 marcados para revisión

Documento leído por Holofin y cargado en ClickHouse: factura de suministros. Es un ejemplo: todos los nombres y cifras son inventados.

Cómo funciona

  1. 1

    Conecte ClickHouse una sola vez

    Cree un rol con permisos de inserción en un único esquema y pegue sus credenciales en Holofin. Holofin crea la tabla en la primera carga; nada más en ClickHouse le resulta visible.

  2. 2

    Envíe los documentos como ya lo hace

    Súbalos en la aplicación, reenvíelos por correo electrónico o envíelos a la API. Holofin clasifica cada archivo, separa los lotes en documentos y lee los campos de cada tipo.

  3. 3

    Consulte las filas

    Cada campo llega como una fila con su confianza, la página de la que procede y un indicador needs_review. Crúcelo con sus propias tablas en ClickHouse como cualquier otra fuente.

Cómo escribe el conector de ClickHouse

Holofin inserta por lotes a través de la interfaz HTTP de ClickHouse, con TLS, en una tabla ReplacingMergeTree con clave por documento y campo, de modo que una corrección sustituye el valor anterior. Funciona con ClickHouse Cloud y con servidores autoalojados accesibles por HTTPS.

El único permiso que necesita Holofin:

CREATE USER holofin_loader IDENTIFIED WITH sha256_password BY '...';
GRANT INSERT, SELECT ON extracted.document_fields TO holofin_loader;

La tabla que escribe Holofin

Una fila por campo, de modo que un nuevo tipo de documento nunca cambia la tabla. Las columnas son las mismas en todas las plataformas; los tipos siguen la nomenclatura de ClickHouse.

extracted.document_fields
document_idSTRINGIdentificador del documento en Holofin, estable entre recargas.
document_typeSTRINGLa clase que Holofin asignó al documento: supplier_invoice, payslip, bank_statement, etc.
fieldSTRINGEl nombre del campo, en snake_case, tal como se define en su esquema de extracción.
valueSTRINGEl valor como texto normalizado: fechas ISO, punto decimal, IBAN sin espacios.
confidenceFLOATEntre 0 y 1. El grado de certeza de Holofin sobre el valor.
pageINTEGERLa página del archivo de origen en la que se leyó el valor.
bboxARRAY<FLOAT>La posición en esa página: x, y, ancho, alto, como fracciones de la página.
needs_reviewBOOLEANTrue cuando la confianza es baja o falla una regla, como un saldo que no cuadra.
reviewed_bySTRINGQuién confirmó o corrigió el valor en Holofin, una vez revisado.
loaded_atTIMESTAMPCuándo se escribió la fila. Las correcciones escriben una fila nueva; prevalece la más reciente.

Consultar en ClickHouse

Tasa de revisión y confianza mediana por tipo de documento en 30 días, con countIf y quantile:

-- Review rate per document type over the last 30 days
SELECT
    document_type,
    uniqExact(document_id) AS documents,
    round(countIf(needs_review) / count(), 3) AS review_rate,
    quantile(0.5)(confidence) AS median_confidence
FROM extracted.document_fields FINAL
WHERE loaded_at >= now() - INTERVAL 30 DAY
GROUP BY document_type
ORDER BY documents DESC

Seguridad

  • Los documentos se procesan en Europa, en servidores de OVHcloud en Francia con certificación ISO 27001.
  • Holofin solo escribe en el esquema que usted autoriza. No puede leer el resto de sus tablas.
  • La conservación de los archivos de origen en Holofin se configura por organización, desde cero retención de datos hasta conservación indefinida. Las filas de su data warehouse siguen sus propias políticas.
  • RGPD: Holofin actúa como encargado del tratamiento. Ningún documento sale de la Unión Europea.

Preguntas frecuentes

¿Por qué FINAL en las consultas?

La tabla es una ReplacingMergeTree: un valor corregido sustituye al anterior cuando se fusionan las partes. FINAL aplica la sustitución en el momento de la consulta, así que siempre se lee el valor más reciente.

¿Funciona con un ClickHouse autoalojado?

Sí, siempre que el servidor sea accesible por HTTPS desde Holofin. Basta con crear un usuario con INSERT y SELECT sobre esa única tabla.

¿Cuánto tardan los campos en aparecer en ClickHouse?

Unos segundos desde que se lee el documento. La mayoría de los documentos se leen en menos de un minuto, así que un archivo enviado por correo suele poder consultarse en ClickHouse un minuto después.

¿Qué ocurre cuando un revisor corrige un valor?

Holofin escribe una fila nueva para ese campo con el valor corregido, needs_review a false y reviewed_by informado. Conserve la última fila por documento y campo para obtener el estado actual, o todas las filas para disponer de una pista de auditoría completa.

¿Se puede elegir qué campos se cargan?

Sí. Cada tipo de documento tiene un esquema de extracción en Holofin. Añada, renombre o elimine campos ahí y los siguientes documentos se cargarán con los nuevos nombres. La estructura de la tabla no cambia.

¿Qué documentos lee Holofin?

Cualquier documento empresarial enviado en PDF, escaneado o como foto: facturas, nóminas, extractos bancarios, notificaciones tributarias, extractos registrales, documentos de identidad, certificados. Holofin también comprueba si cada archivo ha sido manipulado y puede señalar un documento sospechoso antes de dar por buenos sus campos.

Pruebe Holofin con sus propios documentos.

Cada valor vinculado a la página de la que procede, cada PDF revisado contra manipulaciones, reglas comprobadas en todo el expediente.

Holofin