Fattura QR svizzera da una base Airtable: genera, allega e inviala via email con Make e PDF4me

PDF4me Create Swiss QR-bill è un modulo Make che trasforma i dettagli di pagamento in un'immagine di fattura con codice QR svizzero. Collegato a una base Airtable, legge il creditore, il debitore e il QR-IBAN da una riga, allega la ricevuta completata allo stesso record e la invia via email al debitore.
Se chiedete se Airtable può generare una fattura, la risposta onesta è no, non una fattura pagabile. Il sistema memorizza perfettamente i dati del creditore, del debitore, l'importo e il QR-IBAN, ma una fattura svizzera con codice QR ha delle specifiche: un layout definito, una linea di separazione, un riferimento nel formato corretto e un codice QR che l'app della banca accetti effettivamente. Il consiglio più comune è quello di uscire Airtable, aprire il portale della propria banca e riscrivere la riga. Questo approccio, però, ha l'effetto opposto e i dati non lasciano mai il database in cui sono già memorizzati.
Qualcuno aggiunge una riga a una tabella Airtable con un creditore, un debitore, un importo e un QR-IBAN, e imposta Status su "Nuovo". Make lo rileva, PDF4me genera la fattura con il codice QR svizzero e l'immagine viene allegata direttamente al record. Il debitore la riceve via email. Cinque moduli, nessun portale bancario e i dati della fattura rimangono nel database che il tuo team già gestisce.
Domande e risposte basate sul "perché"
Why keep the payment data in Airtable?Perché per molti piccoli team finanziari, queste informazioni sono già presenti, accanto alla scheda del cliente e al progetto a cui appartengono. Spostarle in un software di contabilità per generare un'unica distinta di pagamento significa dover gestire lo stesso cliente in due sistemi diversi. Inoltre, una riga errata può essere corretta anche da un collega non tecnico, senza dover chiedere aiuto a nessuno.
Why put the image back on the record instead of into a folder?Perché un file in una cartella perde il collegamento con l'elemento che lo ha generato. Allegare il file PNG al campo Document sulla stessa riga significa che la ricevuta, la quantità da cui è stato ricavato e lo stato viaggiano tutti insieme, e chiunque visualizzi la riga può vedere l'artefatto senza dover andare altrove.
Why filter the trigger on Status rather than watching everything?Perché altrimenti Watch records si attiverebbero per ogni riga aggiunta, comprese quelle incomplete. La formula sul trigger rende "Nuovo" un'istruzione esplicita: la riga è completa e pronta. Ti offre anche un modo sicuro per riemettere una ricevuta, ovvero reimpostando lo stato.
Why does the QR-IBAN get cleaned before it is sent?Poiché le persone digitano IBAN con spazi, mentre le specifiche richiedono il numero di conto senza spazi, il campo IBAN viene sottoposto a una funzione di sostituzione che rimuove gli spazi, ed è proprio questa la differenza tra una ricevuta letta da un'app bancaria e una rifiutata. Lo stesso principio si applica all'importo, che viene formattato con due cifre decimali anziché essere passato così com'è.
Cosa riceverai
Input: una riga Airtable con un creditore, un debitore, un importo, una valuta e un QR-IBAN, con Status impostato su Nuovo. Output: una fattura QR svizzera in formato PNG allegata allo stesso record e un'e-mail al debitore con la ricevuta allegata.

Una riga per ogni banconota. Ogni colonna corrisponde a un campo richiesto dalle specifiche QR svizzere.

Scontrino a sinistra, parte di pagamento a destra, linea di separazione tra di essi.

Ciò che il debitore riceve è costruito interamente a partire dalla fila.
Di cosa hai bisogno
- A Make account.Open Make Cinque moduli nelle app standard, senza bisogno di abbonamenti premium.
- PDF4me API key.Get your API key Un singolo collegamento PDF4me copre l'intero scenario.
- An Airtable baseIl database acquisito si chiama
PDF4me Live Automationse contiene una tabella denominataSwiss QR Requests. Sono necessari i seguenti campi: blocco creditore, blocco debitore, QRIBAN, Riferimento, Amount, Valuta, Messaggio, Email, un campo Status e un campo allegato denominatoDocumentper la ricevuta finale. - A Gmail accountper la consegna, collegato a Make.
- A real QR-IBANdalla tua banca. Questo non è un IBAN ordinario: QR-IBAN svizzeri appartengono a un intervallo di codici dedicato a specifici istituti e sono ciò che rende possibile un riferimento QR strutturato. La tua banca ne emette uno su richiesta.
Panoramica dello scenario
- Watch records (Airtable) rileva nuove righe nelle
Swiss QR Requests. - Create Swiss QR-bill (PDF4me) che converte la ricevuta in un file PNG.
- Upload an attachment (Airtable) lo allega al campo
Documentsulla stessa riga. - Update a record (Airtable) scrive il risultato nella riga.
- Send an email (Gmail) per recapitare la ricevuta al debitore.
Panoramica completa dello scenario

Tre moduli Airtable, un modulo PDF4me e un modulo Gmail. La base funge sia da sorgente che da destinazione.
Passaggio 1: Come si attiva uno scenario da una riga Airtable?
Flusso finora: ancora niente, questo è il trigger.
Una riga contrassegnata come pronta rappresenta la richiesta, quindi è quella che Make monitora.
- Aggiungi Airtable > Watch records come trigger.
- Specificare:
- Base:
PDF4me Live Automations - Tavolo:
Swiss QR Requests - Trigger field:
Created - Label field:
Title - Limite:
10 - Formula:
{Status}='New'
- Base:
Configurazione Watch records

La formula è ciò che impedisce l'attivazione dello scenario su righe incomplete.
Tip.Trigger field Deve essere presente un campo "Ora di creazione" o "Ora di ultima modifica", come specificato nel modulo Make. Senza questo campo, il trigger non può ordinare i record e si comporterà in modo imprevedibile. Se la tabella non dispone di un campo di questo tipo, è necessario aggiungerlo prima di procedere con la creazione del resto del modulo.
Passaggio 2: Come si trasforma una riga in una banconota con codice QR svizzero?
Flusso finora: il trigger Airtable.
Questo è il modulo che genera la ricevuta. La maggior parte dei suoi campi corrisponde direttamente alla riga; due di essi richiedono un'espressione.
- Aggiungi PDF4me > Create Swiss QR-bill.
- Configure le impostazioni che determinano l'output:
- Format Type:
PNG - Reference Type:
QRR - Lingua:
English - Separator Line:
Line With Scissor - Creditor Address Type:
S
- Format Type:
- Mappa i dati di pagamento dal trigger:
- Amount:
formatNumber(1.Amount; 2; "."; "") - IBAN:
replace(1.QRIBAN; " "; "") - Creditor Name, via, codice postale, città e paese dalle colonne Creditore
- Nome e indirizzo Debtor dalle colonne del debitore e il Reference dalla riga
- Amount:
Create Swiss QR-bill

Il pannello è scorrevole in questa posizione. Sotto il nome del creditore sono riportati il resto dell'indirizzo del creditore e l'intero blocco dei dati del debitore.
Ciò che decide ogni impostazione
| Campo | Valore qui | Ciò che controlla |
|---|---|---|
| Format Type | PNG | Si tratta di un'immagine anziché di un PDF, ed è proprio questo che permette di allegarla a una cella Airtable e di visualizzarne l'anteprima in linea. |
| Reference Type | QRR | Un riferimento QR strutturato, ovvero il tipo che richiede un QR-IBAN. Le alternative sono SCOR e NON |
| Separator Line | Line With Scissor | Traccia la linea di taglio tra la parte della ricevuta e quella del pagamento. |
| Creditor Address Type | S | Indirizzo strutturato, ovvero via, codice postale e città in campi separati anziché testo libero. |
| Amount | formatNumber(...) | Due cifre decimali e nessun separatore delle migliaia, come previsto dalle specifiche. |
| IBAN | replace(...) | Elimina gli spazi che le persone digitano nei codici IBAN prima che il conto venga convalidato. |
Tip.Reference Type e il conto devono corrispondere. QRR richiede un QR-IBAN e un riferimento QR di 27 cifre; un IBAN ordinario con un riferimento QRR è la causa più comune di mancata convalida di una ricevuta generata. Se non si dispone ancora di un QR-IBAN, utilizzare NON e lasciare vuoto il campo del riferimento finché la banca non ne rilascia uno.
Passaggio 3: Come si rimette la fascetta sul disco?
Flusso finora: il trigger più il modulo PDF4me.
La fila ha chiesto il conto, quindi la fila dovrebbe portarlo.
- Aggiungi Airtable > Upload an attachment.
- Specificare:
- Base e Table: come nel passaggio 1
- Record ID: l'
iddel trigger - Attachment field:
Document - File: output di PDF4me - Create Swiss QR-bill
- File name:
QRBill_più il Title della riga più.png - Data: il Document di output del modulo 2
- Content type:
PNG image
Upload an attachment

Record ID proviene dal trigger, quindi la scheda viene posizionata sulla riga che l'ha richiesta.
Passaggio 4: Come si registra il risultato sulla riga?
Flusso finora: tutto tramite caricamento dell'allegato.
Allegare il file non significa che il lavoro sia terminato. Un aggiornamento separato riporta il risultato finale.
- Aggiungi Airtable > Update a record.
- Specificare:
- Base e Table: come nel passaggio 1
- Record ID: l'
iddel trigger - Record: compila i campi che desideri vengano restituiti. Status è il campo più importante, perché è ciò che legge la formula di attivazione, e una colonna OutputLink è un posto comodo per un URL condivisibile.
Update a record

Il pannello elenca tutte le colonne della tabella. Lascia vuoti i campi che non desideri vengano sovrascritti.
Tip.Lascia vuoti tutti i campi tranne quelli che intendi effettivamente modificare. Un campo mappato ma vuoto cancellerà il contenuto della cella, il che rappresenta un modo semplice per eliminare l'indirizzo di un creditore in uno scenario che altrimenti sembrerebbe funzionare correttamente. Nell'esecuzione acquisita, il pannello è scorrevole e tutti i campi visibili sono vuoti, quindi imposta Status intenzionalmente anziché copiare ciò che vedi.
Passaggio 5: Come si invia la fattura al debitore?
Flusso finora: tutto attraverso l'aggiornamento del record.
L'ultimo modulo consegna lo scontrino all'indirizzo indicato sulla riga.
- Aggiungi Gmail > Send an email.
- Specificare:
- To: la colonna Email dal trigger
- Subject:
Your Swiss QR billpiù il Title - Body type:
Raw HTML - Content: un breve corpo HTML che indica il debitore, la fattura e l'importo
- Allega l'allegato:
- File: PDF4me - Create Swiss QR-bill
- File name:
QRBill_seguito dal Title più.png - Data: il Document di output del modulo 2
Configurazione Send an email

L'allegato preleva i suoi byte dal modulo 2, quindi Airtable non viene mai letto.
Tip.Osserva l'importo nel corpo dell'e-mail. Il messaggio catturato recitaAmount: 100.5 CHF mentre lo scontrino stesso recita100.50, perché il corpo mappa la colonna raw mentre la fattura QR passa attraversoformatNumber Utilizza la stessa espressione in entrambi i punti, a meno che tu non voglia spiegare la differenza a un cliente.
Esegui lo scenario e verifica
- Save lo scenario ed eseguilo una volta.
- Aggiungi una riga alle
Swiss QR Requestscon un creditore, un debitore, un importo, un QR-IBAN e StatusNew. - Osserva i cinque moduli che si illuminano. Ciascuno dovrebbe segnalare un'operazione.
- Apri la riga: il campo
Documentdovrebbe contenere un file PNG con lo stesso nome del Title. - Apri l'allegato e controlla entrambe le parti. La ricevuta e la parte relativa al pagamento devono riportare lo stesso conto, la stessa causale e lo stesso importo, con la linea di separazione tra di essi.
- Controlla la posta in arrivo nella colonna Email per trovare il messaggio e il relativo allegato.
Nella sequenza acquisita, la riga INV-1003 ha prodotto una ricevuta pagabile a Muster AG presso Bahnhofstrasse 1, 8001 Zuerich, sul conto CH44 3199 9123 0008 8901 2, con riferimento 21 00000 00003 13947 14300 09017, pagabile da Test Kunde AG presso Seestrasse 10, 8002 Zuerich, per CHF 100.50.
What did you actually build?Un generatore di ricevute di pagamento integrato nel database che il tuo team già utilizza. Nessuno deve accedere al portale bancario, nessuno deve reinserire l' IBAN e la ricevuta viene allegata al record che l'ha generata, così anche un mese dopo puoi ancora vedere quale riga ha generato quale fattura.
Varianti comuni che puoi aggiungere senza dover ricostruire
Come si confronta questo metodo con gli altri modi di produrre una banconota svizzera con codice QR?
Ogni riga descrive l'alternativa. L'ultima riga rappresenta questo scenario.
| Confronto | Chi lo gestisce? | Da dove provengono i dati | Ciò che mantieni |
|---|---|---|---|
| Portale bancario contro questo scenario | Una persona, un passo falso alla volta | Riscritto a mano | Niente, ma ogni bolletta costa minuti a qualcuno |
| Pacchetto contabile con esportazione QR svizzera a confronto con questo scenario | Finanza, all'interno di quel prodotto | Il registro contabile del prodotto | Un abbonamento e una seconda casa per i tuoi clienti |
| Libreria di sviluppo rispetto a questo scenario | Uno sviluppatore, all'interno di un'applicazione | Il tuo database, tramite codice | Il codice, gli aggiornamenti delle specifiche e le release |
| Questo scenario | Chiunque può aggiungere una riga Airtable | La base che la squadra già mantiene | Cinque moduli e un QR-IBAN |
Domande frequenti
Che cos'è una banconota QR svizzera?
La fattura QR svizzera è la ricevuta di pagamento che ha sostituito i vecchi moduli di pagamento arancioni e rossi in Svizzera. Contiene un codice QR con i dati del creditore, del debitore, l'importo e il riferimento, che il pagatore può scansionare con la propria app bancaria anziché digitare alcunché.
Si compone di due metà, una parte di ricevuta e una di pagamento, separate da una linea di taglio, e il layout è fissato dalSwiss implementation guidelines published by SIX Ecco perché generarne uno è un problema di specifica piuttosto che un problema di progettazione.
Qual è il codice QR-IBAN in Svizzera?
Il QR-IBAN è un secondo numero di conto che la banca rilascia in aggiunta al normale IBAN, riconoscibile perché il suo identificativo istituzionale rientra in un intervallo riservato. Serve alla banca per identificare un pagamento in entrata che contiene un riferimento QR strutturato e per associarlo automaticamente a una fattura.
La regola pratica per questo scenario è la seguente: se imposti Reference Type su QRR devi utilizzare il QR-IBAN, non quello normale. Mescolarli è ciò che produce una ricevuta che sembra corretta ma non viene scansionata.
Come si paga una bolletta con codice QR svizzero?
Il pagatore apre l'app della propria banca, scansiona il codice QR nella sezione pagamenti, verifica l'importo sullo schermo e conferma. Non viene digitato nulla, che è proprio il punto di forza di questo formato.
È possibile pagare una bolletta anche presso uno sportello postale oppure compilare manualmente i campi stampati; per questo motivo, la sezione relativa al pagamento riporta il numero di conto, il riferimento e l'importo in formato leggibile accanto al codice.
Airtable è in grado di creare fatture?
Non da solo. Airtable memorizza i dati e può disporli in un'interfaccia o in una visualizzazione stampabile, ma non ha modo di produrre un documento che soddisfi uno standard di pagamento, né di generare un codice QR scansionabile conforme a tale specifica.
Il suo punto di forza è quello di essere la fonte di verità. Questo scenario mantiene tale distinzione: Airtable conserva la riga, PDF4me produce l'artefatto conforme e il risultato torna alla riga come allegato.
Risoluzione dei problemi
Verifica insieme l'account e il tipo di riferimento. AQRR Il riferimento richiede un QR-IBAN; un IBAN ordinario richiedeSCOR ONON. Quindi controlla che l' IBAN abbia effettivamente raggiunto il modulo senza spazi, che è ciò che ilreplace L'espressione serve proprio a questo.
La formula di attivazione è mancante o non corrisponde.{Status}='New' La selezione è sensibile alle maiuscole e il campo deve essere un singolo campo di selezione o di testo il cui valore è esattamente "Nuovo". Verificare inoltre che Trigger field sia un campo "Ora di creazione" o "Ora di ultima modifica".
Controlla Record ID nel modulo 3. Deve provenire dal trigger, non dal modulo PDF4me. Quindi controlla che Content type corrisponda Format Type: un file PNG dal modulo 2 caricato come file PDF verrà allegato e quindi non verrà visualizzato in anteprima.
Il modulo 4 elenca tutti i campi della tabella e un campo mappato ma vuoto cancella il contenuto della cella. Lascia inalterato tutto ciò che non intendi scrivere.
Prossimi passi
Il database che già tenete è solitamente più simile a un documento di pagamento completo di quanto sembri. Ha solo bisogno di qualcosa che ne specifichi le caratteristiche.