OCR delle fatture in Zapier: scorri tutti gli allegati in una casella di posta condivisa con AI Document Parser PDF4me

PDF4me AI Document Parser è un'azione Zapier che legge un documento utilizzando l'intelligenza artificiale e restituisce i suoi campi in formato JSON. Abbinato a Looping by Zapier, gestisce il caso tipico della contabilità fornitori: un'e-mail contenente diverse fatture, con ogni allegato analizzato in un'esecuzione separata.
Ogni strumento di riconoscimento ottico dei caratteri (OCR) per fatture dimostra la stessa cosa: un singolo documento in ingresso e campi puliti in uscita. Ma le fatture non arrivano così. Arrivano come email in una casella di posta condivisa, da un fornitore che ha allegato tre PDF e ha scritto " PFA " nel corpo del messaggio. Il problema non è leggere una singola fattura, ma che un singolo trigger deve trasformarsi in diverse analisi, e la maggior parte delle guide aggira questo passaggio osservando una cartella in cui qualcuno ha già separato i file. Questo Zap non lo fa. Tre passaggi, e quello centrale è il ciclo.
Un fornitore invia alla tua casella di posta condivisa due fatture in allegato. Looping by Zapier suddivide l'elenco degli allegati in un'iterazione per ogni file, e ogni iterazione esegue il AI Document Parser PDF4me sul proprio allegato. Ottieni un file JSON strutturato per ogni fattura, con un punteggio di affidabilità per ogni campo, pronto per essere importato in Fogli Google, Airtable o nel tuo registro contabile. Tre semplici passaggi, senza codice.
Domande e risposte basate sul "perché"
Why trigger on a shared mailbox instead of a folder?Perché è lì che si trovano già le fatture. Chiedere ai fornitori di caricare i documenti su un portale, o chiedere a una persona di salvare prima gli allegati su Dropbox, aggiunge un passaggio manuale proprio nel punto che si sta cercando di automatizzare. Una casella di posta condivisa è anche la soluzione che sopravvive all'abbandono di un dipendente: l'indirizzo appartiene alla funzione, non al singolo individuo.
Why do you need a loop at all?Poiché un passaggio Zap viene eseguito una sola volta per ogni trigger e un'email può contenere un numero qualsiasi di allegati, senza il ciclo si analizza il primo allegato che Zapier passa e si ignorano silenziosamente gli altri, il che rappresenta il peggior tipo di bug: lo Zap diventa verde e le fatture scompaiono. Looping trasforma l'elenco degli allegati in un'iterazione per file.
Why an Analyzer instead of a fixed invoice schema?Perché i campi di cui hai effettivamente bisogno sono specifici del tuo registro contabile. AI Document Parser esegue un Analyzer che definisci una sola volta nella dashboard PDF4me, quindi la stessa azione gestisce le fatture oggi e gli ordini di acquisto o le bolle di consegna in futuro. Modifica lo schema e ogni Zap che punta a Analyzer lo rileverà senza bisogno di ricostruirlo.
Why do confidence scores matter more than the extracted values?Perché l'OCR non segnala un errore in modo eclatante. Restituisce una risposta errata plausibile. Il parser riporta un punteggio per campo, quindi è possibile inoltrare a un operatore umano qualsiasi testo al di sotto della soglia impostata, anziché inviarlo per posta. Nell'esecuzione acquisita, i punteggi totali si aggiravano intorno ai 90, mentre lo stato di fatturazione ha ottenuto un punteggio di 59,8, che è esattamente la differenza su cui una coda di revisione dovrebbe intervenire.
Cosa riceverai
Input: una email in una casella di posta condivisa con un numero qualsiasi di fatture in formato PDF allegate. Output: un'esecuzione di Zap per ogni allegato, ciascuna delle quali restituisce la fattura in formato JSON strutturato con un punteggio di affidabilità per ciascun campo, pronta per essere mappata in qualsiasi applicazione a valle.

Due allegati, un messaggio, un corpo di due parole. Questo è l'input che Zap deve elaborare.

Un'email in entrata, due esecuzioni in uscita. Ogni iterazione del ciclo corrisponde a un'esecuzione Zap nella cronologia.
Di cosa hai bisogno
- A Zapier account.Looping by Zapier È un'app integrata, quindi non c'è nulla da installare. Controlla il tuo piano: sono richiesti Zap a più passaggi e ogni iterazione del ciclo conta come un'attività.
- PDF4me API key.Get your API key Il Zap runs sull'app PDF4me versione 1.30.0.
- An Analyzer saved in the PDF4me dashboard.Open the Analyzer list L' Analyzer predefinito
default_invoice_extractionproduce l'output mostrato qui, quindi puoi iniziare da lì e crearne uno personalizzato in seguito. - A Microsoft Outlook shared mailboxche riceve le fatture dei fornitori e un account con l'autorizzazione a leggerle. Se non ne hai ancora uno,Microsoft documents how to create one.
- A test email you control, con almeno due PDF allegati, in modo da poter dimostrare che il ciclo viene eseguito più di una volta prima di indirizzare lo Zap alla posta elettronica del fornitore.
Zap in sintesi
- La New Email in Shared Mailbox (Microsoft Outlook)" esegue il controllo della casella di posta ogni 2 minuti.
- Create Loop From Line Items " (Looping by Zapier) trasforma l'elenco degli allegati in un'iterazione per file.
- AI - Document Parser (PDF4me) esegue l' Analyzer sull'allegato dell'iterazione corrente.
Panoramica completa Zap

Tre passaggi. Il ciclo al centro è ciò che fa sì che il terzo passaggio venga eseguito una volta per ogni collegamento.
Passaggio 1: Come si attiva uno Zap da una casella di posta condivisa?
Flusso finora: ancora niente, questo è il trigger.
L'arrivo di una fattura è l'evento, quindi la casella di posta elettronica è l'elemento scatenante.
- Crea uno Zap e seleziona Microsoft Outlook > New Email in Shared Mailbox.
- Collega l'account che ha l'autorizzazione a leggere la casella di posta, quindi scegli l' indirizzo della casella di posta condivisa e la cartella da monitorare. Iniziare con il monitoraggio della Posta in arrivo va bene.
- Verifica il trigger con l'email che hai preparato. Zapier segnala " Trovata 1 nuova email in Microsoft Outlook e l'elenco degli allegati diventa disponibile per le fasi successive come elementi separati.
L'intervallo di polling dello Zap acquisito risulta essere di 2 minuti, ovvero la pianificazione del piano Zapier e non un intervallo configurato dall'utente nello step.
Tip.Utilizzare una cartella dedicata, non l'intera Posta in arrivo, non appena questo diventa più di un test. Una regola Outlook lato server che archivia la posta dei fornitori in unaInvoices La cartella offre un ambito di attivazione chiaro e un punto di riferimento quando qualcosa non si attiva. Inoltre, impedisce a Zap di attivare le attività di notifica nelle newsletter.
Passaggio 2: Come si fa a scorrere tutti gli allegati di una singola email?
Flusso finora: il trigger Outlook.
Questo è il passaggio che trasforma un'email in un'elaborazione per ogni fattura.
- Aggiungi Looping by Zapier > Create Loop From Line Items.
- In Values to Loop, mappa le voci della riga dell'allegato dal trigger. L'esecuzione acquisita ripete due valori insieme, che è lo schema da copiare:
- Attachments Name, il nome del file
- Attachments File, il file stesso
- Esegui il test. Zapier segnala l'invio di 1 nuovo ciclo a Looping by Zapier e la scheda Data out mostra la prima iterazione più un'anteprima di tutte le altre.
Create Loop From Line Items

Loop Total Iterations legge 2, una per allegato, e preview_loop_values nomina entrambi i file prima che uno dei due sia stato analizzato.
Cosa ti dà il loop
| Campo | Valore nella corsa catturata | A cosa serve? |
|---|---|---|
Loop Iteration | 1 | Su quale passo ti trovi, contando da 1 |
Attachments Name | Samples 2.pdf | Il nome del file per questa iterazione, utile per denominare i record successivi. |
Attachments File | Un URL zapier-dev-files.s3.amazonaws.com | Il file stesso e ciò che viene mappato nel parser |
Loop Total Iterations | 2 | Quanti allegati conteneva l'e-mail |
Loop Iteration Is Last | false | Invia un riepilogo o una notifica solo quando questa condizione diventa vera |
Loop Id | d889b92b-c6a1-4abc-a6a1-a1d4c1c78e1d | Collega tutte le iterazioni di un'email, che è ciò che viene raggruppato in seguito |
preview_loop_values | Iterazione 1 Samples 2.pdf, iterazione 2 Samples 1.pdf | L'elenco completo, visibile al primo passaggio |
Prima di proseguire, è opportuno notare due dettagli. Il ciclo non viene eseguito nell'ordine in cui gli allegati appaiono in Outlook: l'e-mail mostrava "Esempi 2" per primo e il ciclo si è attenuto a questo ordine, ma non bisogna mai fare affidamento su di esso. Inoltre, Loop Id è l'unico elemento che collega le righe risultanti all'e-mail di provenienza, quindi è meglio mapparlo ora piuttosto che pentirsene in seguito.
Tip.Ogni iterazione corrisponde a un'esecuzione separata Zap e consuma un'attività. Un'e-mail con dieci allegati richiede dieci attività, non una sola, e questa è la sorpresa più comune che si trova nella fattura mensile.Zapier documents the loop limits e vale la pena leggerli prima di puntare questo messaggio verso una cassetta postale affollata.
Passaggio 3: Come si trasforma ciascun allegato in un file JSON strutturato?
Flusso finora: il trigger più il ciclo.
Da qui in poi, tutto viene eseguito una sola volta per ogni allegato, perché si trova all'interno del ciclo.
- Aggiungi PDF4me > AI - Document Parser e collega la tua chiave API.
- Specificare:
- File: il token Attachments File proveniente dal ciclo, non dal trigger. Questo è l'unico errore che le persone commettono.
- File Name ed File Ext: costruisci il nome dal Attachments Name del ciclo.
- AI Analyzer Id: seleziona il tuo Analyzer dal menu a tendina.
default_invoice_extractionproduce l'output seguente. - AI Analyzer Name (Deprecated): lasciare vuoto.
- Test. Zapier segnala l'invio di 1 nuovo Process Document a Pdf4me e Data out riportano i campi analizzati.
AI - Document Parser, primo allegato

Doc Text contiene la fattura. Ogni campo appare anche in docConfidenceLevel con un punteggio associato.
Secondo allegato AI - Document Parser

Un Trace Id diverso e un ID del documento diverso, che è il modo in cui si distinguono le due analisi nei log.
Entrambi gli allegati in questa acquisizione contengono la stessa fattura di esempio, quindi le cifre estratte corrispondono. Ciò che la seconda esecuzione dimostra non è che il parser gestisce due layout diversi, ma che il terzo passaggio è stato eseguito due volte a partire da una singola email.
Cosa ritorna
| Campo di output | Cosa contiene |
|---|---|
Trace Id | Unico per ogni chiamata. Indicalo nel ticket di supporto. |
Document Document Id | ID di PDF4me per il documento analizzato, diverso a ogni esecuzione |
Document Doc Text | Il payload JSON: i campi estratti più docConfidenceLevel |
Document File Name, Document Name, DocMetadata | Denominazione e metadati, popolati in base a ciò che mappi in |
All'interno Doc Text l' Analyzer default_invoice_extraction restituisce i campi dell'intestazione (invoiceNumber, invoiceDate, invoiceDateString, orderId, customerPO, paymentDeadline), il blocco fornitore (vendorName, vendorAddress, vendorPhone, vendorEmail e identificativi fiscali inclusi vendorGSTIN, vendorPAN, vendorCIN, vendorVatUidNr, iban), il blocco cliente (billTo, billToAddress, billToPhone, billToEmail, billToState, billToPincode), i totali (subTotal, cgst, sgst, cgstRate, sgstRate, totalTaxAmount, total) e un array lineItems. Per la fattura di esempio che corrisponde al invoiceNumber 13594027, billTo John Smith, total 37.5 e due voci, la seconda delle quali è la riga di sconto -12.5.
Lettura dei punteggi di fiducia
docConfidenceLevel riproduce la stessa forma, con un numero al posto di ogni valore. Questi sono i punteggi delle due esecuzioni acquisite e la dispersione rappresenta il punto.
| Campo | Corsa 1 | Corsa 2 | Cosa ti dice |
|---|---|---|---|
vendorEmail | 98.9 | 98.9 | Testo leggibile dalla macchina, fidati |
vendorName | 98.5 | 98.5 | Titolo pulito, fidati |
billTo | 97.3 | 97.3 | Pulito, fidati |
subTotal | 95 | 94.7 | Buono, e vale la pena di effettuare un controllo di tolleranza rispetto total |
total | 92.8 | 92.8 | Bene, ma questo è il campo che vale la pena controllare automaticamente |
billToAddress | 79.5 | 81.9 | Multilinea e a capo, rivedere se è importante |
billToPincode | 60.8 | 60.8 | Il campione elabora insieme città, stato e codice postale |
billToState | 59.8 | 59.8 | In fondo al documento, non pubblicarlo senza averlo revisionato |
Lo stesso documento ha ottenuto un punteggio leggermente diverso in due passaggi, il che è normale per un modello ed è esattamente il motivo per cui si imposta una soglia anziché affidarsi a un singolo numero. Scegli un piano, instrada tutto ciò che si trova al di sotto di esso a una persona e lascia passare il resto.
Esegui Zap e verifica
- Publish lo Zap.
- Invia un'email di prova alla casella di posta condivisa con due file PDF in allegato.
- Attendi i risultati del sondaggio, poi apri Zap history.
- Dovresti vedere due esecuzioni di Zap, non una, ciascuna contrassegnata come completata con successo e ciascuna che consuma 1 attività.
- Apri ciascuna esecuzione e controlla Data out al passaggio 3: l'
Trace IdeDocument Document Iddovrebbero essere diversi tra loro eDoc Textdovrebbe contenere la fattura dell'allegato. - Verifica il valore
Loop Total Iterationsal passaggio 2. Se, dopo aver allegato due file, il valore visualizzato è 1, il problema risiede nella mappatura tra Values to Loop, non nel parser.
Nell'esecuzione acquisita, le due Zap runs sono state completate alle 19:02:53 e alle 19:03:37 del 15 ottobre 2026, entrambe con successo, 1 attività ciascuna, da una singola email contenente 395 KB di allegati.
What did you actually build?Un sistema di acquisizione fatture che parte dal punto in cui le fatture effettivamente arrivano. Nessuno scarica allegati, nessuno riscrive un totale e un'e-mail con cinque fatture genera cinque record strutturati anziché uno solo. I punteggi di affidabilità forniscono un punto di riferimento sensato per tracciare la linea di demarcazione tra l'elaborazione automatica e quella manuale.
Varianti comuni che puoi aggiungere senza dover ricostruire
Loop Id a una colonna separata in modo che ogni riga di una singola email possa essere raggruppata.docConfidenceLevel. Al di sopra della soglia, il documento verrà pubblicato automaticamente; al di sotto, verrà inviato a una coda di revisione o a un canale Slack con l' Trace Id allegato.Attachments Name che termina con .pdf, inserito all'interno del ciclo, impedisce che il parser venga richiamato su un'immagine, evitando così uno spreco di risorse.Come si confronta questo metodo con gli altri metodi di OCR per le fatture?
Ogni riga descrive l'alternativa. L'ultima riga è questo Zap.
| Confronto | Chi lo gestisce? | Da dove provengono le fatture | Ciò che mantieni |
|---|---|---|---|
| Piattaforma di automazione AP vs questo Zap | Finanza, in un prodotto dedicato | Un indirizzo di inoltro per quel prodotto | Un contratto per documento e le relative regole di approvazione |
| API OCR chiamata dal codice vs questo Zap | Uno sviluppatore, in un'applicazione | Qualunque cosa recuperi il tuo codice | Il codice, il polling della casella di posta e i tentativi |
| Modulo di acquisizione ERP vs questo Zap | Finanza, all'interno del sistema ERP | Uno scanner o una cartella di consegna | Licenze e un flusso di lavoro collegato a quel sistema ERP |
| Questo Zap | Chiunque sia in grado di modificare uno Zap | La casella di posta condivisa che già utilizzi | Tre passaggi e uno schema Analyzer |
Domande frequenti
Che cos'è l'OCR per le fatture?
L'OCR per fatture consiste nella lettura di una fattura tramite software anziché manualmente, in modo che il fornitore, la data, le voci di spesa e il totale vengano estratti come dati utilizzabili dai vostri sistemi. L'OCR classico si limitava a recuperare i caratteri presenti sulla pagina, lasciando a voi il compito di dedurre il totale; i parser basati sull'intelligenza artificiale che lo hanno sostituito restituiscono direttamente i campi denominati.
Questa distinzione è importante quando si sceglie uno strumento. Una libreria che esegueoptical character recognition ti dà del testo. Un analizzatore di documenti ti dà total, invoiceNumber e billTo, che è ciò che uno Zap può effettivamente mappare in un foglio di calcolo.
Come funziona il looping di Zapier?
Looping by Zapier è un'app integrata che ripete i passaggi sottostanti, una volta per ogni elemento. Create Loop From Line Items prende un insieme di elementi di riga da un passaggio precedente, come l'elenco degli allegati di un'e-mail, e avvia un'iterazione per ogni elemento.
Ogni iterazione è un'esecuzione Zap separata con una propria voce nella Zap history e un proprio consumo di attività. All'interno di un'iterazione si ottengono Loop Iteration, Loop Total Iterations, Loop Iteration Is Last e un Loop Id condiviso da tutte le iterazioni dello stesso record sorgente.
Che cos'è l'elaborazione delle fatture tramite OCR?
L'elaborazione delle fatture tramite OCR comprende l'intero processo, non solo la fase di lettura: una fattura arriva, i suoi campi vengono estratti, i valori vengono verificati e il risultato viene registrato in un libro mastro o in una coda di revisione. L'estrazione è solitamente la parte più semplice.
Le parti che determinano il funzionamento pratico sono l'acquisizione dei dati e la gestione delle eccezioni. Questo Zap illustra l'acquisizione dei dati con la casella di posta condivisa e il ciclo, e fornisce il materiale di base per la gestione delle eccezioni con docConfidenceLevel.
Come si automatizza la gestione dei conti fornitori?
Iniziate dalla fase di acquisizione dati, perché i passaggi manuali in questa fase vanificano tutto il lavoro svolto successivamente. Assegnate a ciascun fornitore un unico indirizzo, attivate un sistema di automazione e assicuratevi che un'e-mail contenente diverse fatture generi più record anziché uno solo.
Successivamente, decidi quali registrazioni devono essere effettuate automaticamente. Una soglia di confidenza sui campi estratti suddivide le fatture in quelle che il tuo sistema contabile può gestire senza supervisione e quelle che devono essere visualizzate da una persona; è proprio questa distinzione che rende l'automazione sicura e può essere lasciata in esecuzione senza problemi.
Risoluzione dei problemi
ControlloLoop Total Iterations al passaggio 2. Se risulta 1,Values to Loop è mappato a un singolo campo anziché alle voci della riga dell'allegato, quindi il ciclo non ha nulla su cui iterare. Se legge 2 ma è avvenuta una sola analisi, il passaggio 3File viene mappato al trigger invece che al cicloAttachments File.
Questo è il ciclo che funziona come previsto. Un'email con dieci allegati corrisponde a dieci esecuzioni e dieci attività. Aggiungi un filtro all'interno del ciclo in modo che firme, loghi e qualsiasi cosa non sia un PDF non raggiunga mai il parser.
L' Analyzer decide quali campi esistono. Una chiave vuota significa che lo schema ha richiesto qualcosa che questo documento non contiene, il che è normale. Una chiave completamente vuotaDoc Text di solito significa sbagliatoAI Analyzer Id, o un file che ha raggiunto l'azione senza la sua estensione, quindi controllaFile Name EFile Ext.
GuardaredocConfidenceLevel prima di dare la colpa alla mappatura. In questa cattura i totali hanno superato 92 mentrebillToState ha ottenuto un punteggio di 59,8, quindi un campo può essere presente, plausibile e comunque sbagliato. Mantieni ilTrace Id su ogni record in modo da poter associare una riga errata alla sua sequenza.
Prossimi passi
La parte difficile dell'automazione delle fatture non è mai stata leggere la fattura. Era la busta in cui arrivava, ed è un meccanismo a ciclo continuo che la apre.