Saltar al contenido principal

Reconocimiento óptico de caracteres (OCR) de facturas en Zapier: recorra todos los archivos adjuntos de un buzón compartido con el analizador de documentos PDF4me AI Document Parser

· 26 min de lectura
SEO and Content Writer

PDF4me AI Document Parser es una acción Zapier que lee un documento con inteligencia artificial y devuelve sus campos en formato JSON. Combinado con Looping by Zapier, gestiona el caso habitual en cuentas por pagar: un correo electrónico con varias facturas, donde cada archivo adjunto se analiza en una ejecución independiente.

Todas las herramientas OCR para facturas demuestran lo mismo: un solo documento que entra y campos limpios que salen. Pero las facturas no llegan así. Llegan como un correo electrónico a una bandeja de entrada compartida, de un proveedor que adjuntó tres PDF y escribió " PFA " en el cuerpo. El problema no es leer una sola factura, sino que un solo disparador tiene que convertirse en varios análisis, y la mayoría de los tutoriales lo omiten simplemente observando una carpeta donde alguien ya ha dividido los archivos. Este Zap no lo omite. Tres pasos, y el del medio es el bucle.

El Zap de un vistazo
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 versión corta

Un proveedor envía un correo electrónico a tu buzón compartido con dos facturas adjuntas. Looping by Zapier divide la lista de archivos adjuntos en una iteración por archivo, y cada iteración ejecuta el AI Document Parser PDF4me AI en su archivo adjunto correspondiente. Obtienes un JSON estructurado por factura, con un índice de confianza en cada campo, listo para integrarse en Hojas de cálculo de Google, Airtable o tu libro mayor. Tres pasos, sin código.

Preguntas y respuestas basadas en el porqué​

Why trigger on a shared mailbox instead of a folder?Porque ahí es donde ya se encuentran las facturas. Pedir a los proveedores que las suban a un portal, o que guarden los archivos adjuntos en Dropbox, añade un paso manual justo en el punto que se intenta automatizar. Un buzón compartido también es la solución que se mantiene incluso si alguien se va: la dirección pertenece a la función, no al usuario.

Why do you need a loop at all?Dado que un paso Zap se ejecuta una vez por cada activador, y un correo electrónico puede contener cualquier número de archivos adjuntos, sin el bucle, se procesa el primer archivo adjunto que Zapier proporciona y se descartan los demás, lo cual es el peor tipo de error: el Zap se ejecuta correctamente y las facturas desaparecen. Looping convierte la lista de archivos adjuntos en una iteración por archivo.

Why an Analyzer instead of a fixed invoice schema?Porque los campos que realmente necesitas son específicos de tu libro mayor. AI Document Parser ejecuta un Analyzer que defines una sola vez en el panel de control PDF4me, de modo que la misma acción gestiona las facturas hoy y los pedidos de compra o albaranes más adelante. Modifica el esquema y cada Zap que apunte a ese Analyzer lo detectará sin necesidad de reconstruirlo.

Why do confidence scores matter more than the extracted values?Porque el OCR no falla de forma evidente. Devuelve una respuesta errónea plausible. El analizador informa una puntuación por campo, por lo que puedes redirigir cualquier resultado por debajo de tu umbral a un humano en lugar de publicarlo. En la ejecución capturada, los totales obtuvieron puntuaciones superiores a noventa, mientras que el estado de facturación obtuvo 59,8, que es precisamente la distinción que debería tener en cuenta una cola de revisión.


Lo que obtendrás​

Entrada: un correo electrónico en un buzón compartido con cualquier número de facturas en formato PDF adjuntas. Salida: una ejecución Zap por cada archivo adjunto, que devuelve la factura como JSON estructurado con una puntuación de confianza por campo, lista para integrarse en cualquier aplicación posterior.

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

Dos archivos adjuntos, un mensaje, un texto de dos palabras. Esta es la información que Zap debe procesar.

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 correo electrónico entra, dos salen. Cada iteración del bucle es una ejecución Zap independiente en el historial.


Lo que necesitas​

  • A Zapier account.Looping by Zapier Es una aplicación integrada, así que no hay nada que instalar. Revisa tu plan: se requieren Zap de varios pasos y cada iteración del bucle cuenta como una tarea.
  • PDF4me API key.Get your API key El Zap runs en la aplicación PDF4me versión 1.30.0.
  • An Analyzer saved in the PDF4me dashboard.Open the Analyzer list El Analyzer integrado default_invoice_extraction produce el resultado que se muestra aquí, por lo que puede comenzar por ahí y crear el suyo propio más adelante.
  • A Microsoft Outlook shared mailboxque recibe facturas de proveedores y una cuenta con permiso para leerlas. Si aún no tiene una,Microsoft documents how to create one.
  • A test email you control, con al menos dos archivos PDF adjuntos, para que puedas demostrar que el bucle se ejecuta más de una vez antes de dirigir Zap al correo electrónico del proveedor en tiempo real.
Utilice la misma factura que se usó en este tutorial.
Adjunte esto a su correo electrónico de prueba y el Doc Text debe coincidir con el JSON que se muestra a continuación, campo por campo. Se trata de una factura de ejemplo con dos líneas, una de ellas con un descuento negativo, lo cual resulta útil para comprobar el analizador sintáctico.
Descargar sample-invoice-13594027.pdf

El Zap de un vistazo​

  1. La New Email in Shared Mailbox " (Microsoft Outlook) consulta el buzón cada 2 minutos.
  2. Create Loop From Line Items (Looping by Zapier) convierte la lista de archivos adjuntos en una iteración por archivo.
  3. AI - Document Parser (PDF4me) ejecuta el Analyzer sobre el archivo adjunto de la iteración actual.

Descripción general 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

Tres pasos. El bucle del medio es lo que hace que el tercer paso se ejecute una vez por cada conexión.


Paso 1: ¿Cómo se activa un Zap desde un buzón de correo compartido?​

Flujo hasta ahora: nada todavía, este es el detonante.

La llegada de una factura es el evento, por lo que el buzón de correo es el desencadenante.

  1. Crea un Zap y selecciona Microsoft Outlook > New Email in Shared Mailbox.
  2. Conecta la cuenta que tenga permiso para leer el buzón, luego elige la dirección del buzón compartido y la carpeta que deseas supervisar. Para empezar, puedes supervisar la Bandeja de entrada.
  3. Prueba el activador con el correo electrónico que preparaste. Zapier informa que se encontró 1 correo electrónico nuevo en Microsoft Outlook y la lista de archivos adjuntos estará disponible para pasos posteriores como elementos de línea.

El intervalo de sondeo en el Zap capturado se muestra como 2 min, que es la programación del plan de Zapier y no algo que hayas configurado en el paso.

Tip.Utilice una carpeta dedicada, no toda la Bandeja de entrada, tan pronto como esto sea más que una prueba. Una regla Outlook del lado del servidor que archiva el correo de los proveedores en unaInvoices La carpeta te proporciona un ámbito de activación claro y un lugar donde buscar cuando algo no se ejecuta. También evita que Zap genere tareas de envío de boletines informativos.


Paso 2: ¿Cómo se realiza un bucle para todos los archivos adjuntos de un mismo correo electrónico?​

Flujo hasta ahora: el activador Outlook.

Este es el paso que convierte un correo electrónico en una ejecución por factura.

  1. Agregar Looping by Zapier > Create Loop From Line Items.
  2. En Values to Loop, asigne los elementos de la línea adjunta del desencadenador. La ejecución capturada repite dos valores juntos, que es el patrón que se debe copiar:
    • Attachments Name, el nombre del archivo
    • Attachments File, el archivo en sí
  3. Prueba el paso. Zapier informa que se envió 1 nuevo bucle a Looping by Zapier y la pestaña Data out muestra la primera iteración más una vista previa de todas ellas.

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 lee 2, uno por archivo adjunto, y preview_loop_values nombra ambos archivos antes de que se haya analizado cualquiera de ellos.

Lo que te da el bucle​

CampoValor en la ejecución capturadaPara qué lo usas
Loop Iteration1¿En qué pase te encuentras, contando desde el 1?
Attachments NameSamples 2.pdfEl nombre de archivo para esta iteración, útil para nombrar registros posteriores.
Attachments FileUna URL zapier-dev-files.s3.amazonaws.comEl archivo en sí y lo que se asigna al analizador
Loop Total Iterations2¿Cuántos archivos adjuntos contenía el correo electrónico?
Loop Iteration Is LastfalseEnvía un resumen o una notificación solo cuando esto se cumpla.
Loop Idd889b92b-c6a1-4abc-a6a1-a1d4c1c78e1dVincula todas las iteraciones de un correo electrónico, que es lo que se agrupa por flujo descendente.
preview_loop_valuesIteración 1 Samples 2.pdf, iteración 2 Samples 1.pdfLa lista completa, visible en la primera pasada

Hay dos detalles que conviene tener en cuenta antes de continuar. El bucle no se ejecuta en el orden en que aparecen los archivos adjuntos en Outlook: el correo mostró primero el archivo de muestra 2 y el bucle lo confirmó, pero nunca debes confiar en ello. Además, Loop Id es lo único que conecta las filas resultantes con el correo electrónico de origen, así que mapéalo ahora en lugar de arrepentirte después.

Tip.Cada iteración es una ejecución independiente Zap y consume una tarea. Un correo electrónico con diez archivos adjuntos implica diez tareas, no una, lo cual suele ser la sorpresa más común en la factura mensual.Zapier documents the loop limits y vale la pena leerlos antes de enviar esto a un buzón de correo lleno.


Paso 3: ¿Cómo se convierte cada archivo adjunto en JSON estructurado?​

Flujo hasta ahora: el disparador más el bucle.

Todo lo que sucede a partir de aquí se ejecuta una vez por cada archivo adjunto, porque se encuentra dentro del bucle.

  1. Añade PDF4me > AI - Document Parser y conecta tu clave API.
  2. Configurar:
    • File: el token Attachments File proviene del bucle, no del disparador. Este es el único error que suele cometer la gente.
    • File Name y File Ext: construya el nombre a partir del Attachments Name del bucle.
    • AI Analyzer Id: seleccione su Analyzer en el menú desplegable. default_invoice_extraction produce el resultado que se muestra a continuación.
    • AI Analyzer Name (Deprecated): dejar en blanco.
  3. Prueba. Zapier informa que se envió 1 nuevo Process Document a Pdf4me y que Data out contienen los campos analizados.

AI - Document Parser, primer archivo adjunto​

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 factura. Cada campo también aparece en docConfidenceLevel con una puntuación asociada.

AI - Document Parser, segundo archivo adjunto​

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 diferente y un ID de documento diferente, que es como se distinguen los dos análisis en los registros.

Ambos archivos adjuntos de esta captura contienen la misma factura de muestra, por lo que las cifras extraídas coinciden. Lo que demuestra la segunda ejecución no es que el analizador procese dos diseños diferentes, sino que el tercer paso se ejecutó dos veces a partir de un mismo correo electrónico.

Lo que regresa​

Campo de salidaLo que contiene
Trace IdÚnico por llamada. Indíquelo en un ticket de soporte.
Document Document IdEl ID de PDF4me para el documento analizado, diferente en cada ejecución.
Document Doc TextLa carga útil JSON: los campos extraídos más docConfidenceLevel
Document File Name, Document Name, DocMetadataNombres y metadatos, completados según lo que asigne en

Dentro de Doc Text el Analyzer default_invoice_extraction devuelve los campos de encabezado (invoiceNumber, invoiceDate, invoiceDateString, orderId, customerPO, paymentDeadline), el bloque del proveedor (vendorName, vendorAddress, vendorPhone, vendorEmail y los identificadores fiscales incluidos vendorGSTIN, vendorPAN, vendorCIN, vendorVatUidNr, iban), el bloque del cliente (billTo, billToAddress, billToPhone, billToEmail, billToState, billToPincode), los totales (subTotal, cgst, sgst, cgstRate, sgstRate, totalTaxAmount, total) y una matriz lineItems. Para la factura de muestra que se resuelve en invoiceNumber 13594027, billTo John Smith, total 37.5 y dos partidas, la segunda de las cuales es la línea de descuento -12.5.

Lectura de las puntuaciones de confianza​

docConfidenceLevel refleja la misma forma, pero con un número en lugar de cada valor. Estas son las puntuaciones de las dos ejecuciones capturadas, y la diferencia es el punto.

CampoCarrera 1Carrera 2Lo que te dice
vendorEmail98.998.9Texto legible por máquina, confía en ello.
vendorName98.598.5Encabezado limpio, confía en ello.
billTo97.397.3Limpio, confía en ello
subTotal9594.7Bien, y merece la pena comprobar la tolerancia con respecto total
total92.892.8Bien, pero este es el campo que merece la pena revisar automáticamente.
billToAddress79.581.9Varias líneas y envuelto, revise si es necesario.
billToPincode60.860.8La muestra ejecuta la ciudad, el estado y el código postal juntos.
billToState59.859.8Al final del documento, no publique esto sin revisar.

El mismo documento obtuvo una puntuación ligeramente diferente en dos pasadas, lo cual es normal para un modelo y es precisamente por eso que se establece un umbral en lugar de confiar en un solo número. Elija un límite inferior, asigne a una persona todo lo que esté por debajo de ese límite y deje pasar el resto.


Ejecuta el Zap y verifica​

  1. Publish el Zap.
  2. Envía un correo electrónico de prueba al buzón compartido con dos archivos PDF adjuntos.
  3. Espera a que termine la encuesta y luego abre Zap history.
  4. Deberías ver dos ejecuciones del Zap, no una, cada una marcada como Exitosa y cada una consumiendo 1 tarea.
  5. Abra cada ejecución y revise Data out del paso 3: el Trace Id y Document Document Id deben ser diferentes entre ellos, y Doc Text debe contener la factura de ese archivo adjunto.
  6. Compruebe el valor Loop Total Iterations en el paso 2. Si muestra 1 cuando adjunta dos archivos, el problema reside en la asignación de Values to Loop, no en el analizador.

En la ejecución capturada, las dos Zap runs se completaron a las 19:02:53 y a las 19:03:37 del 15 de octubre de 2026, ambas exitosas, 1 tarea cada una, a partir de un único correo electrónico con 395 KB de archivos adjuntos.

What did you actually build?Un sistema de recepción de facturas que comienza donde realmente llegan. Nadie descarga archivos adjuntos, nadie vuelve a escribir el total y un correo electrónico con cinco facturas genera cinco registros estructurados en lugar de uno. Los índices de confianza ofrecen un punto de referencia lógico para diferenciar entre lo automático y lo revisado.


Variaciones comunes que puedes agregar sin reconstruir​

Escriba cada factura en una hoja
Agrega un paso Google Sheets o Airtable después del analizador, aún dentro del bucle. Asigna Loop Id a su propia columna para que cada fila de un correo electrónico pueda agruparse nuevamente.
Dirija las facturas de baja confianza a un humano
Agregue un Filter by Zapier al campo docConfidenceLevel. Si supera el umbral, se publicará automáticamente; si está por debajo, se enviará a una cola de revisión o a un canal Slack con el Trace Id adjunto.
Ignora todo lo que no sea una factura.
Los proveedores también adjuntan firmas y logotipos. Un filtro para Attachments Name con extensión .pdf, ubicado dentro del bucle, evita que el analizador se ejecute en una imagen y desperdicie una tarea.
Analizar algo distinto a las facturas
La acción está guiada por esquemas. PuntoAI Analyzer Id en unClassify Analyzer y un Zap gestionan facturas, órdenes de compra y albaranes, devolviendo el tipo coincidente con sus campos.

¿Cómo se compara esto con otros métodos de OCR para facturas?​

Cada fila describe la alternativa. La última fila es este Zap.

Comparación¿Quién lo dirige?De dónde provienen las facturasLo que mantienes
Plataforma de automatización de AP frente a este ZapFinanzas, en un producto específicoUna dirección de reenvío a ese producto.Un contrato por documento y sus reglas de aprobación
API de OCR llamada desde código vs este ZapUn desarrollador, en una aplicaciónLo que sea que obtenga tu códigoEl código, el sondeo del buzón y los reintentos.
Módulo de captura ERP frente a este ZapFinanzas, dentro del ERPUn escáner o una carpeta de destinoLicencias y un flujo de trabajo vinculado a ese ERP.
Este ZapCualquiera que pueda editar un ZapEl buzón compartido que ya utilizaTres pasos y un esquema Analyzer

Preguntas frecuentes​

¿Qué es el OCR de facturas?​

El OCR de facturas lee la factura mediante software en lugar de una persona, de modo que el proveedor, la fecha, los artículos y el total se convierten en datos que sus sistemas pueden utilizar. El OCR clásico solo recuperaba los caracteres de la página y dejaba que el usuario dedujera el total; los analizadores de IA que lo reemplazaron devuelven directamente los campos con nombre.

Esa distinción importa cuando eliges una herramienta. Una biblioteca que realizaoptical character recognition te da texto. Un analizador de documentos te da total, invoiceNumber y billTo, que es lo que un Zap puede realmente asignar a una hoja de cálculo.

¿Cómo funciona la función de bucle de Zapier?​

Looping by Zapier es una aplicación integrada que repite los pasos siguientes, una vez por cada elemento. Create Loop From Line Items toma un conjunto de elementos de un paso anterior, como la lista de archivos adjuntos de un correo electrónico, e inicia una iteración por cada elemento.

Cada iteración es una ejecución Zap independiente con su propia entrada en Zap history y su propio consumo de tareas. Dentro de una iteración, se obtienen Loop Iteration, Loop Total Iterations, Loop Iteration Is Last y un Loop Id compartido por todas las iteraciones del mismo registro de origen.

¿Qué es el procesamiento de facturas mediante OCR?​

El procesamiento de facturas mediante OCR abarca todo el proceso, no solo la lectura: llega una factura, se extraen sus campos, se verifican los valores y el resultado se registra en un libro mayor o en una cola de revisión. La extracción suele ser la parte más sencilla.

Las partes que determinan si funciona en la práctica son la recepción de datos y el manejo de excepciones. Este Zap cubre la recepción de datos con el buzón compartido y el bucle, y proporciona el material básico para el manejo de excepciones con docConfidenceLevel.

¿Cómo se automatizan las cuentas por pagar?​

Empiece por la recepción de datos, ya que los pasos manuales en esa etapa deshacen todo lo demás. Asigne a los proveedores una única dirección, active el proceso en función de ella y asegúrese de que un correo electrónico con varias facturas genere varios registros en lugar de uno solo.

Luego, decide qué se contabiliza automáticamente. Un umbral de confianza en los campos extraídos divide las facturas en aquellas que tu libro mayor puede procesar sin supervisión y aquellas que debe revisar una persona. Esta división es lo que garantiza que la automatización se pueda dejar en funcionamiento de forma segura.


Solución de problemas​

Solo se analiza el primer archivo adjunto.

ControlarLoop Total Iterations en el paso 2. Si dice 1,Values to Loop se asigna a un solo campo en lugar de a los elementos de la línea adjunta, por lo que el bucle no tiene nada sobre lo que iterar. Si lee 2 pero solo se produjo un análisis, el paso 3File se asigna al disparador en lugar de al bucle.Attachments File.

El número de tareas es mayor de lo esperado.

Este es el bucle funcionando según lo previsto. Un correo electrónico con diez archivos adjuntos genera diez ejecuciones y diez tareas. Agregue un filtro dentro del bucle para que las firmas, los logotipos y cualquier archivo que no sea un PDF nunca lleguen al analizador.

Doc Text aparece vacío o con campos faltantes.

El Analyzer decide qué campos existen. Una clave vacía significa que el esquema solicitó algo que este documento no contiene, lo cual es normal. Una clave completamente vacíaDoc Text generalmente significa incorrectoAI Analyzer Id, o un archivo que llegó a la acción sin su extensión, así que verifiqueFile Name yFile Ext.

Los valores parecen correctos, pero se publican incorrectamente en la transmisión posterior.

Mira adocConfidenceLevel antes de culpar al mapeo. En esta captura los totales puntuados por encima de 92 mientrasbillToState obtuvo una puntuación de 59.8, por lo que un campo puede estar presente, ser plausible y aun así estar equivocado. Mantén elTrace Id en cada registro para que puedas relacionar una fila defectuosa con su ejecución.


Próximos pasos​

La parte difícil de la automatización de facturas nunca fue leer la factura en sí. El problema radicaba en el sobre en el que llegaba, y un bucle era lo que lo abría.