Você está na página 1de 9

 Cases

 Legislação
 Produtos
 Na Mídia
 Outros
Tudo sobre o QR Code 2.0 da NFCe 4.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
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
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.

Nota Fiscal - Dúvidas

Como localizar o DigestValue da NFE/NFC-e e Como


alterar no XML?
Será baixado arquivo compactado com extensão ZIP. Descompacte e abra o arquivo XML em algum editor de texto
(sugerimos o NotePad) e verifique o conteúdo da tag <DigestValue> no final do arquivo.
Exemplo:
4 - Agora precisamos consultar o Portal Nacional (ou o site da Sefaz Autorizadora) para confirmar se o Digest Value do
arquivo está igual ao da Sefaz.
Exemplo:
 Para consultar um a NF-e no Portal Nacional, acesse o link: Consultar NF-e Completa

 Informe a Chave de Acesso e código captcha e clique em "Continuar".


Na primeira aba, NF-e, é possível verificar o Digest Value da Sefaz.
4 de novembro de 2016 LogSistemas - Fernando (programador)Deixe um comentário

Para realizar a consulta da nota e verificar suas informações, basta


1.º NFE
A Portal NF;
B Consulta NF-e Completa;
C Informar a Chave da NF-e;
D Informar o Captcha e realizar a consulta.
E Em seguida é só localizar o valor conforme a imagem abaixo:

F
1.º NFC-e
A Site da Fazendo do PR (ou estado do emitente);
B Consulta NFC-e;
C Informar a Chave da NFC-e;
D Informar a Imagem de Controle e realizar a consulta
E Após abrir os dados, clique em ‘Visualização por abas’ conforme a imagem a seguir:

F Em seguida, localize o valor conforme na imagem abaixo:

G
1.º Alterar no XML
A Abra o XML com algum editor (Notepad, notepad++);
B Pesquise e localize a tag: <DigestValue> 
C Entre as 2 tags coloque o valor consulta:

D <DigestValue> {Coloque aqui} </DigestValue>


E
F Verifique também a tag: <digVal>
G Deve conter o mesmo valor que o consultado:

H <digVal> {Valor idêntico ao consultado} </digVal>


I
J
1.º Pode salvar o XML e realizar novamente a operação.

 Fontes:
http://www.oobj.com.br/bc/article/arquivo-recebido-com-status-arquivo-hash-divergente-1.html

Você também pode gostar