Tudo sobre o QR Code 2.0 da NFCe 4.0

0
Tempo de leitura: 4 minutos

No dia 02 de Março foi lançada a versão 5.0 do Manual de Especificações Técnicas do DANFE NFCe e QR Code que traz algumas mudanças no layout do documento impresso. Além de alterar a data de emissão da NFCe 4.0, o novo manual trouxe uma nova especificação do QR Code para o documento nesta versão.

No QR Code 2.0, a URL do código deverá ser composta de duas maneiras diferentes: uma para NFCe emitidas de forma online (sem contingência) e outra para as NFCe emitidas na contingência offline.

[ ATUALIZAÇÃO 23/03/2018 ] A Sefaz disponibilizou as novas URL a serem utilizadas nas versões online e offline no portal do ENCAT. As URLs são as mesmas utilizadas pela consulta por chave de acesso e podem ser encontradas aqui.

A alteração visa diminuir os dados quando a emissão já tiver sido autorizada pela Sefaz e passar mais informações sobre as notas que ainda não foram autorizadas, como data de emissão, valor total e DigestValue da NFCe. A Sefaz ainda disponibilizou um prazo para adequação à essa nova mudança:

  • 09 de Julho de 2018 – início da produção da NFCe 4.0 e início da concomitância do QR Code 2.0 com a versão 1.0. Isto é, a NFCe 4.0 aceitará as versões 1.0 e 2.0 do QR Code;
  • 1º de Outubro de 2018 – fim da concomitância com a versão 1.0 do QR Code. Ou seja, a NFCe aceitará somente o QR Code 2.0

 

Como funciona o QR Code 2.0

Para cada forma de emissão, devem ser gerados o hash e a URL do QR Code de modos diferentes. Segue abaixo:

NFCe Online

Para as notas emitidas com tipo de emissão Normal, o QR Code deve ser formado com o mínimo de identificação da NFCe. Uma vez que a nota já foi autorizada na Sefaz, não é mais necessário passar outros dados integrantes do documento como era feito na NFCe 3.10. Os campos são os seguintes:

  • URL da Sefaz – link de consulta da Sefaz Autorizadora. A lista com todos os estados é sempre atualizada e pode ser encontrada aqui;
  • Chave de Acesso – identificador da nota;
  • Versão do QR Code – deve ser informado o valor “2”;
  • Tipo do Ambiente – informar o ambiente que a NFCe foi emitida (1 – Produção ou 2 – Homologação);
  • Identificador CSC – número do código de segurança do contribuinte no banco de dados da Sefaz, sem os zeros não significativos. Não confundir com o próprio CSC;
  • Código Hash – código calculado para validar os dados passados.

O modelo a ser seguido tem esse formato:

http://<dominio>/nfce/qrcode?p=<chave_acesso>|<versao_qrcode>|<tipo_ambiente>|<identificador_csc>|<codigo_hash>

Exemplo:

http://www.sefazexemplo.gov.br/nfce/qrcode?p=28170800156225000131650110000151341562040824|2|1|1|
DC6AE2C2B9A992BE59679AC365E29922DE6B7511

QR Code 2.0 da NFCe 4.0

 

Para a geração do Código Hash devem ser seguidos os seguintes passos:

  • Passo 1: Concatenar dos 4 parâmetros (Chave de Acesso, Versão do QR Code,
  • Tipo do Ambiente e Identificador CSC) separados por “|” na ordem indicada;
  • Passo 2: Adicionar ao final da string o CSC (disponibilizado pela SEFAZ da UF onde a empresa está localizada);
  • Passo 3: Aplicar o algoritmo SHA-1 sobre o resultado e converter para hexadecimal, correspondendo a 40 bytes.

 

NFCe Offline

Já para as notas emitidas em contingência Offline, o QR Code deve conter mais dados sobre a NFCe, uma vez que ela pode não estar na base da Sefaz no momento da consulta. Mesmo tendo mais campos que o QR Code da NFCe Online, o QR Code 2.0 retirou alguns campos presentes na versão 1.0, como Identificação do consumidor, Data e hora de emissão, Valor total do ICMS.

Os campos necessários são os seguintes:

  • URL da Sefaz – link de consulta da Sefaz Autorizadora. A lista com todos os estados é sempre atualizada e pode ser encontrada aqui;
  • Chave de Acesso – identificador da nota;
  • Versão do QR Code – deve ser informado o valor “2”;
  • Tipo do Ambiente – informar o ambiente que a NFCe foi emitida (1 – Produção ou 2 – Homologação);
  • Dia da data de emissão – informar o dia (dois dígitos) em que a nota foi emitida;
  • Valor total – informar o valor total da NFCe. Como separador de decimal, deve-se usar o ponto e não a vírgula;
  • Digest Value – campo do Digest Value presente na NFCe offline;
  • Identificador CSC – número do código de segurança do contribuinte no banco de dados da Sefaz, sem os zeros não significativos. Não confundir com o próprio CSC;
  • Código Hash – código calculado para validar os dados passados.

O modelo a ser seguido tem formato semelhante ao anterior, porém com mais campos:

http://<dominio>/nfce/qrcode/?p=<chave_acesso>|<versao_qrcode>|<tipo_ambiente>|<dia_data_emissao>|<valor_total_nfce>|<digVal>|<identificador_csc>|<codigo_hash>

 

Exemplo:

http://www.sefazexemplo.gov.br/nfce/qrcode?p=28170800156225000131650110000151349562040824|2|1|02|
60.90|797a4759685578312f5859597a6b7357422b665052335163
3530633d|1|4615A93BB0D7C4E780F8D30EE77EDD5BA55C7D66

exemplo de QR Code 2.0 da NFCe 4.0

Para a geração do Código Hash devem ser seguidos os seguintes passos:

  • Passo 1: Converter o valor do DigestValue da NFC-e (digVal) para HEXA;
  • Passo 2: Concatenar os 7 parâmetros (Chave de Acesso, Versão do QR Code, Tipo do Ambiente, Dia da data de emissão, Valor total, Digest Value e Identificador CSC) separados por “|”, na ordem indicada;
  • Passo 3: Adicionar ao final da string o CSC (disponibilizado pela SEFAZ da UF onde a empresa está localizada);
  • Passo 4: Aplicar o algoritmo SHA-1 sobre o resultado e converter para hexadecimal, correspondendo a 40 bytes.

 

Emissor de NFCe é com a Oobj

Soluções modernas, que oferecem maior valor e integração total com seu sistema ERP são necessárias para gerenciar e centralizar toda a emissão de PDVs e lojas. O Oobj NFCe é um programa que além de oferecer esses recursos, está sempre em dia com a legislação e permite o gerenciamento de todos os seus documentos fiscais em tempo real.

CONHEÇA O OOBJ NFCe

 

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *