Nordlet

← Documentacao / Glossario

O que é um código QR EPC? Pagamentos por leitura em faturas

O padrão de códigos QR do Conselho Europeu de Pagamentos para transferências a crédito SEPA - o que o payload contém, porque elimina erros de pagamento e onde é utilizado.

Um código QR EPC é um código de barras quadrado numa fatura que um cliente lê com a sua aplicação bancária para preencher previamente o pagamento: o seu IBAN, o seu nome, o montante e a referência de pagamento. O cliente confirma e o pagamento é enviado.

É definido pelo Conselho Europeu de Pagamentos (European Payments Council) nas suas Quick Response Code Guidelines to Enable Data Capture for the Initiation of a SEPA Credit Transfer, sendo deliberadamente restrito: inicia uma transferência a crédito SEPA e mais nada.

O problema que resolve

A introdução manual de pagamentos é onde o dinheiro se perde. Um cliente que copia um IBAN de 20 caracteres e um número de referência de um PDF para a sua aplicação bancária pode, por vezes, trocar um dígito, omitir a referência ou escrever mal o montante.

Cada um destes erros tem um custo do seu lado. Uma referência errada significa que o pagamento entra na sua conta sem correspondência, sendo necessário determinar a que fatura pertence - exatamente o problema que a reconciliação bancária existe para resolver. Um IBAN errado pode significar que o pagamento vai parar inteiramente a outro sítio.

Um código QR lido por leitura elimina a digitação, o que elimina esse tipo de erro. Também encurta o caminho entre "ler a fatura" e "pagamento enviado" para poucos segundos, o que melhora de forma mensurável a velocidade de cobrança em faturas B2C e de pequenas empresas.

O que o payload contém

O payload EPC069-12 é composto por texto simples, um campo por linha, numa ordem fixa:

BCD                        ← etiqueta de serviço
002                        ← versão
1                          ← conjunto de caracteres (1 = UTF-8)
SCT                        ← identificação (SEPA Credit Transfer)
                           ← BIC (opcional no EEE)
UAB Pavyzdys               ← nome do beneficiário
LT121000011101001000       ← IBAN do beneficiário
EUR605.00                  ← montante, com prefixo da moeda
                           ← código de finalidade (opcional)
                           ← referência de remessa estruturada
Invoice S-1041             ← texto de remessa não estruturado
                           ← informação do beneficiário para o ordenante

Restrições importantes a conhecer: o payload total deve manter-se dentro dos 331 bytes; o montante deve situar-se entre 0,01 e 999.999.999,99 EUR; apenas o euro é suportado; e deve utilizar ou a referência estruturada ou o texto não estruturado, nunca ambos.

O campo estruturado destina-se a uma referência de credor, como a ISO 11649 RF, que vale a pena utilizar sempre que o seu mercado a suporte - uma referência verificável por máquina reconcilia-se de forma mais fiável do que texto livre.

De notar que o payload não contém qualquer assinatura nem segurança. Trata-se de uma comodidade para a introdução de dados, e não de uma instrução autenticada: o pagador continua a autorizar o pagamento na sua própria aplicação bancária, sob a sua própria autenticação. É por isso que um código QR não consegue movimentar dinheiro por si só - e também porque um código QR numa fatura fraudulenta é exatamente tão perigoso como um IBAN fraudulento impresso em texto.

Onde é utilizado

Amplamente em toda a área do euro, sendo efetivamente o padrão em vários países - Áustria, Alemanha, Bélgica, Países Baixos, Finlândia - onde as principais aplicações bancárias o reconhecem de forma nativa. Alguns países operam as suas próprias variantes estabelecidas: o QR-bill da Suíça (um padrão diferente e mais prescritivo) e vários regimes nacionais anteriores ao EPC069-12.

O suporte depende da aplicação bancária do pagador, e não da sua. Adicionar o código não lhe custa nada e ajuda todos os clientes cuja aplicação o leia; aqueles cujas aplicações não o leem simplesmente pagam da forma habitual.

Relacionado, mas diferente

  • SEPA Request-to-Pay (RTP) - um padrão de mensagens em que o beneficiário envia um pedido de pagamento estruturado que o pagador pode aceitar ou recusar na sua aplicação. Trata-se de uma comunicação interativa em vez de um código impresso, podendo incluir uma data de vencimento e opções de pagamento em prestações.
  • Links de pagamento - um URL para uma página de pagamento alojada, habitualmente através de um PSP (prestador de serviços de pagamento), que suporta cartões e carteiras digitais. Trata-se de um canal diferente com custos diferentes; um pagamento com cartão comporta uma comissão de adquirente, ao passo que uma transferência a crédito SEPA iniciada por QR não, o que representa uma verdadeira diferença económica em faturas de elevado valor. Esses fluxos de PSP geram liquidações que necessitam de reconciliação de pagamentos.

Estado no Nordlet

Não implementado. Os PDFs das faturas não incluem atualmente um código QR EPC, e não existe geração de links de pagamento. Ambas as funcionalidades estão planeadas, mas nenhuma existe atualmente, sendo mais útil dizê-lo do que descrever uma intenção como se fosse uma funcionalidade.

O que já está implementado são os dados de que o código necessita - IBAN da empresa, dados do parceiro, montante da fatura, moeda e o número completo da fatura que serve de referência de pagamento - bem como o respetivo caminho de geração: os PDFs das faturas são produzidos pela API, pelo que o código QR passará a ser um elemento de composição visual em vez de um novo modelo de dados.

Duas restrições que a futura implementação herdará do próprio padrão: apenas euros, pelo que as faturas que não sejam em EUR não podem incluir o código, e o limite de 331 bytes do payload, que limita a quantidade de texto de remessa que um número de fatura longo e o nome da empresa podem conter em conjunto.

Até lá, as mitigações ao nível da reconciliação são as que importam: colocar o número da fatura em destaque na fatura e confiar na correspondência bancária que pontua uma descrição de pagamento que contenha o número do documento.

FAQ

O que é um código QR EPC?

Um código QR em conformidade com o padrão do Conselho Europeu de Pagamentos que codifica os dados de uma transferência a crédito SEPA - nome do beneficiário, IBAN, montante e referência - para que um pagador o possa ler com a sua aplicação bancária em vez de os introduzir manualmente.

O pagamento por código QR é seguro?

O código em si não contém qualquer segurança nem assinatura; apenas preenche previamente um formulário de pagamento. O pagador continua a autorizar a transferência na sua própria aplicação bancária com a sua própria autenticação. Trata-se de uma comodidade de introdução de dados, pelo que um código numa fatura fraudulenta é tão arriscado como um IBAN fraudulento em texto simples.

Que moedas são suportadas?

Apenas o euro. O padrão é específico para transferências a crédito SEPA, pelo que faturas noutras moedas não podem incluir um código QR EPC compatível.

Todas as aplicações bancárias europeias suportam códigos QR EPC?

A maioria das principais aplicações da área do euro suporta-os, sendo efetivamente o padrão em vários países, mas o suporte depende do banco do pagador. Adicionar o código ajuda quem o pode utilizar e não custa nada a quem não o pode fazer.

Qual é a diferença entre um código QR EPC e um link de pagamento?

Um código QR inicia uma transferência bancária efetuada pelo próprio pagador, sem comissão de processamento. Um link de pagamento abre uma página de pagamento alojada, habitualmente com cartão ou carteira digital através de um PSP, que comporta uma comissão e gera uma liquidação para posterior reconciliação.