Pular para o conteúdo principal

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

· 28 min para ler
SEO and Content Writer

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.

O fluxo em resumo
1. When an item is created
Gatilho do SharePoint na lista chamada Swiss QR Requests. Cada linha corresponde a uma fatura com QR Code.
2. Barcode - Create SwissQR Bill
PDF4me Barcode. Output Format Type PNG, referência QRR, devedor e valor da linha.
3. Create file
Salva o comprovante na biblioteca QR Bills, com o nome do número da fatura.
4. Update item
Status dos carimbos Generated e o OutputLink volta para a mesma linha.
5. Send an email (V2)
Enviar o comprovante para o endereço indicado na linha, anexado como um arquivo PNG.
A versão curta

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.

Lista do SharePoint "Solicitações de QR Code Suíças" com as colunas Título, Número da Fatura, Nome do Devedor, Rua, Número do Prédio, CEP, Cidade, Valor, Moeda, Idioma, Mensagem, E-mail, Status e Link de Saída, contendo uma linha: QR Code de Teste 001, INV-1001, Max Muster, Musterstrasse, 1, 8000, Zurique, 1.005,00 CHF, Inglês, Fatura de teste INV-1001, com status Gerado e um link para o PNG gerado.

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.

Biblioteca de faturas QR do SharePoint mostrando SwissQR_INV-1001.png com uma pré-visualização da fatura QR suíça: parte do recibo e pagamento, 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 Zurique, CHF 1 005,00

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

O Outlook exibe o e-mail "Sua fatura Swiss QR da conta Pdf4me Flow com SwissQR_INV-1001.png anexado e aberto no painel de visualização", e o corpo do e-mail instrui o destinatário a escanear o código QR com o aplicativo do banco para efetuar o pagamento.

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​

  1. When an item is created, o SharePoint monitora a lista Swiss QR Requests.
  2. Barcode - Create SwissQR Bill (PDF4me Barcode) renderiza o comprovante como um PNG.
  3. Create file (SharePoint) o salva em /QR Bills como SwissQR_<invoice number>.png.
  4. Update item (SharePoint) define Status como Generated e preenche OutputLink.
  5. Send an email (V2) (Office 365 Outlook) envia o comprovante ao devedor.

Visão geral completa do fluxo​

O histórico de execução do Power Automate mostra cinco ações concluídas com sucesso nesta ordem: Criação de um item em 0,3 segundos, Criação de código de barras da fatura SwissQR em 31 segundos, Criação de arquivo em 2 segundos, Atualização de item em 0,8 segundos e Envio de e-mail V2 em 0,4 segundos.

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.

  1. Crie um Automated cloud flow e selecione SharePoint > When an item is created.
  2. Configurar:
    • Site Address: PDF4me Support - https://ynoox1.sharepoint.com/sites/PDF4meSupport
    • List Name: Swiss QR Requests

When an item is created: configuração​

SharePoint: O gatilho "Quando um item é criado" tem como endereço do site "PDF4me Support" em ynoox1.sharepoint.com/sites/PDF4meSupport e como nome da lista "Swiss QR Requests", sem parâmetros avançados definidos.

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.

  1. Adicionar Barcode - Create SwissQR Bill a partir da conexão PDF4me Barcode.
  2. 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
  3. 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​

Ação PDF4me Barcode Create SwissQR Bill com formato de saída PNG, IBAN CH4431999123000889012, valor da lista, credor Var Schneider AG em Bahnhofstrasse 23, 2501 Biel, tipo de endereço S, moeda e nome do devedor final, rua, número do prédio, CEP e cidade mapeados a partir das colunas da lista, tipo de referência QRR com 27 dígitos, mensagem não estruturada e idioma da lista, e linha separadora definida como LineWithScissor.

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?​

CampoValor no fluxo capturadoFonte
Output Format TypePNGEstática, o deslizamento por si só
IBANCH4431999123000889012Estático, seu QR-IBAN
Bloco de credoresVar Schneider AG, Bahnhofstrasse 23, 2501 BielEstático, seu próprio endereço
Amount, Currency1,005.00, CHFColunas Amount e Currency
Bloqueio final do devedorMax Muster, Musterstrasse 1, 8000 ZurichDebtorName, Street, BuildingNo, PostalCode, City
Reference Type, ReferenceQRR, 210000000003139471430009017Estática neste fluxo, veja o aviso abaixo
Unstructured MessageTest invoice INV-1001Coluna Message
Language TypeEnglishColuna Language
Seperator LineLineWithScissorEstá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.

  1. Adicionar SharePoint > Create file.
  2. 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

Create file: configuração​

Ação "Criar arquivo" do SharePoint com o endereço do site "PDF4me Support", caminho da pasta "/QR Bills", nome do arquivo "SwissQR_" seguido pelo token "InvoiceNumber" e ".png", e conteúdo do arquivo definido como o token "Body" da ação de código de barras do PDF4me.

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.

  1. Adicionar SharePoint > Update item.
  2. 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

Update item: configuração​

Ação de atualização de item do SharePoint com endereço do site "PDF4me Support", nome da lista "Swiss QR Requests", ID e título obtidos do gatilho e parâmetros avançados: valor de status definido como "Gerado" e OutputLink construído a partir da URL do site mais o token Path da criação do arquivo.

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.

  1. Adicionar Office 365 Outlook > Send an email (V2).
  2. 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.
  3. 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​

Ação "Enviar um email V2" do Office 365 Outlook com o campo "Para" preenchido na coluna "Email", o assunto "Sua fatura suíça com QR Code", um corpo de texto solicitando ao destinatário que escaneie o código QR com o aplicativo do banco, um anexo cujo nome vem do token "Criar nome do arquivo" e cujo conteúdo vem do token "Conteúdo do arquivo PDF4me", e a importância definida como "Normal".

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​

  1. Save o fluxo.
  2. 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.
  3. Abra o histórico de execução. Todas as cinco ações devem estar verdes, sendo que Create SwissQR Bill está demorando mais.
  4. Abra a biblioteca QR Bills e verifique se o arquivo PNG está lá e se a pré-visualização do comprovante de pagamento é exibida.
  5. Volte à linha: Status deve exibir Generated e OutputLink deve abrir a imagem.
  6. 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​

Execute-o como um lote
Troque o gatilho por Recurrence mais Get items filtrados para as linhas que ainda estão aguardando e coloque as quatro ações restantes dentro de um Apply to each. A coluna Status mantém a fila organizada.
Cole o comprovante na fatura
Defina Output Format Type como PDF e insira a fatura no campo File Content avançado. A parte do pagamento será anexada ao documento em vez de estar separada. A versão do Dropbox deste fluxo demonstra essa variante.
Imprima o comprovante no idioma do devedor
Language Type já vem da lista, então defina-o para cada devedor e as etiquetas serão impressas em alemão, francês, italiano ou inglês sem precisar alterar o fluxo.
Use uma referência de credor em vez disso
Se a conta for um IBAN comum, defina Reference Type como SCOR e forneça uma referência de credor ISO 11649, ou como NON para omitir completamente a referência do comprovante.

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çãoQuem pode apresentar uma fatura?De onde vêm os dados?Entrega e registro
Gerador de portal bancário versus este fluxoQuem tiver o login do banco onlineDigitado à mão, uma conta de cada vezFaça o download e anexe-o a um e-mail
Biblioteca de desenvolvedor versus este fluxoUm desenvolvedor, dentro de um aplicativoSeu banco de dados, através do código que você mantémQualquer coisa que você construa em torno disso
ERP ou módulo de faturamento versus este fluxoQualquer pessoa, dentro desse produtoOs próprios registros do ERPDentro desse produto, se ele incluir o recurso
Esse fluxoQualquer pessoa que possa adicionar uma linha a uma listaUma lista do SharePoint que a equipe já mantémArquivado, 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​

A ação rejeita o IBAN ou a moeda

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.

QRR está configurado, mas a referência foi recusada

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.

O e-mail chegou sem nenhum anexo

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.

Status foi Generated, mas o link não abre

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​

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.