Fattura QR svizzera da un elenco di SharePoint: genera e invia via email ogni fattura QR in Power Automate con PDF4me

PDF4me Create SwissQR Bill è un'azione di Power Automate che trasforma i dettagli di pagamento in una ricevuta QR conforme agli Swiss Payment Standards. Collegata a un elenco di SharePoint, genera una ricevuta QR per ogni richiesta ricevuta, archivia l'immagine in una raccolta documenti, la collega alla riga corrispondente e la invia via e-mail al debitore.
Cercando fattura QR svizzera si ottengono due tipi di risposte. Una spiega lo standard: cosa devono contenere la ricevuta e la parte relativa al pagamento, quali formati di riferimento esistono e perché la ricevuta ha sostituito le vecchie bollette di pagamento nel 2022. L'altra è una libreria di codice, in PHP, JavaScript o Python, per gli sviluppatori che creano software di fatturazione. Tra queste due opzioni si colloca l'azienda che deve semplicemente inviarne una. I dettagli di pagamento sono già presenti in un elenco che qualcuno mantiene aggiornato, e ciò che manca è la parte in cui la ricevuta viene generata, archiviata e inviata. Ecco il flusso, in cinque passaggi e senza codice.
Qualcuno aggiunge una riga a un elenco di SharePoint con il debitore, l'importo, la valuta e un messaggio. Circa trentacinque secondi dopo, la fattura con codice QR è disponibile come file PNG in una raccolta documenti, la riga contiene un link ad essa e lo stato Generated, e il debitore la trova nella sua casella di posta elettronica pronta per essere scansionata. Cinque azioni, connettori standard, e nessuno apre un portale bancario.
Domande e risposte basate sul perché
Perché conservare i dettagli di pagamento in un elenco di SharePoint? Perché le persone che li conoscono non sono quelle che eseguirebbero uno script. Una riga di elenco è un modulo che chiunque nel reparto finanziario può compilare, conserva la cronologia delle richieste e le sue colonne sono quelle che determinano la ricevuta: l'importo, la valuta, il messaggio sulla parte relativa al pagamento e persino la lingua in cui sono stampate le etichette.
Perché generare un file PNG anziché un PDF? Perché non c'è una fattura a cui allegare la ricevuta. Con Output Format Type impostato su PDF, l'azione si aspetta un documento di origine e vi aggiunge la parte relativa al pagamento. Con il formato PNG, invece, viene restituita la ricevuta da sola, che è la soluzione ideale quando la fattura tramite codice QR costituisce l'intero messaggio: può essere visualizzata in anteprima in SharePoint e aperta nell'e-mail senza bisogno di scaricarla.
Perché il riferimento QRR? Perché è il riferimento che riconcilia automaticamente il pagamento. QRR è il riferimento numerico svizzero a 27 cifre con cifra di controllo e funziona solo con un QR-IBAN, ovvero un IBAN il cui numero di istituto rientra nell'intervallo QR. Quando il debitore scansiona e paga, il riferimento viene restituito con l'accredito e la fattura si chiude automaticamente. SCOR e NON sono le alternative quando questa funzionalità non è necessaria.
Perché scrivere il link alla riga? Perché la richiesta dovrebbe essere in grado di rispondere autonomamente alla domanda "è stata inviata?". Il flusso imposta lo stato su Generated e memorizza un link all'immagine, quindi l'elenco funge sia da coda che da record, e nessuno deve andare a cercare nella libreria per scoprire cosa è successo.
Cosa riceverai
Input: una riga in un elenco di SharePoint contenente il numero di fattura, il nome e l'indirizzo del debitore, l'importo, la valuta, il messaggio, la lingua e l'indirizzo e-mail. Output: una fattura QR svizzera in formato PNG nella libreria QR Bills, la stessa riga aggiornata con lo stato e un link, e un'e-mail al debitore con la ricevuta allegata.

Una riga corrisponde a una fattura QR. Status e OutputLink vengono scritti dal flusso, non dalla persona che compila la richiesta.

La ricevuta in biblioteca, denominata con il numero della fattura.

Lo stesso scontrino nella casella di posta del debitore, pronto per essere scansionato.
Di cosa hai bisogno
- Power Automate. Apri Power Automate. Un flusso cloud automatizzato su connettori standard. SharePoint, Office 365 Outlook e PDF4me non richiedono un piano premium.
- Chiave API di PDF4me. Ottieni la tua chiave API. Questo flusso utilizza una connessione a PDF4me, PDF4me Barcode.
- Un elenco SharePoint per le richieste. L'elenco acquisito si chiama Swiss QR Requests e contiene le colonne InvoiceNumber, DebtorName, Street, BuildingNo, PostalCode, City, Amount, Currency, Language, Message ed Email, oltre a una colonna di scelta Status e una colonna OutputLink in cui il flusso scrive.
- Una libreria di documenti per le ricevute. Il flusso acquisito scrive in una libreria denominata QR Bills.
- I dati del tuo creditore e un QR-IBAN. Il conto su cui viene effettuato il versamento, con il relativo indirizzo. Il QR-IBAN è richiesto per i riferimenti QRR e le specifiche Swiss Payment Standards limitano il conto agli emittenti svizzeri o del Liechtenstein e la valuta a CHF o EUR.
Il flusso in sintesi
- When an item is created, SharePoint monitora l'elenco
Swiss QR Requests. - Barcode - Create SwissQR Bill (PDF4me Barcode) converte la ricevuta in un
PNG. - Create file (SharePoint) e salvalo nella cartella
/QR BillscomeSwissQR_<invoice number>.png. - Update item (SharePoint) imposta Status su
Generatede compila OutputLink. - Send an email (V2) (Office 365 Outlook) invia la ricevuta al debitore.
Panoramica completa del flusso

Il rendering della schermata iniziale rappresenta l'intero costo di questo flusso: 31 secondi su 35. Tutto ciò che segue consiste nello spostamento di un piccolo file PNG da parte di SharePoint e Outlook.
Passaggio 1: Come si attiva l'invio di un codice QR per la fatturazione quando arriva una richiesta?
Flusso finora: ancora niente, questo è il trigger.
La lista rappresenta la coda delle richieste, quindi la creazione di una riga costituisce il segnale.
- Crea un Automated cloud flow e seleziona SharePoint > When an item is created.
- Configura:
- Site Address:
PDF4me Support - https://ynoox1.sharepoint.com/sites/PDF4meSupport - List Name:
Swiss QR Requests
- Site Address:
When an item is created: configurazione

Ogni colonna della nuova riga è disponibile come token nelle quattro azioni successive.
Passaggio 2: Cosa include l'azione Create SwissQR Bill?
Flusso finora: il trigger di SharePoint.
Questa è l'azione che svolge il lavoro e ha più campi di tutto il resto del flusso messo insieme. Si dividono in due gruppi: il lato del creditore, che è il tuo conto e indirizzo e non cambia mai, e il lato del debitore, che proviene dalla riga.
- Aggiungi Barcode - Create SwissQR Bill tramite la connessione PDF4me Barcode.
- Configurare l'output e il creditore (valori statici):
- Output Format Type:
PNG - IBAN:
CH4431999123000889012 - Creditor Name:
Var Schneider AG - Creditor Address Type:
S - Via del creditore, edificio, PostalCode, City:
Bahnhofstrasse,23,2501,Biel - Reference Type:
QRR - Seperator Line:
LineWithScissor
- Output Format Type:
- Mappa il debitore e il pagamento a partire dall'evento scatenante:
- Amount, Currency, Ultimate Debtor Name, Street, Building Number, PostalCode, City, Unstructured Message e Language Type prendono tutti il loro valore dalla colonna dell'elenco corrispondente.
- Ultimate Debtor AddressType:
S - Billing Info, AV1 Parameters e Av2 Parameters: lasciati vuoti
Barcode - Create SwissQR Bill: configurazione

Il tipo di indirizzo S indica un indirizzo strutturato: campi separati per via, numero civico, codice postale e città. Il tipo K, invece, prevede due righe di testo libero.
Da dove proviene ciascun campo
| Campo | Valore nel flusso catturato | Fonte |
|---|---|---|
| Output Format Type | PNG | Statico, lo slittamento da solo |
| IBAN | CH4431999123000889012 | Statico, il tuo QR-IBAN |
| Blocco del creditore | Var Schneider AG, Bahnhofstrasse 23, 2501 Biel | Statico, il tuo indirizzo |
| Amount, Currency | 1,005.00, CHF | Colonne Amount e Currency |
| Blocco debitore definitivo | Max Muster, Musterstrasse 1, 8000 Zurich | DebtorName, Street, BuildingNo, PostalCode, City |
| Reference Type, Reference | QRR, 210000000003139471430009017 | In questo flusso è presente una condizione statica; vedere l'avviso riportato di seguito |
| Unstructured Message | Test invoice INV-1001 | Colonna Message |
| Language Type | English | Colonna Language |
| Seperator Line | LineWithScissor | Statico |
Prima di andare in produzione, assegna a ogni fattura un riferimento univoco. Il flusso acquisito invia lo stesso riferimento QRR di 27 cifre su ogni ricevuta, il che va bene per un test ma è errato in produzione: il riferimento è ciò che indica alla banca a quale fattura appartiene un pagamento, quindi un valore condiviso fa sì che tutti i pagamenti in entrata appaiano identici. Genera il riferimento per ogni fattura, nell'elenco o nel flusso, e mantieni corretta la cifra di controllo modulo 10. Il riferimento è anche l'unico campo che il debitore non deve mai digitare, quindi non c'è motivo di renderlo breve o facile da ricordare.
Suggerimento: QRR funziona solo con un QR-IBAN, ovvero un IBAN il cui numero di istituto rientra nell'intervallo QR. Il conto utilizzato in questo caso, CH4431999123000889012, ha 31999 in queste posizioni, quindi è idoneo. Se la tua banca ti ha fornito un IBAN ordinario, utilizza SCOR o NON come Reference Type, oppure richiedi alla banca il QR-IBAN corrispondente al conto.
Passaggio 3: Dove viene salvata l'immagine della fattura tramite codice QR?
Flusso finora: il trigger più Create SwissQR Bill.
L'azione restituisce l'immagine, che viene poi pubblicata su SharePoint.
- Aggiungi SharePoint > Create file.
- Configura:
- Site Address:
PDF4me Support - https://ynoox1.sharepoint.com/sites/PDF4meSupport - Folder Path:
/QR Bills - File Name:
SwissQR_seguito dal token InvoiceNumber e.png - File Content: il token Body dal Barcode - Create SwissQR Bill
- Site Address:
Create file: configurazione

Assegnare al file lo stesso nome del numero di fattura è ciò che consente di effettuare ricerche nella libreria in un secondo momento. Per la fattura INV-1001 il nome sarà SwissQR_INV-1001.png.
Passaggio 4: Come si registra il risultato della richiesta?
Flusso finora: il trigger, Create SwissQR Bill e Create file.
La riga in cui è stata richiesta la fattura è anche il luogo corretto per registrare la sua esistenza.
- Aggiungi SharePoint > Update item.
- Configura:
- Site Address:
PDF4me Support - https://ynoox1.sharepoint.com/sites/PDF4meSupport - List Name:
Swiss QR Requests - ID: il token ID del trigger
- Title: il token Title dal trigger
- Status Value (avanzato):
Generated - OutputLink (avanzato): l'URL del sito seguito dal token Path dal Create file
- Site Address:
Update item: configurazione

Title viene trasmesso direttamente dal trigger. Il connettore lo gestisce come richiesto e l'invio del valore corrente è ciò che lo mantiene invariato.
Suggerimento: apri il link salvato una volta dopo la prima esecuzione. La libreria si chiama QR Bills, con uno spazio, quindi il percorso restituito da Create file contiene quello spazio e il browser deve codificarlo. Se il link non si apre correttamente, racchiudi l'espressione in encodeUriComponent oppure rinomina la libreria con un nome senza spazi.
Passaggio 5: Come si invia la fattura tramite codice QR al debitore?
Flusso finora: tutto tramite Update item.
L'ultima operazione trasforma la ricevuta in qualcosa su cui il debitore può agire, che è poi lo scopo principale di una fattura con codice QR.
- Aggiungi Office 365 Outlook > Send an email (V2).
- Configura:
- A: il token Email dal trigger
- Oggetto:
Your Swiss QR bill - Body:
Hello, please find your Swiss QR bill attached. Scan the QR code with your banking app to pay.
- Apri Advanced parameters e aggiungi un allegato:
- Name Attachments - 1: il token Name dal Create file
- Contenuto Attachments - 1: il token File Content dal Barcode - Create SwissQR Bill
- Importance:
Normal
Send an email (V2): configurazione

L'allegato prende il nome dal file appena creato e i suoi byte dall'azione che lo ha generato, quindi non è necessario leggere nulla da SharePoint.
Esegui il flusso e verifica
- Save il flusso.
- Aggiungi una riga alle Swiss QR Requests con il debitore, l'importo, la valuta, la lingua e l'indirizzo email che puoi verificare.
- Apri la cronologia delle esecuzioni. Tutte e cinque le azioni dovrebbero essere verdi, con Create SwissQR Bill che richiede la maggior parte del tempo.
- Apri la libreria QR Bills e verifica che il file PNG sia presente e venga visualizzato in anteprima come ricevuta di pagamento.
- Torna alla riga: Status dovrebbe essere Generated e OutputLink dovrebbe aprire l'immagine.
- Apri l'email e scansiona il codice QR con l'app della tua banca per verificare che l'importo, il conto e il riferimento siano corretti come li hai inseriti.
Nella registrazione, l'intera operazione ha richiesto circa trentacinque secondi, di cui trentuno per la sola ricevuta. Il file di output, SwissQR_INV-1001.png, riporta la ricevuta a sinistra e la parte relativa al pagamento a destra: conto CH44 3199 9123 0008 8901 2 per Var Schneider AG a Biel, riferimento 21 00000 00003 13947 14300 09017, pagabile da Max Muster a Zurich, CHF 1 005.00, con Test invoice INV-1001 nel blocco informazioni aggiuntive.
Cosa avete effettivamente realizzato? Un sistema di gestione delle fatture tramite codice QR che funziona con un elenco. Il team finanziario inserisce i dati che già conosce, la ricevuta viene restituita nel formato previsto dalle banche svizzere, viene archiviata insieme al resto della documentazione e il debitore la riceve senza che nessuno debba aprire un portale bancario o utilizzare un programma di progettazione.
Varianti comuni che puoi aggiungere senza dover ricostruire
Come si confronta questo con i metodi tradizionali di creazione di una fattura con codice QR?
Ogni riga descrive l'alternativa. L'ultima riga rappresenta questo flusso.
| Confronto | Chi può produrre una fattura? | Da dove provengono i dati | Consegna e registrazione |
|---|---|---|---|
| Generatore del portale bancario vs questo flusso | Chiunque abbia le credenziali di accesso all'e-banking | Digitato a mano, una banconota alla volta | Scaricalo e allegalo tu stesso a un'email |
| Libreria per sviluppatori vs questo flusso | Uno sviluppatore, all'interno di un'applicazione | Il tuo database, tramite il codice che gestisci | Qualunque cosa tu costruisca intorno ad essa |
| Modulo ERP o di fatturazione rispetto a questo flusso | Chiunque, all'interno di quel prodotto | I registri propri dell'ERP | All'interno di quel prodotto, se include la funzionalità |
| Questo flusso | Chiunque sia in grado di aggiungere una riga a un elenco | Un elenco SharePoint che il team già conserva | Archiviato, collegato alla riga e inviato automaticamente via e-mail |
Domande frequenti
Che cos'è una banconota QR svizzera?
La ricevuta QR svizzera è la distinta di pagamento che ha sostituito le vecchie ricevute arancioni e rosse in Svizzera. Presenta una ricevuta a sinistra e una parte di pagamento a destra, con un codice QR a forma di croce svizzera che contiene tutte le informazioni necessarie alla banca: conto e indirizzo del creditore, debitore, importo, valuta e riferimento. Scansionandolo, il pagamento diventa questione di pochi tocchi anziché dover digitare il numero di conto.
Il formato è definito dagli Swiss Payment Standards, pubblicati da SIX, e il volantino ufficiale della fattura QR ne illustra il layout in una pagina. L'aspetto pratico per l'automazione è che il contenuto è fisso: basta inserire i campi correttamente e qualsiasi app bancaria svizzera leggerà il risultato.
Come si paga una bolletta con codice QR svizzero?
Apri l'app della tua banca, seleziona l'opzione di scansione e inquadra il codice QR della Croce Svizzera con la fotocamera. L'app compilerà automaticamente i campi relativi al conto, all'importo, alla valuta e al riferimento, e tu dovrai confermare. Non è necessario digitare nulla, che è poi il motivo principale per cui esiste questo standard.
La carta funziona ancora allo stesso modo. La ricevuta è tua, il pagamento va alla banca o all'ufficio postale e i numeri stampati corrispondono al codice.
Come si genera una fattura con codice QR in Svizzera?
Esistono tre percorsi comuni. Le banche offrono un generatore all'interno dei servizi di e-banking, ideale per le aziende che inviano poche fatture al mese. I prodotti di fatturazione e i sistemi ERP generano la ricevuta come parte integrante della fattura. Gli sviluppatori, infine, utilizzano una libreria e la integrano nel proprio software.
Questo flusso rappresenta una quarta opzione: conservate i dettagli di pagamento in un elenco già gestito dal vostro team e lasciate che Create SwissQR Bill generi la ricevuta ogni volta che compare una riga. Nessun portale, nessun codice, e il risultato è un'immagine conforme agli standard che potete archiviare, allegare o stampare.
Come si invia un'email con un allegato in Power Automate?
Utilizza la Send an email (V2) del connettore Office 365 Outlook, apri Advanced parameters e aggiungi un allegato con due campi: un nome e il contenuto. Il nome è solo testo, quindi un token di un'azione precedente è sufficiente. Il contenuto deve corrispondere ai byte del file, che in genere si riferiscono all'output dell'azione che ha prodotto o recuperato il file.
In questo flusso, il nome proviene da Create file, quindi l'e-mail corrisponde a quella presente in SharePoint e il contenuto proviene direttamente dall'azione PDF4me. Se l'allegato arriva vuoto o l'invio dell'e-mail non va a buon fine, il campo Contenuto punta quasi sempre a qualcosa che non sono byte di file.
Risoluzione dei problemi
Le specifiche Swiss Payment Standards consentono solo conti emessi in Svizzera o Liechtenstein, con un massimo di 21 caratteri, e la valuta deve essere CHF o EUR. Un IBAN di qualsiasi altro paese, o un campo valuta compilato con USD, non è valido in questa fase e non successivamente.
Un riferimento QRR è composto da 27 cifre, termina con una cifra di controllo modulo 10 e richiede un QR-IBAN. Se il conto è un IBAN ordinario, oppure se il riferimento è stato abbreviato o modificato manualmente, impostare il Reference Type su SCOR o NON finché non vengono inseriti il conto e il riferimento corretti.
Controlla il campo Content dell'allegato. Richiede i byte del file, ovvero l'output File Content dell'azione del codice a barre. Un token che restituisce un percorso, un nome o l'intero corpo dell'azione produce un'e-mail che viene inviata correttamente ma non contiene informazioni utili.
OutputLink viene creato a partire dall'URL del sito e dal percorso del nuovo file. Un nome di libreria con uno spazio, una barra mancante tra le due parti o una barra finale nell'URL del sito producono un collegamento apparentemente corretto ma in realtà inesistente. Confronta il valore memorizzato con quello visualizzato nella barra degli indirizzi quando apri il file manualmente.
Prossimi passi
Create SwissQR Bill in Power Automate
Allega un codice QR alla fattura in formato PDF
Ottieni la tua chiave API
Lo stesso schema in cinque fasi (arriva una riga, viene prodotto un documento, viene archiviato, la riga viene timbrata, il cliente viene informato) si adatta a qualsiasi piccolo documento che può essere descritto in un elenco: promemoria, bolle di consegna, tessere associative e biglietti.