Saltar al contenido principal

Factura suiza con código QR desde Airtable en Zapier: Filtrar filas, generar el recibo, enviar correo electrónico al deudor.

· 26 min de lectura
SEO and Content Writer

Filter by Zapier determina qué filas Airtable se convierten en comprobantes de pago. Colóquelo entre un activador New Record y PDF4me, y solo las filas marcadas como listas recibirán una factura con código QR suizo, que luego se registra en el archivo y se envía por correo electrónico al deudor.

Un Zap que monitoriza una tabla se activa con cada fila que se añade. Para la mayoría de las automatizaciones, esto es simplemente un desperdicio. Para una que envía un comprobante de pago por correo electrónico a un cliente, marca la diferencia entre un proceso que funciona correctamente y enviar la misma factura tres veces porque alguien seguía escribiendo cuando se activó el disparador. El paso de filtro es la solución completa, y vale la pena comprenderlo bien en lugar de copiarlo.

El Zap de un vistazo
1. New Record
Airtable, que realiza sondeos cada 2 minutos. Detecta cada fila que se añade a la tabla.
2. Filter conditions
Filter by Zapier. Continúa solo cuando Status sea exactamente New.
3. Create SwissQR Bill
PDF4me. Genera el comprobante del acreedor, del deudor y QR-IBAN.
4. Update Record
Airtable. Escribe el archivo, el estado y un enlace a la misma fila.
5. Send Email
Gmail. Envía el comprobante a la dirección que aparece en la fila.
La versión corta

Alguien rellena una fila Airtable y establece Status en New. El Zap lo procesa, el filtro comprueba ese campo, PDF4me genera una factura QR suiza y la imagen se guarda en el registro mientras se envía una copia al deudor por correo electrónico. Establecer el estado en Generated en la misma ejecución evita que el Zap lo vuelva a detectar. Cinco pasos, y el más interesante es el filtro.

Preguntas y respuestas basadas en el porqué​

Why does this need a Filter step at all?Porque el activador Airtable de Zapier no tiene ninguna condición propia. Te entrega cada nuevo registro y deja la decisión en tus manos. Una fila escrita a medias, un duplicado, un registro creado por alguien para experimentar: todos llegan al paso 3 a menos que algo los detenga, y el paso 5 envía un correo electrónico a un cliente.

Why filter on Status rather than checking the fields are filled in?Dado que Status es una decisión personal y las demás columnas solo contienen datos, se podría comprobar que el QR-IBAN no esté vacío y que el importe sea superior a cero, pero aun así se estaría adivinando si la fila está completa. Un único campo que indique "He terminado" es más sencillo y transparente a la hora de determinar quién es el responsable.

Why clean the IBAN in Airtable instead of in the Zap?Porque Zapier no tiene lenguaje de expresiones en un campo. Make te permite envolver un valor enreplace() donde lo uses; Zapier no. Así que la limpieza se realiza un paso antes, en los campos de fórmula de Airtable, y el Zap los mapea. El efecto secundario es agradable: los valores limpios son visibles en la cuadrícula, así que puedes ver lo que enviará el Zap antes de que lo envíe.

Why does step 4 warn about a loop?Dado que escribe en la tabla que activa el Zap, en principio su propia actualización podría reactivarlo. En esta versión no puede, porque la actualización establece Status en Generated y el filtro solo acepta New. Es importante comprender esto en lugar de ignorarlo: el filtro no es solo una medida de orden, sino que es lo que rompe el ciclo.


Lo que obtendrás​

Entrada: una fila Airtable con un acreedor, un deudor, un importe, un QR-IBAN y una referencia, con Status establecido en New. Salida: una factura QR suiza asociada a ese registro, la fila marcada como Generated con un enlace y un correo electrónico al deudor.

Airtable base PDF4me Live Automations with the Swiss QR Requests table open, showing rows INV-1001 to INV-1004 and INV-2001 to INV-2003 with CreditorName Muster AG at Bahnhofstrasse 1, 8001 Zuerich CH, a QRIBAN beginning CH4431999123, DebtorName Test Kunde AG at Seestrasse 10 in 8002 Zuerich, Amount 100.50 CHF, a Status column where INV-2002 reads New and the rest read Generated, and two formula columns at the far right named QRIBANClean and AmountText

Fíjese en las dos columnas de la derecha. QRIBANClean y AmountText son campos de fórmula, y son los que realmente asigna Zap.

The generated Swiss QR bill for INV-2003, showing a Receipt half and a Payment part either side of a scissor line, both listing the account payable to Muster AG at Bahnhofstrasse 1, 8001 Zuerich, the structured reference, additional information Rechnung INV-2003, payable by Test Kunde AG at Seestrasse 10, 8002 Zuerich, and currency CHF with amount 100.50

Recibo, línea de corte, sección de pago. El diseño está preestablecido por la norma.

Gmail showing the received message with subject Your Swiss QR bill INV-2003, a body reading Hello Test Kunde AG, Please find your Swiss QR bill with the INV-2003 attached, Amount 100.50 CHF, and one attachment previewing the QR bill

La cantidad que aparece es 100,50, no 100,5, porque el cuerpo también mapea el campo de la fórmula.


Lo que necesitas​

  • A Zapier accounten un plan que permite Zaps de varios pasos.Filter by Zapier Está integrado, pero cuenta como un paso.
  • Clave API PDF4me. Obtén tu clave API.
  • An Airtable base. La base capturada es PDF4me Live Automations con una tabla llamada Swiss QR Requests: el bloque del acreedor, el bloque del deudor, QRIBAN, Referencia, Importe, Moneda, Mensaje, Correo electrónico, un campo Status, un campo OutputLink y un campo adjunto llamado Document.
  • Two Airtable formula fields. QRIBANClean elimina los espacios del QR-IBAN, AmountText formatea el importe a dos decimales. Consulte elAirtable formula reference Si no has escrito uno antes.
  • A Gmail accountconectado a Zapier ya QR-IBAN de su banco. Una referencia QR necesita un QR-IBAN, no uno ordinario.

El Zap de un vistazo​

  1. New Record (Airtable) se activa con cada nueva fila en Swiss QR Requests.
  2. Filter conditions (Filter by Zapier) continúan solo cuando Status es exactamente New.
  3. Create SwissQR Bill (PDF4me) genera el recibo como un PNG.
  4. Update Record (Airtable) escribe el archivo, el estado y un enlace de vuelta a la fila.
  5. Send Email (Gmail) entrega el comprobante al deudor.

Descripción general completa de Zap​

Zapier run detail showing version 1 and a successful run on Oct 23 2026 at 11:31:53 pm, with five steps each marked with a green tick: Airtable New Record on a 2 min schedule reporting Found 1 new Record, Filter by Zapier Filter conditions reporting the run passed the rules, PDF4me Create SwissQR Bill reporting Sent 1 new SwissQr Bill, Airtable Update Record reporting Sent 1 new Record, and Gmail Send Email reporting Sent 1 new Message

Una ejecución exitosa. El filtro en la posición 2 es lo que hace que los tres pasos siguientes sean seguros.


Paso 1: ¿Cómo se activa un Zap desde una nueva fila Airtable?​

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

  1. Crea un Zap y selecciona Airtable > New Record.
  2. Conecta tu cuenta y, a continuación, elige las Automatizaciones en vivo Base PDF4me Live Automations y las Swiss QR Requests Table Swiss.
  3. Prueba. Zapier informa que se encontró 1 nuevo registro en Airtable y que todas las columnas estarán disponibles para los pasos posteriores.

El icono de votación en el Zap capturado muestra 2 min, lo cual proviene del plan y no de nada que usted configure aquí.

Tip.New Record significa nuevo, no modificado. Si alguien crea una fila y la rellena diez minutos después, Zap ya la habrá detectado como vacía y el filtro la habrá rechazado, por lo que no se activará ninguna acción al finalizar. Si tu equipo trabaja de esa manera, activa el evento con un registro actualizado y mantén el mismo filtro.


Paso 2: ¿Cómo se detiene la ejecución de un Zap en filas que no están listas?​

Flujo hasta ahora: el activador de Airtable.

Este es el paso del que depende el resto del Zap.

  1. Agregar Filter by Zapier > Only continue if...
  2. Crea una regla:
    • Campo: 1. Status
    • Condición: (Texto) Exactly matches
    • Valor: New
  3. Pruébalo. Zapier te indica si el registro que tiene habría continuado y te muestra el campo que lo determinó.

Configuración Filter conditions​

Filter by Zapier step 2 Configure and test panel showing the rule Only continue if 1. Status Text Exactly matches New, and below it a yellow result box reading Your zap would not have continued, with a test record created 2026-10-23 19:46:35 and Items that didn't match listing Status: Generated

Este es el filtro funcionando, no fallando. El registro de prueba ya se Generated, por lo que Zap rechaza correctamente emitir un segundo comprobante.

Vale la pena leer con atención ese recuadro amarillo, ya que es lo más útil en la pantalla. Que tu Zap no haya continuado no es un error. Zapier probó la regla con el registro más reciente, que tenía Status Generated de una ejecución anterior, y el filtro funcionó correctamente. Los elementos que no coincidieron indican el campo y el valor exactos que lo detuvieron.

Tip.Exactly matches distingue entre mayúsculas y minúsculas y es sensible a los espacios en blanco.new yNew Con un espacio al final, ambos fallan silenciosamente en cada fila. Si un filtro nunca pasa, compare el valor del cuadro amarillo con su regla carácter por carácter antes de cambiar nada más. Un campo de selección única es más seguro que un campo de texto libre precisamente porque nadie puede escribirlo mal.


Paso 3: ¿Cómo se convierte la fila en un billete QR suizo?​

Flujo hasta ahora: el disparador y el filtro.

A partir de aquí, todo se ejecuta únicamente para las filas que hayan pasado la prueba.

  1. Agregar PDF4me > Create SwissQR Bill.
  2. Configure los campos que dan forma al resultado:
    • Format Type: PNG
    • Divisa: CHF
    • Reference Type: QRR
    • Language Type: English
    • Separator Line: Line with Scissor
    • Creditor Address Type y Ultimate Debtor Address Type: S
  3. Mapea los datos de pago desde el disparador:
    • Amount: el campo de fórmula Amount Text, no el importe en bruto.
    • IBAN: el campo de fórmula QRIBAN Clean
    • Creditor Name, Creditor Street, Creditor City, Creditor Postal Code de las columnas del acreedor, con Creditor Country establecido en CH-Switzerland
    • Los campos del deudor final de las columnas de deudores, mismo patrón.
    • Reference y Unstructured Message de la fila

Create SwissQR Bill​

PDF4me Create SwissQR Bill step showing Format Type PNG, Currency CHF, Reference Type QRR, Language Type English, Separator Line with Scissor, Amount mapped to the Amount Text field reading 100.50, IBAN mapped to QRIBAN Clean reading CH4431999123000889012, Creditor Address Type S, Creditor Name Muster AG, Creditor Street Bahnhofstrasse 1, Creditor City Zuerich, Creditor Country CH-Switzerland, Creditor Postal Code 8001, the matching Ultimate Debtor fields for Test Kunde AG at Seestrasse 10 in 8002 Zuerich, a structured Reference and an Unstructured Message reading Rechnung INV-2003

Tanto el importe como el IBAN provienen de campos de fórmula. Todo lo demás se asigna directamente desde su columna.

Lo que decide cada configuración​

CampoValor aquíLo que controla
Format TypePNGUna imagen en lugar de un PDF, que se previsualiza en línea en una celda de adjunto Airtable
Reference TypeQRRUna referencia QR estructurada, que requiere un QR-IBAN. Las alternativas son SCOR y NON
Separator LineLine with ScissorDibuja la línea de corte entre el recibo y la parte del pago.
Creditor Address TypeSDirección estructurada: calle, código postal y ciudad en campos separados.
CantidadAmountTextEl campo de fórmula, ya con dos decimales
IBANQRIBANCleanEl campo de fórmula, ya desprovisto de espacios

Tip.Reference Type y la cuenta deben coincidir. QRR requiere un QR-IBAN y una referencia de 27 dígitos. Si se utiliza un IBAN normal, se obtiene un recibo que parece correcto pero que no se escanea, lo cual es el peor tipo de fallo, ya que Zap no informa de ningún problema.


Paso 4: ¿Cómo se anota la nota en el registro?​

Flujo hasta ahora: todo hasta el paso PDF4me.

  1. Agregar Airtable > Update Record.
  2. Configurar:
    • Base y Table: como en el paso 1
    • Record: el ID del disparador
    • Append attachments: False
    • Document: la File Url del paso 3
    • Status: Generated
    • OutputLink: la URL del registro, si la mantiene.
  3. Deje vacíos todos los demás campos.

Update Record​

Airtable Update Record step test panel listing the data being sent: appendAttachments false, the application and table identifiers, the row id, a Document field set to a long api.pdf4me.com GetDocument URL, a Status field set to Generated and an OutputLink field set to an airtable.com record URL, followed by a long list of empty optional fields including Title, the creditor and debtor columns, QRIBANClean and AmountText

Tres campos escritos, todo lo demás aparece vacío. Esa lista es tu comprobación de seguridad antes de encender el Zap.

Aquí hay dos diferencias con respecto a cómo se haría esto en otros lugares. El archivo adjunto es una URL, no un archivo: Zapier le pasa a Airtable el enlace PDF4me y Airtable lo descarga, por lo que no hay un paso de carga independiente. Además, la opción Append attachments configurada como False reemplaza el contenido del campo Document, por lo que al volver a ejecutar una fila se sobrescribe su ficha en lugar de recopilar copias.

Zapier will warn you about a loop here, and it is right to.Este paso escribe en la tabla que activa Zap, por lo que, en principio, su propia actualización podría reactivar Zap. Sin embargo, no lo hace, ya que la actualización establece Status en Generated y el filtro del paso 2 solo permite New. Si alguna vez modifica ese filtro, vuelva a leer este paso primero.


Paso 5: ¿Cómo se envía el comprobante al deudor?​

Flujo hasta ahora: todo hasta la actualización del registro.

  1. Agregar Gmail > Send Email.
  2. Configurar:
    • To: la columna Email del desencadenador
    • Subject: Your Swiss QR bill más el Title
    • Body type: Html
    • Body: un breve saludo que menciona al deudor, la factura y el importe.
    • Attachments: la File Url del paso 3

Configuración Send Email​

Gmail Send Email step showing the To field holding a mapped Email value from the Airtable trigger

El destinatario procede de la misma fila, por lo que cada deudor recibe su propio comprobante y nadie mantiene una lista de correo.

Utilice Amount Text en el cuerpo del mensaje en lugar de la columna "Importe" sin formato. No tiene ningún coste y garantiza que la cifra del correo electrónico coincida con la del recibo, una discrepancia que el cliente suele notar y que usted no.


Ejecuta el Zap y verifica​

  1. Publish el Zap.
  2. Agregue una fila a Swiss QR Requests con un acreedor, un deudor, un importe, un QR-IBAN y Status New.
  3. Espera a que termine la encuesta y luego inicia la ejecución de Zap. Los cinco pasos deberían aparecer en verde.
  4. Abra la fila: Document debe contener el comprobante, Status debe indicar Generated.
  5. Abra el comprobante y verifique que tanto el recibo como el pago muestren la misma cuenta, referencia e importe.
  6. Revisa la bandeja de entrada del deudor.
  7. Ahora agrega una fila con Status Generated y confirma que Zap se detiene en el paso 2. Esa es la prueba que la mayoría de la gente omite, y es la que demuestra que el filtro funciona.

En la ejecución registrada, la versión 1 de Zap finalizó con éxito el 23 de octubre de 2026 a las 23:31:53, generando un comprobante para INV-2003 pagadero a Muster AG en Zuerich por CHF 100,50.

What did you actually build?Un generador de comprobantes de pago con sistema de seguridad. Los datos permanecen en la base de datos que edita tu equipo, el comprobante se adjunta al registro que lo generó y un solo campo determina qué se emite. Nadie accede a un portal bancario y nadie envía la misma factura dos veces.


Variaciones comunes que puedes agregar sin reconstruir​

Añade una segunda condición
El filtro acepta más de una regla. Al requerir que la cantidad sea mayor que cero y que Status New se detecta la fila que alguien guardó antes de terminar.
Analiza los fracasos, no solo los éxitos.
Establece Status en "Fallido" desde una ruta de error de Zap para que una fila defectuosa deje de ser invisible. Una fila que se queda en New indefinidamente es el síntoma normal y nadie lo nota.
Coloque el comprobante en una página de la factura.
Cambie Format Type a PDF e integre el comprobante debajo del diseño de su factura antes del paso 4, para que el deudor reciba un solo documento en lugar de dos.
Factura para más de una entidad
El bloque de acreedores proviene de columnas, por lo que una base puede emitir para dos empresas. Asigne a cada fila su propio QR-IBAN y no habrá ningún otro cambio.

¿Cómo se compara esto con la creación del mismo flujo en Make​

Publicamosthe same scenario in Make El día anterior: misma base, misma acción PDF4me, mismo resultado. Las diferencias radican en cómo la plataforma te obliga a decirlo.

ComparaciónEn MakeEn este Zap
Filtrar filas frente a este ZapUna fórmula en el gatillo, gratisUn paso de filtro, que consume una tarea por cada fila vista.
Limpiando el IBAN y el importe frente a este Zapreplace() y formatNumber() dentro del móduloDos campos de fórmula Airtable en los mapas de Zap
Adjuntar el archivo vs este ZapUn módulo separado para cargar un archivo adjunto que transporta bytesUna File Url escrita directamente en el campo adjunto.
Este Zap5 módulos, lógica dividida entre disparador y módulos5 pasos, lógica dividida entre Airtable y el filtro.

Preguntas frecuentes​

¿Qué es un billete QR suizo?​

La factura QR suiza es el comprobante de pago que sustituyó a los antiguos formularios naranjas y rojos en Suiza. Contiene un código QR con el nombre del acreedor, el deudor, el importe y la referencia, de modo que el pagador lo escanea con su aplicación bancaria en lugar de escribir nada.

Tiene dos mitades, una parte de recibo y otra de pago, separadas por una línea de corte, y el diseño está fijado por elSwiss implementation guidelines published by SIX Generar uno es un problema de especificación, no un problema de diseño.

¿Cuál es el número QR-IBAN en Suiza?​

Un QR-IBAN es un segundo número de cuenta que tu banco emite junto con tu IBAN habitual. Se reconoce porque su identificador de institución se encuentra dentro de un rango reservado. Indica al banco que un pago entrante contiene una referencia QR estructurada, lo que le permite asociar automáticamente el pago a una factura.

Para este Zap, la regla es simple: si Reference Type es QRR, el campo IBAN debe contener el QR-IBAN. Mezclarlos produce un recibo que se escanea como un error.

¿Puede Airtable crear facturas?​

No son pagaderos. Airtable almacena los datos y puede presentarlos en una interfaz o en una vista imprimible, pero no puede generar un código QR que cumpla con las especificaciones de pago y no tiene forma de validar lo que produce.

Su función principal aquí es servir como registro y, mediante campos de fórmula, como lugar donde se limpian los datos. Zap lo transforma en algo que cumple con el estándar y devuelve el resultado.

¿Por qué no funciona mi filtro Zapier?​

Nueve de cada diez veces el valor no coincide como crees. Exactly matches compara toda la cadena, incluyendo mayúsculas y minúsculas y espacios finales, por lo que new, New y NEW fallan frente a New.

Abre el panel de prueba del filtro y lee la línea «Elementos que no coincidieron». Se mostrará el campo y el valor que Zapier detectó, lo cual suele ser suficiente para identificar la diferencia de inmediato. Cambiar la columna Airtable a una selección única soluciona el problema definitivamente.


Solución de problemas​

El Zap se detiene en el filtro cada vez.

Lee elItems that didn't match línea en el panel de prueba del filtro: nombra el campo y el valor. Por lo general, la columna Status contiene algo distinto de exactamenteNew o el disparador se activó en una fila antes de que alguien la configurara.

El mismo recibo sale dos veces

El paso 4 no establece Status, o lo establece con un valor que el filtro aún permite. La actualización y el filtro son un solo mecanismo: si no coinciden, Zap puede reprocesar su propio resultado. Compruébelos juntos, no por separado.

El archivo adjunto nunca llega a registrarse.

Airtable obtiene el archivo de la URL que le proporcionas, por lo que la URL debe ser accesible cuando Airtable la solicite. Confirma los mapas del paso 4.File Url del paso PDF4me y no de algún otro campo, y verifique que el ID del registro provenga del activador.

Las tareas se están consumiendo más rápido de lo esperado.

El filtro se aplica a cada fila que detecta el activador, por lo que las filas que rechaza siguen generando costos. Si la tabla recibe mucho tráfico que no está destinado a ser facturado, configure una vista para Zap que contenga solo las filas candidatas en lugar de la tabla completa.


Próximos pasos​

La mayoría de las automatizaciones fallan en las filas que no se pretendían procesar, no en las que sí. Un solo campo y un solo paso suelen ser suficientes para solucionarlo.