Como é formado o QR-Code 2.0 da NFC-e 4.0?
Na NFC-e 4.00 o QR Code 2.0 deverá ser composto de duas maneiras diferentes: uma para NFCe emitidas de forma online (sem contingência) e outra para as NFCe emitidas na contingência offline.
NFC-e Online (sem contingência)
A URL da emissão sem contingência é formada pelas seguintes informações:
- 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>
Confira abaixo a distribuição pela quantidade de caracteres de cada campo:
*O asterisco (*) na tabela acima indica que o preenchimento deve ser exato com a quantidade de bytes indicada.
**Não há uma quantidade de caracteres definida.
NFC-e Offline (contingência)
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>
Segue abaixo a distribuição pela quantidade de caracteres de cada campo para NFC-e emitida em contingência:
*O asterisco (*) na tabela acima indica que o preenchimento deve ser exato com a quantidade de bytes indicada.
**Não há uma quantidade de caracteres definida.
Material de apoio
Para saber mais sobre o QR-Code 2.0, acesse nosso artigo no Blog Oobj:
Referências
- Manual de Especificações Técnicas do DANFE NFCe e QR Code - http://www.nfe.fazenda.gov.br/portal/exibirArquivo.aspx?conteudo=/xyXbAFZ71k=