Fatura QR suíça a partir de uma lista do SharePoint: Gere e envie por e-mail todas as suas faturas QR no Power Automate com o PDF4me

O PDF4me Create SwissQR Bill é uma ação do Power Automate que transforma os detalhes de pagamento em um comprovante QR que segue os Swiss Payment Standards. Ao ser configurada em uma lista do SharePoint, ela gera uma fatura QR para cada solicitação recebida, arquiva a imagem em uma biblioteca de documentos, cria um link para ela na linha correspondente e a envia por e-mail ao devedor.
Ao pesquisar por uma fatura QR suíça, você obtém dois tipos de resposta. Uma explica o padrão: o que o recibo e a parte do pagamento devem conter, quais formatos de referência existem e por que o comprovante substituiu os antigos boletos de pagamento em 2022. A outra é uma biblioteca de código, em PHP, JavaScript ou Python, para desenvolvedores que criam softwares de faturamento. Entre esses dois extremos, está a empresa que simplesmente precisa enviar uma fatura. Os detalhes do pagamento já estão em uma lista que alguém mantém atualizada, e o que falta é a parte em que o comprovante é gerado, armazenado e enviado. Esse é o fluxo descrito aqui, em cinco etapas e sem código.
Alguém adiciona uma linha a uma lista do SharePoint com o devedor, o valor, a moeda e uma mensagem. Cerca de trinta e cinco segundos depois, a fatura com QR Code aparece como um arquivo PNG em uma biblioteca de documentos, a linha contém um link para ela e o status Generated, e o devedor a tem em sua caixa de entrada, pronta para ser escaneada. Cinco ações, conectores padrão e ninguém abre um portal bancário.
Perguntas e respostas baseadas no porquê
Por que manter os detalhes de pagamento em uma lista do SharePoint? Porque as pessoas que os conhecem não são as mesmas que executariam um script. Uma linha da lista é um formulário que qualquer pessoa do setor financeiro pode preencher; ela mantém um histórico do que foi solicitado, e suas colunas são o que gera o comprovante: o valor, a moeda, a mensagem na parte do pagamento e até mesmo o idioma em que as etiquetas são impressas.
Por que gerar um PNG em vez de um PDF? Porque não há uma fatura para anexar o comprovante. Com Output Format Type definido como PDF, a ação espera um documento de origem e anexa a parte do pagamento a ele. Com PNG, ela retorna o comprovante separadamente, que é o ideal quando a fatura com QR Code é a mensagem completa: ela é visualizada no SharePoint e aberta no e-mail sem a necessidade de download.
Por que o tipo de referência QRR? Porque é a referência que concilia o pagamento automaticamente. QRR é a referência numérica suíça de 27 dígitos com um dígito verificador, e funciona apenas com um QR-IBAN, ou seja, um IBAN cujo número da instituição esteja dentro do intervalo QR. Quando o devedor escaneia e paga, a referência é retornada com o crédito e a fatura é fechada automaticamente. SCOR e NON são as alternativas para quando isso não é necessário.
Por que gravar o link de volta para a linha? Porque a solicitação deve ser capaz de responder à pergunta "isso foi enviado?" por si só. O fluxo define o status como Generated e armazena um link para a imagem, de modo que a lista seja tanto a fila quanto o registro, e ninguém precise procurar na biblioteca para descobrir o que aconteceu.
O que você receberá
Entrada: uma linha em uma lista do SharePoint contendo o número da fatura, o nome e endereço do devedor, o valor, a moeda, a mensagem, o idioma e o endereço de e-mail. Saída: uma fatura QR suíça em formato PNG na biblioteca QR Bills, a mesma linha atualizada com o status e um link, e um e-mail para o devedor com o comprovante em anexo.

Uma linha corresponde a uma fatura com código QR. Status e OutputLink são definidos pelo fluxo, não pela pessoa que preenche a solicitação.

O comprovante na biblioteca, que recebeu o nome do número da fatura.

O mesmo comprovante na caixa de entrada do devedor, pronto para ser digitalizado.
Do que você precisa
- Power Automate. Abra o Power Automate. Um fluxo de trabalho automatizado na nuvem com conectores padrão. SharePoint, Office 365 Outlook e PDF4me não exigem plano premium.
- Chave da API do PDF4me. Obtenha sua chave da API. Este fluxo usa uma conexão com o PDF4me, PDF4me Barcode.
- Uma lista do SharePoint para as solicitações. A lista capturada chama-se Swiss QR Requests e possui as colunas InvoiceNumber, DebtorName, Street, Número BuildingNo, PostalCode, City, Amount, Currency, Language, Message e Email, além de uma coluna de seleção de Status e uma coluna OutputLink na qual o fluxo grava.
- Uma biblioteca de documentos para os comprovantes. O fluxo capturado grava em uma biblioteca chamada QR Bills.
- Os dados do seu credor e um QR-IBAN. A conta para a qual o dinheiro será transferido, com o respectivo endereço. O QR-IBAN é necessário para referências QRR, e a especificação Swiss Payment Standards limita a conta a emissores suíços ou de Liechtenstein e a moeda a CHF ou EUR.
O Fluxo em Resumo
- When an item is created, o SharePoint monitora a lista
Swiss QR Requests. - Barcode - Create SwissQR Bill (PDF4me Barcode) renderiza o comprovante como um
PNG. - Create file (SharePoint) o salva em
/QR BillscomoSwissQR_<invoice number>.png. - Update item (SharePoint) define Status como
Generatede preenche OutputLink. - Send an email (V2) (Office 365 Outlook) envia o comprovante ao devedor.
Visão geral completa do fluxo

A renderização do slide representa todo o custo deste fluxo: 31 dos 35 segundos. Tudo o que vem depois disso é o SharePoint e o Outlook movendo um pequeno arquivo PNG.
Passo 1: Como acionar uma fatura por QR Code quando uma solicitação é recebida?
Fluxo até agora: nada ainda, este é o gatilho.
A lista é a fila de requisições, portanto, criar uma linha é o sinal.
- Crie um Automated cloud flow e selecione SharePoint > When an item is created.
- Configurar:
- Site Address:
PDF4me Support - https://ynoox1.sharepoint.com/sites/PDF4meSupport - List Name:
Swiss QR Requests
- Site Address:
When an item is created: configuração

Cada coluna na nova linha está disponível como um token nas quatro ações que se seguem.
Etapa 2: O que está incluído na ação Create SwissQR Bill?
Fluxo até o momento: o gatilho do SharePoint.
Esta é a ação que realiza o trabalho e possui mais campos do que todo o restante do fluxo junto. Eles se dividem em dois grupos: o lado do credor, que é sua própria conta e endereço e nunca muda, e o lado do devedor, que vem da linha.
- Adicionar Barcode - Create SwissQR Bill a partir da conexão PDF4me Barcode.
- Configure a saída e o credor (valores estáticos):
- Output Format Type:
PNG - IBAN:
CH4431999123000889012 - Creditor Name:
Var Schneider AG - Creditor Address Type:
S - Rua do credor, edifício, PostalCode, City:
Bahnhofstrasse,23,2501,Biel - Reference Type:
QRR - Seperator Line:
LineWithScissor
- Output Format Type:
- Mapeie o devedor e o pagamento a partir do gatilho:
- Amount, Currency, Ultimate Debtor Name, Street, Building Number, PostalCode, City, Unstructured Message e Language Type obtêm seus valores da coluna da lista correspondente.
- Ultimate Debtor AddressType:
S - Billing Info, AV1 Parameters e Av2 Parameters: deixados em branco
Barcode - Create SwissQR Bill: configuração

O tipo de endereço S significa estruturado: campos separados para rua, número do prédio, código postal e cidade. O tipo K, por sua vez, aceitaria duas linhas de texto livre.
De onde vem cada campo?
| Campo | Valor no fluxo capturado | Fonte |
|---|---|---|
| Output Format Type | PNG | Estática, o deslizamento por si só |
| IBAN | CH4431999123000889012 | Estático, seu QR-IBAN |
| Bloco de credores | Var Schneider AG, Bahnhofstrasse 23, 2501 Biel | Estático, seu próprio endereço |
| Amount, Currency | 1,005.00, CHF | Colunas Amount e Currency |
| Bloqueio final do devedor | Max Muster, Musterstrasse 1, 8000 Zurich | DebtorName, Street, BuildingNo, PostalCode, City |
| Reference Type, Reference | QRR, 210000000003139471430009017 | Estática neste fluxo, veja o aviso abaixo |
| Unstructured Message | Test invoice INV-1001 | Coluna Message |
| Language Type | English | Coluna Language |
| Seperator Line | LineWithScissor | Estático |
Antes de implementar o sistema, atribua uma referência única a cada fatura. O fluxo de processamento envia a mesma referência QRR de 27 dígitos em todos os comprovantes, o que é aceitável para testes, mas inadequado em produção: a referência é o que informa ao seu banco a qual fatura um pagamento pertence, portanto, um valor compartilhado faz com que todos os pagamentos recebidos pareçam idênticos. Gere a referência para cada fatura, na lista ou no fluxo, e mantenha o dígito verificador (módulo 10) correto. A referência também é o único campo que o devedor nunca precisa digitar, então não há motivo para que seja curta ou fácil de memorizar.
Dica: QRR só funciona com um QR-IBAN, que é um IBAN cujo número da instituição está dentro do intervalo QR. A conta usada aqui, CH4431999123000889012, tem o 31999 nessas posições, portanto, ela se qualifica. Se o seu banco lhe forneceu um IBAN comum, use SCOR ou NON como Reference Type ou solicite ao banco o QR-IBAN correspondente à conta.
Etapa 3: Onde a imagem do QR Code da fatura é salva?
Fluxo até o momento: o gatilho mais Create SwissQR Bill.
A ação retorna a imagem, e o SharePoint é onde ela é armazenada.
- Adicionar SharePoint > Create file.
- Configurar:
- Site Address:
PDF4me Support - https://ynoox1.sharepoint.com/sites/PDF4meSupport - Folder Path:
/QR Bills - File Name:
SwissQR_seguido pelo token InvoiceNumber e.png - File Content: o token Body do Barcode - Create SwissQR Bill
- Site Address:
Create file: configuração

Nomear o arquivo com o número da fatura é o que permite que a biblioteca seja pesquisada posteriormente. Para INV-1001 isso cria o arquivo SwissQR_INV-1001.png.
Passo 4: Como você registra o resultado na solicitação?
Fluxo até o momento: o gatilho, Create SwissQR Bill e Create file.
A linha que solicita a fatura também é o local correto para registrar sua existência.
- Adicionar SharePoint > Update item.
- Configurar:
- Site Address:
PDF4me Support - https://ynoox1.sharepoint.com/sites/PDF4meSupport - List Name:
Swiss QR Requests - ID: o token ID do gatilho
- Title: o token Title do gatilho
- Status Value (avançado):
Generated - OutputLink (avançado): o URL do site seguido pelo token Path do Create file
- Site Address:
Update item: configuração

Title é retornado diretamente do gatilho. O conector o trata como necessário, e fornecer o valor atual é o que o mantém inalterado.
Dica: Abra o link salvo uma vez após a primeira execução. A biblioteca aqui se chama QR Bills, com um espaço, então o caminho retornado por Create file contém esse espaço e o navegador precisa codificá-lo. Se o link não abrir corretamente, envolva a expressão em encodeUriComponent ou renomeie a biblioteca para algo sem espaços.
Passo 5: Como enviar a fatura com QR Code para o devedor por e-mail?
Fluxo até agora: tudo através Update item.
A última ação transforma o comprovante em algo que o devedor pode usar para tomar providências, que é exatamente o objetivo de uma fatura com QR Code.
- Adicionar Office 365 Outlook > Send an email (V2).
- Configurar:
- Para: o token Email do gatilho
- Assunto:
Your Swiss QR bill - Body:
Hello, please find your Swiss QR bill attached. Scan the QR code with your banking app to pay.
- Abra Advanced parameters e adicione um anexo:
- Name Attachments - 1: o token Name do Create file
- Conteúdo Attachments - 1: o token File Content do Barcode - Create SwissQR Bill
- Importance:
Normal
Send an email (V2): configuração

O anexo recebe seu nome do arquivo que acabou de ser criado e seus bytes da ação que os produziu, portanto, nada precisa ser lido de volta do SharePoint.
Execute o fluxo e verifique
- Save o fluxo.
- Adicione uma linha às Swiss QR Requests com um devedor, um valor, uma moeda, um idioma e um endereço de e-mail que você possa verificar.
- Abra o histórico de execução. Todas as cinco ações devem estar verdes, sendo que Create SwissQR Bill está demorando mais.
- Abra a biblioteca QR Bills e verifique se o arquivo PNG está lá e se a pré-visualização do comprovante de pagamento é exibida.
- Volte à linha: Status deve exibir Generated e OutputLink deve abrir a imagem.
- Abra o e-mail e escaneie o código QR com o aplicativo do seu banco para confirmar o valor. A conta e a referência serão exibidas exatamente como você as inseriu.
Na gravação, todo o processo levou cerca de trinta e cinco segundos, dos quais trinta e um foram referentes ao próprio comprovante. O resultado, SwissQR_INV-1001.png, mostra o recibo à esquerda e a parte do pagamento à direita: conta CH44 3199 9123 0008 8901 2 para Var Schneider AG em Biel, referência 21 00000 00003 13947 14300 09017, pagável por Max Muster em Zurich, CHF 1.005,00, com Test invoice INV-1001 no bloco de informações adicionais.
O que vocês realmente criaram? Um sistema de emissão de boletos por QR Code que funciona com base em uma lista. A equipe financeira insere as informações que já possui, o boleto é retornado no formato esperado pelos bancos suíços, é arquivado junto com o restante da documentação e o devedor o recebe sem que ninguém precise acessar um portal bancário ou uma ferramenta de design.
Variações comuns que você pode adicionar sem reconstruir
Como isso se compara às formas usuais de gerar uma fatura com QR Code?
Cada linha descreve a alternativa. A última linha é este fluxo.
| Comparação | Quem pode apresentar uma fatura? | De onde vêm os dados? | Entrega e registro |
|---|---|---|---|
| Gerador de portal bancário versus este fluxo | Quem tiver o login do banco online | Digitado à mão, uma conta de cada vez | Faça o download e anexe-o a um e-mail |
| Biblioteca de desenvolvedor versus este fluxo | Um desenvolvedor, dentro de um aplicativo | Seu banco de dados, através do código que você mantém | Qualquer coisa que você construa em torno disso |
| ERP ou módulo de faturamento versus este fluxo | Qualquer pessoa, dentro desse produto | Os próprios registros do ERP | Dentro desse produto, se ele incluir o recurso |
| Esse fluxo | Qualquer pessoa que possa adicionar uma linha a uma lista | Uma lista do SharePoint que a equipe já mantém | Arquivado, vinculado na linha e enviado por e-mail automaticamente |
Perguntas frequentes
O que é uma nota QR suíça?
A fatura QR suíça é o comprovante de pagamento que substituiu os antigos comprovantes laranja e vermelhos na Suíça. Ela contém um recibo à esquerda e a parte do pagamento à direita, com um código QR da Cruz Suíça que reúne todas as informações necessárias para o banco: a conta e o endereço do credor, o devedor, o valor, a moeda e a referência. A leitura do código QR permite que o pagamento seja feito com apenas alguns toques, em vez de digitar um número de conta.
O formato é definido pelas Swiss Payment Standards, publicadas pela SIX, e o folheto oficial da fatura com QR Code explica o layout em uma página. A vantagem prática para a automação é que o conteúdo é fixo: basta preencher os campos corretamente e qualquer aplicativo bancário suíço lerá o resultado.
Como pagar uma fatura com QR Code suíço?
Abra o aplicativo do seu banco, selecione a opção de leitura de código QR e aponte a câmera para o código QR da Cruz Suíça. O aplicativo preenche automaticamente a conta, o valor, a moeda e a referência, e você confirma. Não é necessário digitar nada, que é exatamente o motivo da existência desse padrão.
O papel ainda funciona da mesma maneira. A parte do recibo é sua, a parte do pagamento vai para o banco ou para os correios, e os números impressos refletem o conteúdo do código.
Como gerar uma fatura com código QR na Suíça?
Existem três caminhos comuns. Os bancos oferecem um gerador integrado ao sistema de internet banking, o que é ideal para empresas que emitem poucas contas por mês. Sistemas de faturamento e ERP geram o comprovante como parte da fatura. Desenvolvedores utilizam bibliotecas prontas e as integram aos seus próprios softwares.
Este fluxo é uma quarta opção: mantenha os detalhes do pagamento em uma lista que sua equipe já gerencia e deixe Create SwissQR Bill gerar o comprovante sempre que uma linha aparecer. Sem portal, sem código, e o resultado é uma imagem compatível com os padrões que você pode arquivar, anexar ou imprimir.
Como enviar um e-mail com um anexo no Power Automate?
Use a opção Send an email (V2) no conector Office 365 Outlook, abra Advanced parameters e adicione um anexo com dois campos: um nome e o conteúdo. O nome é apenas um texto, portanto, um token de uma ação anterior funciona. O conteúdo deve ser o tamanho do arquivo em bytes, o que geralmente significa a saída da ação que gerou ou obteve o arquivo.
Nesse fluxo, o nome vem de Create file, então o e-mail corresponde ao que está no SharePoint, e o conteúdo vem diretamente da ação do PDF4me. Se o anexo chegar vazio ou o e-mail falhar, o campo Conteúdo quase sempre estará apontando para algo que não são bytes de arquivo.
Solução de problemas
As especificações Swiss Payment Standards permitem apenas contas emitidas na Suíça ou em Liechtenstein, com até 21 caracteres, e a moeda deve ser CHF ou EUR. Um IBAN de qualquer outro país, ou um campo de moeda preenchido com USD, falhará aqui e não posteriormente.
Um código QRR possui 27 dígitos, termina com um dígito verificador módulo 10 e requer um QR-IBAN. Se a conta for um IBAN comum, ou se o código tiver sido abreviado ou editado manualmente, altere o Reference Type para SCOR ou NON até que a conta e o código corretos estejam configurados.
Verifique o campo Content do anexo. Ele precisa dos bytes do arquivo, que é a saída File Content da ação de código de barras. Um token que retorna um caminho, um nome ou todo o corpo da ação gera um e-mail que é enviado com sucesso, mas não contém nada útil.
OutputLink é montado a partir do URL do site e do caminho do novo arquivo. Um nome de biblioteca com um espaço, uma barra invertida ausente entre as duas partes ou uma barra invertida no final do URL do site produzem um link que parece correto, mas não resolve para nada. Compare o valor armazenado com a barra de endereços ao abrir o arquivo manualmente.
Próximos passos
Create SwissQR Bill no Power Automate
Anexar um código QR a uma fatura em PDF
Obtenha sua chave de API
O mesmo padrão de cinco etapas (uma fila chega, um documento é gerado, ele é arquivado, a fila é carimbada, o cliente é informado) se aplica a qualquer documento pequeno que uma lista possa descrever: lembretes, notas de entrega, cartões de membro e ingressos.