Integrazione con data warehouse

Dai documenti alle tabelle Snowflake, con le prove allegate

Holofin legge i vostri PDF e scansioni e invia ogni campo in una tabella Snowflake, indicando quanto è sicuro del valore e da quale punto della pagina proviene.

Atelier Mécanique Durand SARL
FACTURE
N° F-2026-0412
Date de facture14/10/2026
Échéance13/11/2026
Total HT4 860,00 €
TVA 20 %972,00 €
Total TTC5 832,00 €
IBANFR76 3000 6000 0112 3456 7890 189

✓7 campi caricati

!1 da verificare

Documento letto da Holofin e caricato in Snowflake: fattura fornitore. È un esempio: tutti i nomi e i numeri sono inventati.

Come funziona

  1. 1

    Collegate Snowflake una sola volta

    Create un ruolo con permessi di inserimento su un solo schema e incollatene le credenziali in Holofin. Holofin crea la tabella al primo caricamento e non vede nient'altro: Snowflake gli mostra solo quello schema.

  2. 2

    Inviate i documenti come fate già

    Caricamento nell'app, inoltro via email o chiamata API. Holofin classifica ogni file, divide i plichi in singoli documenti e legge i campi di ciascun tipo.

  3. 3

    Interrogate le righe

    Ogni campo arriva come una riga, con la sua confidenza, la pagina di provenienza e un flag needs_review. Snowflake le tratta come qualsiasi altra sorgente: unitele alle vostre tabelle.

Come scrive il connettore Snowflake

Holofin scrive con Snowpipe Streaming: le righe arrivano in pochi secondi, senza stage, senza file format e senza un warehouse acceso per caricarle. Si autentica con autenticazione a coppia di chiavi come utente di servizio, il cui ruolo può inserire in un solo schema e nient'altro.

L'unico permesso di cui Holofin ha bisogno:

CREATE ROLE HOLOFIN_LOADER;
GRANT USAGE ON DATABASE HOLOFIN TO ROLE HOLOFIN_LOADER;
GRANT USAGE ON SCHEMA HOLOFIN.EXTRACTED TO ROLE HOLOFIN_LOADER;
GRANT INSERT, SELECT ON ALL TABLES IN SCHEMA HOLOFIN.EXTRACTED
  TO ROLE HOLOFIN_LOADER;
ALTER USER HOLOFIN_SVC SET RSA_PUBLIC_KEY = 'MIIBIjANBgkqh...';

La tabella scritta da Holofin

Una riga per campo, così un nuovo tipo di documento non modifica mai la tabella. Le colonne sono le stesse su ogni piattaforma; i tipi sono quelli che usa Snowflake.

HOLOFIN.EXTRACTED.DOCUMENT_FIELDS
document_idSTRINGL'identificativo Holofin del documento, stabile tra un caricamento e l'altro.
document_typeSTRINGLa classe assegnata da Holofin al documento: supplier_invoice, payslip, bank_statement e così via.
fieldSTRINGIl nome del campo, in snake_case, come definito nel vostro schema di estrazione.
valueSTRINGIl valore come testo normalizzato: date ISO, punto come separatore decimale, IBAN senza spazi.
confidenceFLOATTra 0 e 1. Quanto Holofin è sicuro del valore.
pageINTEGERLa pagina del file di origine su cui è stato letto il valore.
bboxARRAY<FLOAT>La posizione su quella pagina: x, y, larghezza, altezza, in frazioni della pagina.
needs_reviewBOOLEANTrue quando la confidenza è bassa o una regola non è rispettata, per esempio un saldo che non quadra.
reviewed_bySTRINGChi ha confermato o corretto il valore in Holofin, una volta fatto.
loaded_atTIMESTAMPQuando è stata scritta la riga. Le correzioni scrivono una nuova riga; vale la più recente.

Interrogare i dati in Snowflake

Le fatture che un revisore deve ancora esaminare, con il campo più debole di ciascuna, usando il QUALIFY di Snowflake:

-- Invoices with at least one field waiting for a reviewer,
-- with the weakest field of each one
SELECT document_id, field, value, confidence, loaded_at
FROM HOLOFIN.EXTRACTED.DOCUMENT_FIELDS
WHERE document_type = 'supplier_invoice'
  AND needs_review
  AND reviewed_by IS NULL
QUALIFY ROW_NUMBER() OVER (
  PARTITION BY document_id ORDER BY confidence
) = 1
ORDER BY loaded_at;

Sicurezza

  • I documenti sono elaborati in Europa, su server OVHcloud in Francia certificati ISO 27001.
  • Holofin scrive solo nello schema che autorizzate. Non può leggere le vostre altre tabelle.
  • La conservazione dei file di origine in Holofin si imposta per organizzazione, da zero data retention a conservazione illimitata. Le righe nel vostro data warehouse seguono le vostre policy.
  • GDPR: Holofin agisce come vostro responsabile del trattamento. Nessun documento lascia l'Unione europea.

Domande frequenti

Il caricamento consuma i miei crediti Snowflake?

Snowpipe Streaming è fatturato come ingestione serverless, non tramite un virtual warehouse in esecuzione, e un documento sono poche righe. Per qualche migliaio di documenti al mese il costo è contenuto. Le query eseguite in seguito usano i vostri warehouse come sempre.

Posso usare nomi miei per database e schema?

Sì. Database, schema e nome della tabella si scelgono al momento della connessione. Gli esempi di questa pagina usano HOLOFIN.EXTRACTED.DOCUMENT_FIELDS.

In quanto tempo i campi compaiono in Snowflake?

Pochi secondi dopo la lettura del documento. La maggior parte dei documenti viene letta in meno di un minuto, quindi un file inviato via email è di solito interrogabile in Snowflake un minuto dopo.

Cosa succede quando un revisore corregge un valore?

Holofin scrive una nuova riga per quel campo con il valore corretto, needs_review a false e reviewed_by valorizzato. Tenete l'ultima riga per documento e campo per avere lo stato attuale, oppure tutte le righe per un audit trail completo.

Si possono scegliere i campi da caricare?

Sì. Ogni tipo di documento ha uno schema di estrazione in Holofin. Aggiungete, rinominate o rimuovete i campi lì e i documenti successivi verranno caricati con i nuovi nomi. La struttura della tabella non cambia.

Quali documenti legge Holofin?

Qualsiasi documento aziendale inviato come PDF, scansione o foto: fatture, buste paga, estratti conto, avvisi fiscali, visure camerali, documenti d'identità, certificati. Holofin verifica anche che ogni file non sia stato manomesso e può segnalare un documento sospetto prima che ci si fidi dei suoi campi.

Provi Holofin sui Suoi documenti.

Ogni valore collegato alla pagina da cui proviene, ogni PDF controllato contro le manomissioni, regole verificate sull'intera pratica.

Holofin