Facture QR suisse d' Airtable dans Zapier: Filtrer les lignes, générer le bordereau, envoyer un e-mail au débiteur

Le Filter by Zapier détermine quelles lignes Airtable deviennent des bordereaux de paiement. Placez-le entre un déclencheur New Record et PDF4me: seules les lignes marquées comme prêtes recevront une facture QR suisse, qui sera ensuite intégrée à l’enregistrement et envoyée par courriel au débiteur.
Un Zap qui surveille un tableau se déclenche à chaque ligne ajoutée. Pour la plupart des automatisations, c'est tout simplement du gaspillage. Pour une automatisation qui envoie un reçu de paiement par e-mail à un client, cela fait toute la différence entre un processus fonctionnel et l'envoi de la même facture trois fois parce que quelqu'un était encore en train de la saisir au moment du déclenchement. L'étape de filtrage est la solution, et il est préférable de bien la comprendre plutôt que de la copier.
Un utilisateur saisit une donnée dans Airtable et définit Status sur New. Le Zap détecte cette donnée, le filtre vérifie ce champ, PDF4me génère une facture suisse avec QR code, et l'image est ajoutée à l'enregistrement tandis qu'une copie est envoyée au débiteur par e-mail. Définir le statut sur Generated lors de la même exécution empêche le Zap de la détecter à nouveau. Cinq étapes sont nécessaires, et la plus importante est le filtre.
Questions et réponses basées sur le pourquoi
Why does this need a Filter step at all?Le déclencheur Airtable de Zapier n'impose aucune condition. Il vous transmet chaque nouvel enregistrement et vous laisse le soin de décider. Qu'il s'agisse d'une ligne partiellement saisie, d'un doublon ou d'un enregistrement créé à titre expérimental, tous atteignent l'étape 3, sauf en cas d'interruption, et l'étape 5 consiste à envoyer un e-mail au client.
Why filter on Status rather than checking the fields are filled in?Status correspond à une décision prise par une personne, tandis que les autres colonnes ne contiennent que des données. Même en vérifiant que le QR-IBAN n'est pas vide et que le montant est supérieur à zéro, il serait toujours impossible de déterminer avec certitude si la ligne est terminée. Un champ indiquant simplement « J'ai terminé » est à la fois plus simple et indique plus clairement qui est responsable.
Why clean the IBAN in Airtable instead of in the Zap?Parce que Zapier ne dispose pas de langage d'expression dans un champ. Make vous permet d'encapsuler une valeur dansreplace() Là où vous l'utilisez, Zapier ne le fait pas. Le nettoyage est donc effectué plus tôt, dans les champs de formules Airtable, et Zap les mappe. L'avantage est non négligeable: les valeurs nettoyées sont visibles dans la grille, ce qui vous permet de voir ce que Zap enverra avant l'envoi.
Why does step 4 warn about a loop?Puisqu'elle écrit dans la table qui déclenche le Zap, sa propre mise à jour pourrait en principe réactiver ce dernier. Dans cette version, cela est impossible, car la mise à jour définit Status sur Generated et le filtre ne laisse passer que les éléments New. Il est important de comprendre ce point plutôt que de l'ignorer: le filtre n'est pas qu'une simple mesure de propreté, il est ce qui interrompt le cycle.
Ce que vous obtiendrez
Entrée: une ligne Airtable contenant un créancier, un débiteur, un montant, un QR-IBAN et une référence, avec Status New. Sortie: une facture QR suisse associée à cet enregistrement, la ligne marquée Generated avec un lien » et un courriel envoyé au débiteur.

Notez les deux colonnes à droite. QRIBANClean et AmountText sont des champs de formule, et c'est ce que le Zap mappe réellement.

Reçu, ligne de découpe, zone de paiement. La disposition est standardisée.

Le montant affiché est 100,50 et non 100,5, car le corps du texte inclut également le champ de formule.
Ce dont vous avez besoin
- A Zapier accountsur un forfait qui autorise les Zaps en plusieurs étapes.Filter by Zapier est intégré, mais cela compte comme une étape.
- Clé API PDF4me. Obtenez votre clé API.
- An Airtable baseLa base capturée est
PDF4me Live Automationsavec une table nomméeSwiss QR Requests: le bloc créancier, le bloc débiteur, QRIBAN, Référence, Montant, Devise, Message, Email, un champ Status, un champ OutputLink et un champ de pièce jointe appeléDocument. - Two Airtable formula fields.
QRIBANCleansupprime les espaces du QR-IBAN.AmountTextformate le montant avec deux décimales. Voir la sectionAirtable formula reference si vous n'en avez jamais écrit auparavant. - A Gmail accountconnecté à Zapier, eta QR-IBAN de votre banque. Une référence QR nécessite un QR-IBAN, et non un IBAN ordinaire.
Le Zap en bref
- New Record (Airtable) se déclenche à chaque nouvelle ligne dans
Swiss QR Requests. - Filter conditions (Filter by Zapier) se poursuivent uniquement lorsque Status est exactement
New. - Create SwissQR Bill (PDF4me) génère le bordereau au PNG.
- Update Record (Airtable) enregistre le fichier, le statut et un lien vers la ligne.
- Send Email (Gmail) permet de transmettre le reçu au débiteur.
Aperçu complet de Zap

Une étape réussie. Le filtre en position 2 garantit la sécurité des trois étapes suivantes.
Étape 1: Comment déclencher un Zap à partir d’une nouvelle ligne Airtable?
Déroulement jusqu'à présent: rien pour l'instant, ceci est le déclencheur.
- Créez un Zap et sélectionnez Airtable > New Record.
- Connectez votre compte, puis choisissez Base
PDF4me Live Automationset TableSwiss QR Requests. - Test. Zapier signale avoir trouvé 1 nouvel enregistrement dans Airtable et chaque colonne devient disponible pour les étapes suivantes.
L'indicateur de sondage sur le Zap capturé affiche 2 min, ce qui provient du plan plutôt que de toute configuration que vous avez effectuée ici.
Tip.New Record signifie « nouveau », et non « modifié ». Si quelqu'un crée une ligne et la remplit dix minutes plus tard, le Zap l'aura déjà considérée comme vide et le filtre l'aura déjà rejetée; par conséquent, aucune action ne sera déclenchée une fois la saisie terminée. Si votre équipe travaille de cette manière, utilisez plutôt l'événement de mise à jour d'enregistrement et conservez le même filtre.
Étape 2: Comment empêcher un Zap de s’exécuter sur des lignes qui ne sont pas prêtes?
Déroulement jusqu'à présent: le déclencheur Airtable.
C'est l'étape dont dépend le reste du Zap.
- Ajouter Filter by Zapier > Only continue if....
- Élaborez une règle:
- Champ: 1. Status
- Condition: (Texte) Exactly matches
- Valeur:
New
- Testez-le. Zapier vous indique si l'enregistrement qu'il possède aurait continué et nomme le champ qui a fait la différence.
configuration Filter conditions

Le filtre fonctionne correctement, il ne présente aucun dysfonctionnement. L'enregistrement de test ayant déjà été Generated, le Zap refuse à juste titre d'émettre un second ticket.
Il est important de lire attentivement l'encadré jaune, car il contient l'information la plus utile à l'écran. L'arrêt de votre zap n'est pas une erreur. Zapier a testé la règle sur l'enregistrement le plus récent, dont Status était Generated suite à une exécution précédente, et le filtre a fonctionné correctement. Les éléments ne correspondant pas indiquent le champ et la valeur exacts qui ont provoqué l'arrêt.
Tip.Exactly matches est sensible à la casse et aux espaces.new etNew Avec un espace final, les deux méthodes échouent, sans message d'erreur, sur chaque ligne. Si un filtre ne passe jamais, comparez la valeur dans la case jaune à votre règle caractère par caractère avant toute autre modification. Un champ de sélection unique est plus sûr qu'un champ de texte libre, car il est impossible de faire une erreur de saisie.
Étape 3: Comment transformer la ligne en un billet QR suisse?
Déroulement jusqu'à présent: le déclencheur et le filtre.
Tout ce qui suit ne s'applique qu'aux lignes qui ont été validées.
- Ajouter PDF4me > Create SwissQR Bill.
- Définissez les champs qui déterminent la sortie:
- Format Type:
PNG - Devise:
CHF - Reference Type:
QRR - Language Type:
English - Separator Line:
Line with Scissor - Creditor Address Type et Ultimate Debtor Address Type:
S
- Format Type:
- Associez les données de paiement à partir du déclencheur:
- Amount: le champ de formule Amount Text, et non le montant brut.
- IBAN: le champ de formule QRIBAN Clean
- Creditor Name, Creditor Street, Creditor City, Creditor Postal Code à partir des colonnes du créancier), Creditor Country étant défini sur
CH-Switzerland - Les champs Débiteur final proviennent des colonnes Débiteur et suivent le même modèle.
- Reference et Unstructured Message de la ligne
Create SwissQR Bill

Le montant et l'IBAN proviennent de champs de formule. Toutes les autres données sont directement issues de leur colonne respective.
Ce que chaque paramètre détermine
| Champ | Valeur ici | Ce qu'il contrôle |
|---|---|---|
| Format Type | PNG | Une image plutôt qu'un PDF, dont l'aperçu est intégré dans une cellule de pièce jointe Airtable |
| Reference Type | QRR | Une référence QR structurée, qui nécessite un QR-IBAN. Les alternatives sont SCOR et NON |
| Separator Line | Line with Scissor | Trace la ligne de séparation entre le reçu et la partie paiement |
| Creditor Address Type | S | Adresse structurée: rue, code postal et ville dans des champs séparés |
| Montant | AmountText | Le champ de formule, déjà à deux décimales |
| IBAN | QRIBANClean | Le champ de formule, déjà dépourvu d'espaces |
Tip.Reference Type et le compte doivent correspondre. QRR requiert un QR-IBAN et une référence à 27 chiffres. Si vous utilisez un IBAN classique, vous obtiendrez un reçu qui semble correct mais qui ne pourra pas être scanné; c’est le pire des cas, car Zap n’indique aucun problème.
Étape 4: Comment réinscrire le bordereau dans le registre?
Déroulement jusqu'à présent: tout est passé par l'étape PDF4me.
- Ajouter Airtable > Update Record.
- Configure:
- Base et Table: comme à l'étape 1
- Record: l’ ID du déclencheur
- Append attachments:
False - Document: l' File Url de l'étape 3
- Status:
Generated - OutputLink: l’URL de l’enregistrement, si vous en conservez un.
- Laissez un champ sur deux vide.
Update Record

Trois champs sont remplis, tous les autres sont vides. Cette liste constitue votre vérification de sécurité avant la mise en marche du Zap.
Deux éléments diffèrent de la procédure habituelle. La pièce jointe est une URL, et non un fichier: Zapier transmet le lien PDF4me à Airtable, qui le récupère. C’est pourquoi il n’y a pas d’étape de téléchargement séparée. De Append attachments Airtable False remplace le contenu du champ Document. Ainsi, la réexécution d’une ligne écrase son ticket au lieu de collecter des copies.
Zapier will warn you about a loop here, and it is right to.Cette étape écrit dans la table qui déclenche le Zap; sa propre mise à jour pourrait donc en principe réactiver le Zap. Cependant, elle ne le fait pas, car la mise à jour définit Status sur Generated et le filtre de l’étape 2 ne laisse passer que New. Si vous modifiez ce filtre, veuillez relire cette étape au préalable.
Étape 5: Comment envoyez-vous le bordereau au débiteur?
Déroulement jusqu'à présent: tout est passé par la mise à jour de l'enregistrement.
- Ajouter Gmail > Send Email.
- Configure:
- To: la colonne Email du déclencheur
- Subject:
Your Swiss QR billplus le Title - Body type:
Html - Body: une brève formule de salutation mentionnant le débiteur, la facture et le montant.
- Attachments: l' File Url de l'étape 3
Configuration Send Email

Le destinataire est choisi par rangée, donc chaque débiteur reçoit son propre avis de passage et personne ne tient de liste d'adresses.
Utilisez Amount Text dans le corps du message plutôt que la colonne « Montant » brute. C'est gratuit et cela garantit que le montant indiqué dans l'e-mail correspond à celui du reçu, évitant ainsi à vos clients de remarquer une éventuelle incohérence.
Exécutez le Zap et vérifiez
- Publish le Zap.
- Ajoutez une ligne aux
Swiss QR Requestsavec un créancier, un débiteur, un montant, un QR-IBAN et StatusNew. - Attendez le résultat du sondage, puis lancez Zap Run. Les cinq étapes devraient être validées au vert.
- Ouvrez la ligne:
Documentdoit contenir le bordereau,Statusdoit indiquerGenerated. - Ouvrez le reçu et vérifiez que la partie reçu et la partie paiement indiquent le même compte, la même référence et le même montant.
- Vérifiez la boîte de réception du débiteur.
- Ajoutez maintenant une ligne avec Status
Generatedet vérifiez que le Zap s'arrête à l'étape 2. C'est le test que la plupart des gens ignorent, et c'est celui qui prouve l'efficacité du filtre.
Dans l'exécution capturée, la version 1 du Zap s'est terminée avec succès le 23 octobre 2026 à 23h31min53s, produisant un bordereau pour INV-2003 payable à Muster AG à Zuerich pour un montant de 100,50 CHF.
What did you actually build?Un générateur de bordereaux de paiement avec système de sécurité. Les données restent dans la base que votre équipe modifie, le bordereau est automatiquement associé à l'enregistrement qui l'a généré, et un seul champ détermine le montant à émettre. Personne n'ouvre de portail bancaire et aucun envoi double de la même facture n'est effectué.
Variantes courantes que vous pouvez ajouter sans reconstruction
Comment cela se compare-t-il à la création du même flux dans Make
Nous avons publiéthe same scenario in Make La veille: même base, même action PDF4me, même résultat. La seule différence réside dans la formulation utilisée par la plateforme.
| Comparaison | Dans Make | Dans ce Zap |
|---|---|---|
| Filtrer les lignes par rapport à ce Zap | Une formule sur le déclencheur, gratuite | Une étape de filtrage, qui consomme une tâche par ligne vue |
| Nettoyage de l'IBAN et du montant par rapport à ce Zap | replace() et formatNumber() à l'intérieur du module | Deux champs de formule Airtable: les cartes Zap |
| Joindre le fichier vs ce Zap | Un module de téléchargement séparé contenant des octets | File Url saisie directement dans le champ de pièce jointe |
| Ce Zap | 5 modules, logique répartie entre le déclencheur et les modules | 5 étapes, la logique étant répartie entre Airtable et le filtre. |
Questions fréquentes
Qu'est-ce qu'un billet QR suisse?
Le reçu QR suisse est le bordereau de paiement qui a remplacé les anciens formulaires orange et rouge en Suisse. Il comporte un code QR contenant le nom du créancier, du débiteur, le montant et la référence; le payeur le scanne donc avec son application bancaire au lieu de saisir quoi que ce soit.
Il comporte deux moitiés, une partie reçu et une partie paiement, séparées par une ligne de découpe, et sa mise en page est fixée par leSwiss implementation guidelines published by SIX Générer un tel modèle est un problème de spécification, et non un problème de conception.
Quel est le numéro QR-IBAN en Suisse?
Un QR-IBAN est un second numéro de compte émis par votre banque en plus de votre IBAN habituel. Il est reconnaissable à son identifiant d'établissement, qui se situe dans une plage réservée. Il indique à la banque qu'un paiement entrant comporte une référence QR structurée, ce qui lui permet de l'associer automatiquement à une facture.
Pour ce Zap, la règle est simple: si Reference Type est QRR, le champ IBAN doit contenir le QR-IBAN. Mélanger les deux génère un reçu qui provoque une erreur de numérisation.
Airtable peut-il créer des factures?
Il ne s'agit pas de codes de paiement. Airtable stocke les données et peut les présenter dans une interface ou une vue imprimable, mais ne peut pas générer de code QR conforme aux spécifications de paiement et n'a aucun moyen de valider le résultat.
Ce qui est particulièrement efficace ici, c'est que ce module centralise les données et, grâce aux champs de formule, permet leur nettoyage. Le Zap, quant à lui, les convertit en un format standard et renvoie le résultat.
Pourquoi mon filtre Zapier ne fonctionne-t-il pas?
Neuf fois sur dix, la valeur ne correspond pas à ce que vous attendez. Exactly matches compare la chaîne entière, en tenant compte de la casse et des espaces de fin; ainsi, new, New et NEW échouent tous par rapport à New.
Ouvrez le panneau de test du filtre et consultez la ligne « Éléments ne correspondant pas ». Il affiche le champ et la valeur que Zapier a réellement détectée, ce qui suffit généralement à repérer immédiatement la différence. Le passage à une liste déroulante unique pour la colonne Airtable résout définitivement le problème.
Dépannage
Lisez leItems that didn't match Ligne dans le panneau de test du filtre: elle indique le champ et sa valeur. Généralement, la colonne Status contient une valeur différente de celle indiquée.New ou le déclencheur s'est activé sur une rangée avant même que quiconque ne l'ait actionné.
L'étape 4 ne définit pas Status, ou bien elle lui attribue une valeur que le filtre autorise encore. La mise à jour et le filtre forment un seul et même mécanisme: en cas de divergence, le Zap peut retraiter sa propre sortie. Il est donc important de les vérifier conjointement, et non séparément.
Airtable récupère le fichier à partir de l'URL que vous lui fournissez; cette URL doit donc être accessible Airtable la demande. Vérifiez les correspondances de l'étape 4.File Url à partir de l'étape PDF4me et non d'un autre champ, et vérifiez que l'identifiant d'enregistrement provient du déclencheur.
Le filtre s'applique à chaque ligne détectée par le déclencheur; par conséquent, même les lignes rejetées vous sont facturées. Si le tableau reçoit un volume important de données non facturables, configurez le Zap avec une vue ne contenant que les lignes candidates, au lieu du tableau complet.
Prochaines étapes
La plupart des automatisations échouent sur les lignes que vous n'aviez pas l'intention de traiter, et non sur celles que vous vouliez traiter. Un seul champ et une seule étape suffisent généralement à résoudre le problème.