Factura suiza con código QR desde una base de datos Airtable: Genere, adjunte y envíe por correo electrónico en Make con PDF4me

PDF4me Create Swiss QR-bill es un módulo Make que convierte los detalles de pago en una imagen de factura QR suiza. Conectado a una base de datos Airtable, lee el acreedor, el deudor y el QR-IBAN de una fila, guarda el comprobante final como archivo adjunto en ese mismo registro y lo envía por correo electrónico al deudor.
Si le preguntas si Airtable puede generar una factura, la respuesta sincera es no, no una factura pagadera. Almacena perfectamente el acreedor, el deudor, el importe y el QR-IBAN, pero una factura QR suiza requiere una especificación: un diseño definido, una línea de corte, una referencia en el formato correcto y un código QR que la aplicación del banco acepte. El consejo habitual es salir de Airtable, abrir el portal del banco y volver a introducir la información. Sin embargo, este método produce el efecto contrario, y los datos permanecen en la base de datos donde ya se encuentran.
Alguien agrega una fila a una tabla Airtable con un acreedor, un deudor, un importe y un QR-IBAN, y establece Status en Nuevo. Make lo procesa, PDF4me genera la factura QR suiza y la imagen se adjunta directamente a ese registro. El deudor la recibe por correo electrónico. Cinco módulos, sin portal bancario, y los datos de la factura permanecen en la base de datos que tu equipo ya edita.
Preguntas y respuestas basadas en el porqué
Why keep the payment data in Airtable?Porque para muchos equipos financieros pequeños, esta información ya está ahí, junto al registro del cliente y el proyecto al que pertenece. Trasladarla a un programa de contabilidad para generar un único comprobante de pago implica mantener al mismo cliente en dos sistemas. Además, un compañero sin conocimientos técnicos puede corregir una fila sin necesidad de consultar a nadie.
Why put the image back on the record instead of into a folder?Porque un archivo en una carpeta pierde su conexión con el elemento que lo generó. Al adjuntar el archivo PNG al campo Document en la misma fila, el comprobante, la cantidad a partir de la cual se generó y el estado se mantienen juntos, y cualquier persona que vea la fila puede ver el elemento sin tener que ir a ningún otro lugar.
Why filter the trigger on Status rather than watching everything?De lo contrario, Watch records se activarían con cada fila que se agregue, incluso con las que estén a medio terminar. La fórmula del activador convierte a "Nuevo" en una instrucción explícita: la fila está completa y lista. También ofrece una forma segura de volver a emitir un comprobante, que consiste en restablecer el estado.
Why does the QR-IBAN get cleaned before it is sent?Dado que los usuarios introducen IBAN con espacios, y la especificación requiere que la cuenta no los contenga, el campo IBAN aplica una función de reemplazo que elimina los espacios, lo que marca la diferencia entre un recibo que la aplicación bancaria lee y uno que rechaza. El mismo razonamiento se aplica al importe, que se formatea con dos decimales en lugar de transmitirse sin formato.
Lo que obtendrás
Entrada: una fila Airtable con un acreedor, un deudor, un importe, una moneda y un QR-IBAN, con Status establecido en Nuevo. Salida: una factura QR suiza en formato PNG adjunta a ese mismo registro y un correo electrónico al deudor con el comprobante adjunto.

Una fila por factura. Cada columna se corresponde con un campo especificado en el código QR suizo.

Recibo a la izquierda, parte del pago a la derecha, línea divisoria entre ellos.

Lo que recibe el deudor, construido enteramente a partir de la hilera.
Lo que necesitas
- A Make account.Open Make Cinco módulos en aplicaciones estándar, sin necesidad de una suscripción premium.
- PDF4me API key.Get your API key Una sola conexión PDF4me cubre todo el escenario.
- An Airtable baseLa base de datos capturada se llama
PDF4me Live Automationsy contiene una tabla llamadaSwiss QR Requests. Necesita el bloque del acreedor, el bloque del deudor, QRIBAN, Referencia, Amount, Moneda, Mensaje, Correo electrónico, un campo Status y un campo de archivo adjunto llamadoDocumentpara el comprobante finalizado. - A Gmail accountpara entrega, conectado a Make.
- A real QR-IBANde su banco. Este no es un IBAN común: QR-IBAN suizos pertenecen a una gama específica de instituciones y son los que permiten el funcionamiento de una referencia QR estructurada. Su banco le emitirá uno si lo solicita.
Panorama general
- Watch records (Airtable) incorporan nuevas filas en
Swiss QR Requests. - Create Swiss QR-bill (PDF4me) genera el recibo como un archivo PNG.
- Upload an attachment (Airtable)" lo adjunta al campo
Documenten la misma fila. - Update a record (Airtable) escribe el resultado de vuelta en la fila.
- Send an email (Gmail) entrega el comprobante al deudor.
Descripción general completa del escenario

Tres módulos Airtable, un módulo PDF4me y un módulo Gmail. La base es tanto el origen como el destino.
Paso 1: ¿Cómo se activa un escenario a partir de una fila Airtable?
Flujo hasta ahora: nada todavía, este es el detonante.
Una fila marcada como lista es la solicitud, así que eso es lo que Make observa.
- Agrega Airtable > Watch records como activador.
- Configurar:
- Base:
PDF4me Live Automations - Mesa:
Swiss QR Requests - Trigger field:
Created - Label field:
Title - Límite:
10 - Fórmula:
{Status}='New'
- Base:
Configuración Watch records

La fórmula es lo que impide que el escenario se active en filas a medio terminar.
Tip.Trigger field Debe ser un campo de fecha de creación o fecha de última modificación, y Make lo indica en el módulo. Sin él, el disparador no podrá ordenar los registros y su comportamiento será impredecible. Si su tabla no tiene dicho campo, agréguelo antes de continuar.
Paso 2: ¿Cómo se convierte una fila en un billete QR suizo?
Flujo hasta ahora: el activador de Airtable.
Este es el módulo que genera el comprobante. La mayoría de sus campos son una asignación directa de la fila; dos de ellos requieren una expresión.
- Añadir PDF4me > Create Swiss QR-bill.
- Configure los ajustes que dan forma a la salida:
- Format Type:
PNG - Reference Type:
QRR - Idioma:
English - Separator Line:
Line With Scissor - Creditor Address Type:
S
- Format Type:
- Mapea los datos de pago desde el disparador:
- Amount:
formatNumber(1.Amount; 2; "."; "") - IBAN:
replace(1.QRIBAN; " "; "") - Creditor Name, calle, código postal, ciudad y país de las columnas de acreedores.
- Nombre y dirección Debtor de las columnas Deudor, y la Reference de la fila
- Amount:
Create Swiss QR-bill

El panel se desplaza aquí. Debajo del nombre del acreedor se encuentra el resto de la dirección del acreedor y todo el bloque del deudor.
Lo que decide cada configuración
| Campo | Valor aquí | Lo que controla |
|---|---|---|
| Format Type | PNG | Se trata de una imagen en lugar de un PDF, lo que permite adjuntarla a una celda Airtable y previsualizarla en línea. |
| Reference Type | QRR | Una referencia QR estructurada, que es el tipo que necesita un QR-IBAN. Las alternativas son SCOR y NON |
| Separator Line | Line With Scissor | Dibuja la línea de corte entre el recibo y la parte del pago. |
| Creditor Address Type | S | Dirección estructurada, lo que significa que la calle, el código postal y la ciudad se encuentran en campos separados en lugar de texto libre. |
| Amount | formatNumber(...) | Dos decimales y sin separador de miles, que es lo que espera la especificación. |
| IBAN | replace(...) | Elimina los espacios que la gente introduce en IBAN antes de que se valide la cuenta. |
Tip.Reference Type y la cuenta deben coincidir. QRR requiere un QR-IBAN y una referencia QR de 27 dígitos; un IBAN ordinario con una referencia QRR es la causa más común de que un comprobante generado no se valide. Si aún no tiene un QR-IBAN, seleccione NON y deje la referencia en blanco hasta que su banco le emita uno.
Paso 3: ¿Cómo se vuelve a incluir el comprobante en el registro?
Flujo hasta el momento: el activador más el módulo PDF4me.
La fila pidió la factura, así que la fila debería pagarla.
- Agregar Airtable > Upload an attachment.
- Configurar:
- Base y Table: como en el paso 1
- Record ID: el
iddel disparador - Attachment field:
Document - File: el resultado de PDF4me - Create Swiss QR-bill
- File name:
QRBill_más el Title de la fila más.png - Data: el Document de salida del módulo 2
- Content type:
PNG image
Upload an attachment

Record ID proviene del activador, por lo que el formulario se ubica en la fila que lo solicitó.
Paso 4: ¿Cómo se registra el resultado en la fila?
Flujo hasta ahora: todo hasta la carga del archivo adjunto.
Adjuntar el archivo no significa que el trabajo esté terminado. Se requiere una actualización aparte para registrar el resultado.
- Agregar Airtable > Update a record.
- Configurar:
- Base y Table: como en el paso 1
- Record ID: el
iddel disparador - Record: complete los campos que desea que se registren. Status es importante, ya que es lo que lee la fórmula del activador, y una columna OutputLink es un lugar conveniente para una URL que se pueda compartir.
Update a record

El panel muestra todas las columnas de la tabla. Deje en blanco las que no desee que se sobrescriban.
Tip.Deje todos los campos en blanco excepto los que realmente desee modificar. Un campo asignado pero vacío borrará la celda, lo que facilita la eliminación de la dirección de un acreedor en un escenario que, de otro modo, parecería funcionar correctamente. En la ejecución capturada, el panel está desplazado y todos los campos visibles están vacíos, así que configure Status deliberadamente en lugar de copiar lo que ve.
Paso 5: ¿Cómo se envía la factura al deudor?
Flujo hasta ahora: todo hasta la actualización del registro.
El último módulo entrega el comprobante a la dirección indicada en la fila.
- Agregar Gmail > Send an email.
- Configurar:
- To: la columna Email del desencadenador
- Subject:
Your Swiss QR billmás el Title - Body type:
Raw HTML - Content: un breve cuerpo HTML que indica el nombre del deudor, la factura y el importe.
- Adjunte el archivo:
- File: PDF4me - Create Swiss QR-bill
- File name:
QRBill_más el Title más.png - Data: el Document de salida del módulo 2
Send an email

El archivo adjunto toma sus bytes del módulo 2, por lo que Airtable nunca se lee.
Tip.Observa la cantidad en el cuerpo del correo electrónico. El mensaje capturado dice:Amount: 100.5 CHF mientras que el propio recibo dice100.50, porque el cuerpo mapea la columna sin procesar mientras el billete QR pasa porformatNumber Utilice la misma expresión en ambos casos, a menos que le guste explicar la diferencia a un cliente.
Ejecuta el escenario y verifica.
- Save el escenario y ejecútalo una vez.
- Agregue una fila a
Swiss QR Requestscon un acreedor, un deudor, un importe, un QR-IBAN y StatusNew. - Observa cómo se iluminan los cinco módulos. Cada uno debería informar de una operación.
- Abra la fila: el campo
Documentdebe contener un archivo PNG con el mismo nombre que el Title. - Abra el archivo adjunto y revise ambas partes. El recibo y el comprobante de pago deben mostrar la misma cuenta, referencia e importe, con la línea divisoria entre ellos.
- Comprueba la bandeja de entrada en la columna Correo electrónico para ver el mensaje y su archivo adjunto.
En la ejecución capturada, la fila INV-1003 produjo un comprobante pagadero a Muster AG en Bahnhofstrasse 1, 8001 Zuerich, en la cuenta CH44 3199 9123 0008 8901 2, con referencia 21 00000 00003 13947 14300 09017, pagadero por Test Kunde AG en Seestrasse 10, 8002 Zuerich, por CHF 100.50.
What did you actually build?Un generador de comprobantes de pago integrado en la base de datos que tu equipo ya utiliza. Nadie tiene que acceder a un portal bancario, nadie tiene que volver a introducir un IBAN, y el comprobante se adjunta al registro que lo generó, de modo que un mes después aún puedes ver qué fila corresponde a cada factura.
Variaciones comunes que puedes agregar sin reconstruir
¿Cómo se compara esto con otras formas de producir un billete QR suizo?
Cada fila describe la alternativa. La última fila corresponde a este escenario.
| Comparación | ¿Quién lo dirige? | De dónde provienen los datos | Lo que mantienes |
|---|---|---|---|
| Portal bancario frente a este escenario | Una persona, un resbalón a la vez | Transcrito a mano | Nada, pero cada factura le cuesta minutos a alguien. |
| Paquete de contabilidad con exportación mediante código QR suizo frente a este escenario. | Finanzas, dentro de ese producto | El libro mayor del propio producto | Una suscripción y un segundo hogar para sus clientes. |
| Biblioteca para desarrolladores frente a este escenario | Un desarrollador, dentro de una aplicación | Tu base de datos, a través del código | El código, las actualizaciones de especificaciones y los lanzamientos |
| Este escenario | Cualquiera que pueda agregar una fila Airtable | La base que el equipo ya mantiene | Cinco módulos y un QR-IBAN |
Preguntas frecuentes
¿Qué es un billete QR suizo?
La factura QR suiza es el comprobante de pago que sustituyó a los antiguos formularios de pago 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 introducir ningún dato.
Viene en 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 Por eso, generar uno es un problema de especificación más que 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. Su función es permitir que el banco identifique un pago entrante con una referencia QR estructurada y lo asocie automáticamente a una factura.
La regla práctica para este caso es la siguiente: si configura Reference Type como QRR debe usar el QR-IBAN, no el habitual. Mezclarlos produce un recibo que parece correcto pero que no se escaneará.
¿Cómo pagar una factura con código QR en Suiza?
El pagador abre su aplicación bancaria, escanea el código QR en la sección de pago, comprueba el importe en pantalla y confirma. No se introduce ningún texto, que es precisamente la clave de este formato.
El comprobante también se puede pagar en la ventanilla de correos o introducir manualmente los datos en los campos impresos, por lo que en la sección de pago se repiten la cuenta, la referencia y el importe como texto legible junto al código.
¿Puede Airtable crear facturas?
No por sí solo. Airtable almacena los datos y puede presentarlos en una interfaz o en una vista imprimible, pero no tiene forma de generar un documento que cumpla con los estándares de pago, ni de crear un código QR escaneable que cumpla con esas especificaciones.
Su principal ventaja reside en ser la fuente de la verdad. Este escenario mantiene esa división: Airtable almacena la fila, PDF4me genera el artefacto compatible y el resultado se adjunta a la fila.
Solución de problemas
Verifique la cuenta y el tipo de referencia juntos. AQRR La referencia necesita un QR-IBAN; un IBAN ordinario necesitaSCOR oNON. Luego verifique que el IBAN realmente llegó al módulo sin espacios, que es lo que elreplace La expresión está ahí para eso.
La fórmula de activación no está presente o no coincide.{Status}='New' Distingue entre mayúsculas y minúsculas, y el campo debe ser de selección única o de texto cuyo valor sea exactamente "Nuevo". Confirma también que Trigger field sea de tipo "Hora de creación" o "Hora de última modificación".
Verifique Record ID en el módulo 3. Debe provenir del activador, no del módulo PDF4me. Luego, verifique que Content type coincida con Format Type: un archivo PNG del módulo 2 cargado como un archivo PDF se adjuntará y luego no se podrá previsualizar.
El módulo 4 muestra todos los campos de la tabla, y si un campo está asignado pero vacío, borra la celda. No modifique nada que no esté escribiendo deliberadamente.
Próximos pasos
La base de datos que ya utilizas suele estar más cerca de ser un documento de pago finalizado de lo que parece. Solo necesita algo que cumpla con las especificaciones.