Pular para o conteúdo principal

OCR de faturas no Zapier: Percorra todos os anexos em uma caixa de correio compartilhada com AI Document Parser PDF4me

· 26 min para ler
SEO and Content Writer

PDF4me AI Document Parser é uma ação Zapier que lê um documento com inteligência artificial e retorna seus campos em formato JSON. Combinado com Looping by Zapier, ele lida com o caso comum em contas a pagar: um e-mail contendo várias faturas, cada anexo analisado em sua própria execução.

Todas as ferramentas de OCR para faturas demonstram a mesma coisa: um documento entra e os campos saem limpos. Mas não é assim que as faturas chegam. Elas chegam por e-mail, em uma caixa de entrada compartilhada, de um fornecedor que anexou três PDFs e escreveu " PFA " no corpo do e-mail. O problema interessante não é ler uma única fatura, mas sim que um único gatilho precisa se transformar em várias análises, e a maioria dos tutoriais ignora isso silenciosamente, observando uma pasta onde alguém já separou os arquivos. Este Zap não ignora essa etapa. São três passos, e o do meio é o loop.

O Zap em resumo
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.
A versão curta

Um fornecedor envia um e-mail para sua caixa de entrada compartilhada com duas faturas em anexo. O recurso Looping by Zapier divide a lista de anexos em uma iteração por arquivo, e cada iteração executa o AI Document Parser PDF4me em seu respectivo anexo. Você obtém um JSON estruturado por fatura, com uma pontuação de confiança em cada campo, pronto para ser mapeado para o Planilhas Google, Airtable ou seu livro-razão. Três etapas, sem código.

Perguntas e respostas baseadas no "porquê".​

Why trigger on a shared mailbox instead of a folder?Porque é lá que as faturas já estão armazenadas. Pedir aos fornecedores que façam o upload para um portal, ou pedir a alguém que salve anexos no Dropbox primeiro, adiciona uma etapa manual exatamente no ponto em que você está tentando automatizar. Uma caixa de correio compartilhada também é a versão disso que sobrevive à saída de alguém: o endereço pertence à função, não ao indivíduo.

Why do you need a loop at all?Como uma etapa Zap é executada uma vez por gatilho, e um e-mail pode conter qualquer número de anexos, sem o loop você analisa o primeiro anexo que Zapier envia e descarta silenciosamente o restante. Isso é o pior tipo de bug: o Zap fica verde, mas as faturas desaparecem. Looping transforma a lista de anexos em uma iteração por arquivo.

Why an Analyzer instead of a fixed invoice schema?Porque os campos de que você realmente precisa são específicos do seu livro-razão. AI Document Parser executa um Analyzer que você define uma única vez no painel PDF4me; assim, a mesma ação processa faturas hoje e pedidos de compra ou notas de entrega posteriormente. Altere o esquema e todos Zap que apontam para esse Analyzer o incorporarão sem precisar recompilar.

Why do confidence scores matter more than the extracted values?Porque o OCR não emite erros de forma alarmante. Ele retorna uma resposta incorreta plausível. O analisador sintático reporta uma pontuação por campo, então você pode encaminhar qualquer resultado abaixo do seu limite para revisão humana em vez de publicá-lo. No teste capturado, as pontuações totais ficaram na casa dos 90, enquanto o status de faturamento obteve 59,8, que é exatamente a distinção que uma fila de revisão deve considerar.


O que você receberá​

Entrada: um e-mail em uma caixa de correio compartilhada com qualquer número de faturas em PDF anexadas. Saída: uma execução Zap por anexo, cada uma retornando a fatura como JSON estruturado com uma pontuação de confiança por campo, pronta para ser integrada a qualquer aplicativo subsequente.

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

Dois anexos, uma mensagem, um corpo de texto com duas palavras. Essa é a entrada que o Zap precisa processar.

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

Um e-mail entra, duas execuções saem. Cada iteração do loop é uma execução Zap separada no histórico.


Do que você precisa​

  • A Zapier account.Looping by Zapier É um aplicativo integrado, portanto, não há nada para instalar. Verifique seu plano: Zap com várias etapas são necessários e cada iteração do loop conta como uma tarefa.
  • PDF4me API key.Get your API key O Zap runs no aplicativo PDF4me na versão 1.30.0.
  • An Analyzer saved in the PDF4me dashboard.Open the Analyzer list O Analyzer default_invoice_extraction integrado produz a saída mostrada aqui, então você pode começar por ele e criar o seu próprio posteriormente.
  • A Microsoft Outlook shared mailboxque recebe faturas de fornecedores e uma conta com permissão para lê-las. Se você ainda não tem uma,Microsoft documents how to create one.
  • A test email you control, com pelo menos dois PDFs anexados, para que você possa comprovar que o loop é executado mais de uma vez antes de direcionar o Zap para o e-mail do fornecedor em produção.
Use a mesma fatura utilizada neste passo a passo.
Anexe este documento ao seu e-mail de teste e o Doc Text deverá corresponder ao JSON mostrado abaixo, campo por campo. Trata-se de uma fatura de exemplo com dois itens, sendo um deles um desconto negativo, o que é útil para verificar a consistência do analisador sintático.
Baixe o arquivo sample-invoice-13594027.pdf

O Zap em resumo​

  1. New Email in Shared Mailbox (Microsoft Outlook) verifica a caixa de correio a cada 2 minutos.
  2. Create Loop From Line Items (Looping by Zapier) transforma a lista de anexos em uma iteração por arquivo.
  3. O AI - Document Parser (PDF4me) executa o Analyzer no anexo da iteração atual.

Visão geral 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

Três etapas. O loop no meio é o que faz com que a terceira etapa seja executada uma vez por dispositivo.


Passo 1: Como acionar um Zap a partir de uma caixa de correio compartilhada?​

Fluxo até agora: nada ainda, este é o gatilho.

O evento é a chegada de uma fatura, portanto, a caixa de correio é o gatilho.

  1. Crie um Zap e selecione Microsoft Outlook > New Email in Shared Mailbox.
  2. Conecte a conta que tem permissão para ler a caixa de correio e, em seguida, escolha o endereço da caixa de correio compartilhada e a pasta que deseja monitorar. Monitorar a Caixa de Entrada é uma boa opção para começar.
  3. Teste o gatilho com o e-mail que você preparou. Zapier reporta " Encontrado 1 novo e-mail no Microsoft Outlook e a lista de anexos fica disponível para as etapas posteriores como itens de linha.

O intervalo de pesquisa no Zap capturado é exibido como 2 minutos, que é a programação do plano Zapier e não algo que você tenha configurado na etapa.

Tip.Use uma pasta dedicada, e não a Caixa de Entrada inteira, assim que isso deixar de ser um teste. Uma regra Outlook no servidor que arquiva e-mails de fornecedores em uma pasta específica.Invoices A pasta oferece um escopo de gatilhos limpo e um local para verificar quando algo não é acionado. Ela também impede que o Zap execute tarefas em massa em newsletters.


Passo 2: Como percorrer todos os anexos em um único e-mail?​

Fluxo até o momento: o gatilho Outlook.

Esta é a etapa que transforma um único e-mail em uma única execução por fatura.

  1. Adicionar Looping by Zapier > Create Loop From Line Items.
  2. Em Values to Loop, mapeie os itens de linha do anexo do gatilho. A execução capturada intercala dois valores, que é o padrão a ser copiado:
    • Attachments Name, o nome do arquivo
    • Attachments File, o próprio arquivo
  3. Teste a etapa. Zapier reporta "1 novo Loop enviado para Looping by Zapier e a aba " Data out mostra a primeira iteração, além de uma prévia de todas elas.

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 lê 2, um por anexo, e preview_loop_values nomeia ambos os arquivos antes que qualquer um deles tenha sido analisado.

O que o laço te oferece​

CampoValor na execução capturadaPara que você o usa?
Loop Iteration1Em qual passe você está, contando a partir de 1?
Attachments NameSamples 2.pdfO nome do arquivo para esta iteração, útil para nomear registros posteriores.
Attachments FileUm URL zapier-dev-files.s3.amazonaws.comO próprio arquivo e o que você mapeia no analisador sintático.
Loop Total Iterations2Quantos anexos havia no e-mail?
Loop Iteration Is LastfalseDispare um resumo ou uma notificação somente quando isso se tornar verdadeiro.
Loop Idd889b92b-c6a1-4abc-a6a1-a1d4c1c78e1dVincula todas as iterações de um e-mail, que é o que você agrupa posteriormente.
preview_loop_valuesIteração 1 Samples 2.pdf, iteração 2 Samples 1.pdfA lista completa, visível na primeira visualização.

Antes de prosseguir, é importante observar dois detalhes. O loop não é executado na ordem em que os anexos aparecem no Outlook: o e-mail exibiu a Amostra 2 primeiro e o loop concordou, mas você nunca deve confiar nisso. Além disso, Loop Id é o único elemento que conecta as linhas resultantes ao e-mail de origem, portanto, mapeie-o posteriormente agora, em vez de se arrepender depois.

Tip.Cada iteração é uma execução separada Zap e consome uma tarefa. Um e-mail com dez anexos corresponde a dez tarefas, não apenas uma, o que é a surpresa mais comum na fatura mensal.Zapier documents the loop limits E vale a pena lê-las antes de enviar isto para uma caixa de correio movimentada.


Etapa 3: Como transformar cada anexo em JSON estruturado?​

Fluxo até agora: o gatilho mais o loop.

A partir daqui, tudo é executado uma vez por anexo, pois está dentro do loop.

  1. Adicione PDF4me > AI - Document Parser e conecte sua chave de API.
  2. Configurar:
    • File: o token Attachments File do loop, não do gatilho. Este é o erro que as pessoas costumam cometer.
    • File Name e File Ext: construa o nome a partir do Attachments Name do loop.
    • AI Analyzer Id: selecione seu Analyzer no menu suspenso. O analisador default_invoice_extraction produz a saída abaixo.
    • AI Analyzer Name (Deprecated): deixe em branco.
  3. Teste. Zapier reporta o envio de 1 novo Process Document para Pdf4me, e Data out contém os campos analisados.

AI - Document Parser, primeiro anexo​

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 contém a fatura. Cada campo também aparece no docConfidenceLevel com uma pontuação associada.

Saída AI - Document Parser, segundo anexo​

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

Um Trace Id diferente e um ID de documento diferente são as formas de distinguir as duas análises nos registros.

Ambos os anexos nesta captura contêm a mesma fatura de exemplo, portanto os valores extraídos coincidem. O que a segunda execução comprova não é que o analisador processa dois layouts diferentes, mas sim que a terceira etapa foi executada duas vezes a partir de um único e-mail.

O que retorna​

Campo de saídaO que contém
Trace IdÚnico por chamada. Informe-o em um ticket de suporte.
Document Document IdO ID do PDF4me para o documento analisado é diferente a cada execução.
Document Doc TextA carga útil JSON: os campos extraídos mais docConfidenceLevel
Document File Name, Document Name, DocMetadataNomes e metadados, preenchidos de acordo com o que você mapeia em

Dentro do Doc Text o Analyzer default_invoice_extraction retorna os campos do cabeçalho (invoiceNumber, invoiceDate, invoiceDateString, orderId, customerPO, paymentDeadline), o bloco do fornecedor (vendorName, vendorAddress, vendorPhone, vendorEmail e identificadores fiscais, incluindo vendorGSTIN, vendorPAN, vendorCIN, vendorVatUidNr, iban), o bloco do cliente (billTo, billToAddress, billToPhone, billToEmail, billToState, billToPincode), os totais (subTotal, cgst, sgst, cgstRate, sgstRate, totalTaxAmount, total) e uma matriz lineItems. Para a fatura de exemplo que resulta no invoiceNumber 13594027, billTo John Smith, total 37.5 e dois itens de linha, o segundo dos quais é a linha de desconto -12.5.

Lendo os índices de confiança​

docConfidenceLevel espelha o mesmo formato, mas com um número no lugar de cada valor. Esses valores representam as pontuações das duas execuções registradas, e a diferença entre elas é o ponto.

CampoExecução 1Execução 2O que isso te diz
vendorEmail98.998.9Texto legível por máquina, confie nele.
vendorName98.598.5Título claro, confie nele.
billTo97.397.3Limpe, confie nisso
subTotal9594.7Bom, e vale a pena verificar a tolerância em relação total
total92.892.8Ótimo, mas este é o campo que vale a pena verificar automaticamente.
billToAddress79.581.9Multilinhas e com quebra de linha, verifique se é importante.
billToPincode60.860.8O exemplo inclui cidade, estado e código postal em conjunto.
billToState59.859.8Na parte inferior do documento, não publique isso sem revisão.

O mesmo documento obteve pontuações ligeiramente diferentes em duas análises, o que é normal para um modelo e é exatamente por isso que você define um limite em vez de confiar em um único número. Escolha um limite mínimo, encaminhe tudo o que estiver abaixo dele para uma pessoa e deixe o restante passar.


Execute o Zap e verifique.​

  1. Publish o Zap.
  2. Envie um e-mail de teste para a caixa de correio compartilhada com dois PDFs anexados.
  3. Aguarde a votação e, em seguida, abra Zap history.
  4. Você deverá ver duas execuções do Zap, não apenas uma, cada uma marcada como Bem-sucedida e cada uma consumindo 1 tarefa.
  5. Abra cada execução e verifique Data out da etapa 3: o Trace Id e Document Document Id devem ser diferentes entre elas, e Doc Text deve conter a fatura do anexo.
  6. Verifique o Loop Total Iterations na etapa 2. Se o valor for 1 quando você anexar dois arquivos, o problema está no mapeamento de Values to Loop, e não no analisador sintático.

Na execução capturada, as duas Zap runs foram concluídas às 19:02:53 e 19:03:37 do dia 15 de outubro de 2026, ambas com sucesso, 1 tarefa cada, a partir de um único e-mail contendo 395 KB de anexos.

What did you actually build?Um sistema de entrada de faturas que começa onde as faturas realmente chegam. Ninguém baixa anexos, ninguém digita novamente o total, e um e-mail com cinco faturas gera cinco registros estruturados em vez de um. Os índices de confiança oferecem um ponto de referência sensato para diferenciar entre o processamento automático e o revisado.


Variações comuns que você pode adicionar sem reconstruir​

Anote todas as faturas em uma folha.
Adicione uma etapa Google Sheets ou Airtable após o analisador, ainda dentro do loop. Mapeie Loop Id para sua própria coluna, para que cada linha de um e-mail possa ser agrupada novamente.
Encaminhe as faturas de baixa confiança para um humano.
Adicione um Filter by Zapier em um campo docConfidenceLevel. Acima do limite definido, a publicação é automática; abaixo, o documento é encaminhado para uma fila de revisão ou para um canal Slack com o Trace Id anexado.
Ignore tudo que não seja uma fatura.
Os fornecedores também anexam assinaturas e logotipos. Um filtro para Attachments Name que terminam em .pdf, colocado dentro do loop, impede que o analisador seja chamado em uma imagem, evitando o desperdício de uma tarefa.
Analise algo que não sejam faturas.
A ação é orientada por esquema. PontoAI Analyzer Id em umClassify Analyzer e um Zap processam faturas, pedidos de compra e notas de entrega, retornando o tipo correspondente com seus respectivos campos.

Como isso se compara a outras formas de realizar OCR em faturas?​

Cada linha descreve a alternativa. A última linha é este Zap.

ComparaçãoQuem o dirige?De onde vêm as faturas?O que você mantém
Plataforma de automação de contas a pagar versus este ZapFinanças, em um produto dedicado.Um endereço de encaminhamento para esse produto.Um contrato por documento e suas regras de aprovação
API OCR chamada a partir do código versus este ZapUm desenvolvedor, em um aplicativoIndependentemente do que seu código buscarO código, a consulta à caixa de correio e as novas tentativas.
Módulo de captura ERP versus este ZapFinanças dentro do ERPUm scanner ou uma pasta de arrastar e soltar.Licenças e um fluxo de trabalho vinculado a esse ERP.
Este ZapQualquer pessoa que saiba editar um ZapA caixa de correio compartilhada que você já usa.Três etapas e um esquema Analyzer

Perguntas frequentes​

O que é OCR de faturas?​

O OCR de faturas lê a fatura com um software em vez de uma pessoa, de forma que o fornecedor, a data, os itens e o total sejam extraídos como dados que seus sistemas podem usar. O OCR clássico apenas recuperava os caracteres da página e deixava para você descobrir qual número era o total; os analisadores de IA que o substituíram retornam os campos nomeados diretamente.

Essa distinção é importante na hora de escolher uma ferramenta. Uma biblioteca que executaoptical character recognition Fornece o texto. Um analisador de documentos fornece total, invoiceNumber e billTo, que é o que um Zap pode mapear em uma planilha.

Como funciona o recurso de looping do Zapier?​

O recurso Looping by Zapier é um aplicativo integrado que repete as etapas abaixo, uma vez para cada item. Create Loop From Line Items utiliza um conjunto de itens de linha de uma etapa anterior, como a lista de anexos de um e-mail, e inicia uma iteração para cada item.

Cada iteração é uma execução separada Zap, com sua própria entrada no Zap history e seu próprio consumo de tarefas. Dentro de uma iteração, você obtém Loop Iteration, Loop Total Iterations, se Loop Iteration Is Last e um Loop Id compartilhado por todas as iterações do mesmo registro de origem.

O que é o processamento de faturas por OCR?​

O processamento de faturas por OCR abrange todo o processo, não apenas a etapa de leitura: uma fatura chega, seus campos são extraídos, os valores são verificados e o resultado é lançado em um livro-razão ou em uma fila de revisão. A extração geralmente é a parte mais fácil.

Os fatores que determinam se funciona na prática são a entrada de dados e o tratamento de exceções. Este Zap aborda a entrada de dados com a caixa de correio compartilhada e o loop, e fornece a base para o tratamento de exceções com docConfidenceLevel.

Como automatizar as contas a pagar?​

Comece pela entrada de dados, pois etapas manuais nessa etapa desfazem todo o trabalho subsequente. Forneça um único endereço aos fornecedores, configure o gatilho para isso e certifique-se de que um único e-mail com várias faturas gere vários registros, em vez de apenas um.

Em seguida, decida quais lançamentos serão automáticos. Um limite de confiança nos campos extraídos divide as faturas entre aquelas que seu sistema pode processar sem supervisão e aquelas que devem ser visualizadas por um funcionário. Essa divisão é o que torna a automação segura para ser mantida em execução.


Solução de problemas​

Apenas o primeiro anexo é analisado.

VerificarLoop Total Iterations Na etapa 2. Se estiver escrito 1,Values to Loop é mapeado para um único campo em vez dos itens de linha do anexo, portanto o loop não tem nada para iterar. Se ler 2, mas apenas uma análise ocorreu, a etapa 3File é mapeado para o gatilho em vez de para o loop.Attachments File.

O número de tarefas é maior do que você esperava.

Este é o loop funcionando conforme o esperado. Um e-mail com dez anexos resulta em dez execuções e dez tarefas. Adicione um filtro dentro do loop para que assinaturas, logotipos e qualquer outro elemento que não seja um PDF nunca cheguem ao analisador.

Doc Text retorna vazio ou com campos ausentes.

O Analyzer decide quais campos existem. Uma chave vazia significa que o esquema solicitou algo que este documento não contém, o que é normal. Uma chave completamente vazia significa que o esquema solicitou algo que este documento não contém.Doc Text geralmente significa erradoAI Analyzer Id ou um arquivo que chegou à ação sem sua extensão, então verifiqueFile Name eFile Ext.

Os valores parecem corretos, mas são enviados incorretamente para o fluxo de dados subsequente.

VejadocConfidenceLevel antes de culpar o mapeamento. Nesta captura, os totais pontuaram acima de 92 enquantobillToState obteve 59,8 pontos, então um campo pode estar presente, ser plausível e ainda assim estar errado. Mantenha oTrace Id em cada registro, para que você possa relacionar uma linha ruim à sua sequência original.


Próximos passos​

A parte difícil da automação de faturas nunca foi ler a fatura em si. O problema era o envelope em que ela chegava, e um laço é o que o abre.