Passa al contenuto principale

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

· 26 minuti di lettura
SEO and Content Writer

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.

Zap in sintesi
1. New Email in Shared Mailbox
Microsoft Outlook, polling every 2 minutes. One email is one supplier sending one or more invoices.
2. Create Loop From Line Items
Looping by Zapier. Turns the attachment list into one iteration per file.
3. AI - Document Parser
PDF4me. Runs your Analyzer against the attachment and returns the fields as JSON.
La versione breve

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.

Outlook showing an email with the subject invoice and the body PFA, carrying two attachments, Samples 2.pdf at 196 KB and Samples 1.pdf at 199 KB, listed as 2 attachments totalling 395 KB

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

Zapier Zap history listing two successful runs of the Email Doc Parser Zap on Oct 15 2026 at 07:02:53 pm and 07:03:37 pm, each consuming 1 task, with the Outlook, Looping and PDF4me app icons shown on both rows

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_extraction produce 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.
Utilizza la stessa fattura utilizzata in questa procedura guidata
Allega questo documento alla tua email di prova e Doc Text dovrebbe corrispondere al JSON mostrato di seguito, campo per campo. Si tratta di una fattura di esempio con due voci, una delle quali con uno sconto negativo, utile per testare un parser.
Scarica sample-invoice-13594027.pdf

Zap in sintesi​

  1. La New Email in Shared Mailbox (Microsoft Outlook)" esegue il controllo della casella di posta ogni 2 minuti.
  2. Create Loop From Line Items " (Looping by Zapier) trasforma l'elenco degli allegati in un'iterazione per file.
  3. AI - Document Parser (PDF4me) esegue l' Analyzer sull'allegato dell'iterazione corrente.

Panoramica completa Zap​

Zapier editor showing the three step Email Doc Parser Zap: step 1 Microsoft Outlook New Email in Shared Mailbox with a 2 min polling badge reporting Found 1 new Email, step 2 Looping by Zapier Create Loop From Line Items reporting Sent 1 new Loop, and step 3 Pdf4me 1.30.0 AI - Document Parser reporting Sent 1 new Process Document

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.

  1. Crea uno Zap e seleziona Microsoft Outlook > New Email in Shared Mailbox.
  2. 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.
  3. 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.

  1. Aggiungi Looping by Zapier > Create Loop From Line Items.
  2. 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
  3. 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​

Looping by Zapier step 2 Run details Data out tab showing Loop Iteration 1 with Attachments Name Samples 2.pdf and an Attachments File URL on zapier-dev-files.s3.amazonaws.com, a preview_loop_values block listing iteration 1 as Samples 2.pdf and iteration 2 as Samples 1.pdf, and the fields Loop Id, Loop Id And Iteration, Loop Iteration Is Last false, Loop Iteration Last 2 and Loop Total Iterations 2

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​

CampoValore nella corsa catturataA cosa serve?
Loop Iteration1Su quale passo ti trovi, contando da 1
Attachments NameSamples 2.pdfIl nome del file per questa iterazione, utile per denominare i record successivi.
Attachments FileUn URL zapier-dev-files.s3.amazonaws.comIl file stesso e ciò che viene mappato nel parser
Loop Total Iterations2Quanti allegati conteneva l'e-mail
Loop Iteration Is LastfalseInvia un riepilogo o una notifica solo quando questa condizione diventa vera
Loop Idd889b92b-c6a1-4abc-a6a1-a1d4c1c78e1dCollega tutte le iterazioni di un'email, che è ciò che viene raggruppato in seguito
preview_loop_valuesIterazione 1 Samples 2.pdf, iterazione 2 Samples 1.pdfL'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.

  1. Aggiungi PDF4me > AI - Document Parser e collega la tua chiave API.
  2. 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_extraction produce l'output seguente.
    • AI Analyzer Name (Deprecated): lasciare vuoto.
  3. Test. Zapier segnala l'invio di 1 nuovo Process Document a Pdf4me e Data out riportano i campi analizzati.

AI - Document Parser, primo allegato​

PDF4me AI - Document Parser step 3 Run details Data out showing Trace Id 57525903-32b5-47ff-ad16-6c58179b5aa1, a Document Document Id of b9de2201-e98f-5659-b196-70d9bf18ff0e, and a Document Doc Text JSON holding invoiceNumber 13594027, vendorName Your Business Name, billTo John Smith, subTotal 37.5, two line items and a docConfidenceLevel block scoring every field

Doc Text contiene la fattura. Ogni campo appare anche in docConfidenceLevel con un punteggio associato.

Secondo allegato AI - Document Parser​

The same PDF4me AI - Document Parser step on the second loop iteration, showing a different Trace Id 0b16be26-64be-4cee-a764-8a52f2a263df and Document Id 5450ac57-f16a-50ec-834f-10bf80c5b505, with the same invoice fields and slightly different confidence scores

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 outputCosa contiene
Trace IdUnico per ogni chiamata. Indicalo nel ticket di supporto.
Document Document IdID di PDF4me per il documento analizzato, diverso a ogni esecuzione
Document Doc TextIl payload JSON: i campi estratti più docConfidenceLevel
Document File Name, Document Name, DocMetadataDenominazione 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.

CampoCorsa 1Corsa 2Cosa ti dice
vendorEmail98.998.9Testo leggibile dalla macchina, fidati
vendorName98.598.5Titolo pulito, fidati
billTo97.397.3Pulito, fidati
subTotal9594.7Buono, e vale la pena di effettuare un controllo di tolleranza rispetto total
total92.892.8Bene, ma questo è il campo che vale la pena controllare automaticamente
billToAddress79.581.9Multilinea e a capo, rivedere se è importante
billToPincode60.860.8Il campione elabora insieme città, stato e codice postale
billToState59.859.8In 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​

  1. Publish lo Zap.
  2. Invia un'email di prova alla casella di posta condivisa con due file PDF in allegato.
  3. Attendi i risultati del sondaggio, poi apri Zap history.
  4. Dovresti vedere due esecuzioni di Zap, non una, ciascuna contrassegnata come completata con successo e ciascuna che consuma 1 attività.
  5. Apri ciascuna esecuzione e controlla Data out al passaggio 3: l' Trace Id e Document Document Id dovrebbero essere diversi tra loro e Doc Text dovrebbe contenere la fattura dell'allegato.
  6. Verifica il valore Loop Total Iterations al 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​

Scrivi ogni fattura su un foglio
Aggiungi un passaggio Google Sheets o Airtable dopo il parser, sempre all'interno del ciclo. Assegna Loop Id a una colonna separata in modo che ogni riga di una singola email possa essere raggruppata.
Inoltra le fatture con bassa affidabilità a un operatore umano
Aggiungi un Filter by Zapier al campo 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.
Ignora tutto ciò che non è una fattura
Anche i fornitori allegano firme e loghi. Un filtro sul 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.
Analizzare qualcosa di diverso dalle fatture
L'azione è guidata da schema. PuntoAI Analyzer Id aClassify Analyzer e un singolo Zap gestiscono fatture, ordini di acquisto e bolle di consegna, restituendo il tipo corrispondente con i relativi campi.

Come si confronta questo metodo con gli altri metodi di OCR per le fatture?​

Ogni riga descrive l'alternativa. L'ultima riga è questo Zap.

ConfrontoChi lo gestisce?Da dove provengono le fattureCiò che mantieni
Piattaforma di automazione AP vs questo ZapFinanza, in un prodotto dedicatoUn indirizzo di inoltro per quel prodottoUn contratto per documento e le relative regole di approvazione
API OCR chiamata dal codice vs questo ZapUno sviluppatore, in un'applicazioneQualunque cosa recuperi il tuo codiceIl codice, il polling della casella di posta e i tentativi
Modulo di acquisizione ERP vs questo ZapFinanza, all'interno del sistema ERPUno scanner o una cartella di consegnaLicenze e un flusso di lavoro collegato a quel sistema ERP
Questo ZapChiunque sia in grado di modificare uno ZapLa casella di posta condivisa che già utilizziTre 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​

Viene analizzato solo il primo allegato.

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.

Il numero di attività è superiore alle tue aspettative.

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.

Doc Text risulta vuoto o con campi mancanti

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.

I valori sembrano corretti ma vengono inviati in modo errato a valle

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.