Clique para saber mais...
  Home     Download     Produtos / Cursos     Revista     Vídeo Aulas     Fórum     Contato   Clique aqui para logar | 12 de Junho de 2026
  Login

Codinome
Senha
Salvar informações

 Esqueci minha senha
 Novo Cadastro

  Usuários
112 Usuários Online

  Revista ActiveDelphi
 Assine Já!
 Edições
 Sobre a Revista

  Conteúdo
 Apostilas
 Artigos
 Componentes
 Dicas
 News
 Programas / Exemplos
 Vídeo Aulas

  Serviços
 Active News
 Fórum
 Produtos / Cursos

  Outros
 Colunistas
 Contato
 Top 10

  Publicidade

  [Artigos]  Nota Fiscal Eletrônica: Testes e validações de NFe
Publicado por ActiveDelphi : Segunda, Agosto 04, 2008 - 10:23 GMT-3 (6886 leituras)
Comentários 5 Comentários   Enviar esta notícia a um amigo Enviar para um amigo   Versão para Impressão Versão para impressão
Victory Fernandes Neste artigo abordaremos uma série de testes que você pode fazer utilizando ferramentas disponibilizadas gratuitamente pela SEFAZ para testar os arquivos XML de Nota Fiscal Eletrônica gerados por sua aplicação, bem como testar assinaturas digitais e garantir que o processo de transmissão de arquivos está funcional. Compartilhamos nossa experiência na execução de testes do projeto de forma que os leitores também possam efetuar os mesmos testes e garantir a funcionalida de suas aplicações de NFe que usem ou não soluções de terceiros quaisquer.

A NF-e é um documento emitido e armazenado eletronicamente, com validade jurídica garantida por processo de assinatura digital. O principal objetivo da implantação desta nova modalidade é o acompanhamento em tempo real das operações comercias pelo Fisco e a substituição do modelo atual de emissão de documentos fiscais em papel, de forma a simplificar uma série de obrigações do contribuinte. Maiores informações podem ser obtidas através do portal nacional em www.nfe.fazenda.gov.br
Em artigos anteriores discutimos diversas questões relacionadas aos processos de geração, assinatura e transmissão de arquivos de Nota Fiscal Eletrônica (NF-e), no entanto não ressaltamos as soluções para problemas e dúvidas que comumente surgem durante o processo de desenvolvimento destes projetos e dizem respeito à validade do conteúdo e estruturas dos arquivos XML gerados bem como das suas assinaturas digitais.

Testes e validações de NFe
Os arquivos de Nota Fiscal Eletrônica são arquivos XML (eXtensible Markup Language) gerados conforme padrão de layout definido em arquivos de Schema disponibilizados pelo Governo como Pacotes de Liberação e disponíveis para download no Portal Oficial da NFe em www.nfe.fazenda.gov.br
Uma vez gerados os arquivos conforme o layou definido nos Schemas sugere-se realizar alguns testes de forma a garantir que seus arquivos são válidos. Para realizar os testes é preciso ter um arquivo de NFe em mãos e caso a sua aplicação ainda não gere os mesmos, algumas alternativas são possíveis:
1. Utilizar o programa Emissor (versão de Homologação) disponibilizado para download pela SEFAZ no link www.nfe.fazenda.gov.br/portal/emissor.aspx  de forma a realizar o preenchimento de uma NFe e a posterior exportação do arquivo XML.
2. Utilizar os arquivos de exemplo disponibilizados para download pela SEFAZ-RS no link www.sefaz.rs.gov.br/SEF_ROOT/inf/SEF-NFE.htm#NotaEX
3. Utilizar o aplicativo demo, desenvolvido em Delphi, disponibilizado para download no site www.igara.com.br/produto.php?cod_produto=114 a partir do qual é possível gerar o XML necessário clicando no botão “Nova NF-e”, depois no botão “Salvar NF-e” e por fim selecionando o diretório onde deseja salvar o arquivo .XML gerado.
4. Implementar o seu próprio sistema de geração de arquivos XML ou utilizar qualquer outra solução de terceiros para tanto.

Em qualquer uma das alternativas o arquivo em questão pode ser visualizado no Internet Explorer ou em qualquer outro browser de internet com suporte a XML, e o resultado é conforme mostrado na Figura 01.
 

Figura 01: Arquivo .xml de NF-e visualizado no Internet Explorer


A seguir disponibilizamos o conteúdo completo de um arquivo .XML de NFe gerado conforme o processo descrito acima no item 3. Para utilizar este mesmo arquivo em seus testes basta copiar o conteúdo da caixa de texto abaixo, cola-lo em uma janela do NotePad e salvar o arquivo como 29080334261131000144550010000000013638874925-nfe.xml
 

Listagem 01: Conteúdo completo de arquivo .xml de NF-e não assinado


Teste 01 – Abrindo no Browser
O primeiro teste a ser feito é abrir em um browser qualquer, o arquivo XML gerado, e verificar se nenhum erro foi apresentado. Dessa forma a garantimos que a estrutura de abertura e fechamento das tags do arquivo XML estão corretas, exemplo:
Para toda tag de abertura, por exemplo, “<NFe>”, deve haver uma tag de fechamento no estilo “</NFe>”. Sendo assim, para o exemplo do código anterior apresentado acima, removendo a última tag “</NFe>” o seguinte é apresentado conforme mostrado na Figura 02.
 

Figura 02: Arquivo .xml de NF-e com erro de estrutura, sendo visualizado no Internet Explorer


Até o momento, o arquivo em questão não tem valor jurídico, pois ainda não foi assinado de forma que o emissor possa certificar a validade das informações fornecidas, bem como não há nada que garanta que este documento não foi alterado por terceiros sem o conhecimento prévio do emitente.
Para tanto, é preciso assinar digitalmente este documento. O processo de assinatura pode ser feito de várias formas, são elas:
1. Utilizar o aplicativo de assinatura de NF-e disponibilizado para download gratuito no portal oficial da NF-e em www.nfe.fazenda.gov.br
2. Utilizar o aplicativo demo, desenvolvido em Delphi, disponibilizado para download no site www.igara.com.br/produto.php?cod_produto=114  que através do uso da assinatura32dll.dll torna possível assinar os arquivos XML gerados.
3. Implementar o seu próprio sistema de geração de arquivos XML ou utilizar qualquer outra solução de terceiros para tanto.

O processo descrito nos itens 1 e 2 acima já foram abordados em artigos anteriores.

Em qualquer uma das opções anteriores, assinando o arquivo mostrado anteriormente, o resultado final será equivalente ao apresentado a seguir, onde o arquivo foi assinado utilizando um Certificado Digital válido, do tipo ToKen USB A3, emitido pela CertiSign.
 

Listagem 02: Conteúdo completo de arquivo .xml de NF-e assinado



Teste 02 – Validador Online SEFAZ-RS
É possível ainda submeter seus arquivos do Projeto NFe a testes mais detalhados, através do uso do validador online de mensagens, disponibilizado gratuitamente pela SEFAZ-RS no link http://www.sefaz.rs.gov.br/AAE_ROOT/NFE/SAT-WEB-NFE-VAL_1.asp
Para testar sua mensagem basta abrir o arquivo .XML desejado, copiar seu conteúdo completo, colá-lo no campo de dados e clicar no botão “Validar”. Caso o mesmo exemplo do Teste 01 seja submetido ao validador online o resultado da validação será conforme mostrado na Figura 03.
 

Figura 03: Validação online de arquivo .xml de NF-e com erro de estrutura.



É importante ressaltar que este validador pode ser utilizado para validar qualquer tipo de mensagem do Projeto NFe, incluindo mensagens de NFe, Cancelamento, Inutilização, Consulta e etc. O resultado da validação de arquivos de NFe válidos conforme o código apresentado na Listagem 02 é mostrado na Figura 04.
 

Figura 04: NFe válida conforme validador online de mensagens do Projeto NFe disponibilizado pela SEFAZ-RS



Teste 04 – Assinador de NFe
Conforme abordado em artigo anterior, arquivos de NFe podem ser assinados utilizando o aplicativo de assinatura disponibilizado para download gratuito no portal oficial da NF-e em www.nfe.fazenda.gov.br
Este aplicativo, além de possibilitar a assinatura de arquivos permite também efetuar a verificação e validação do Schema XML e da assinatura digital. O resultado da validação de arquivos de NFe válidos conforme o código apresentado na Listagem 02 é mostrado na Figura 05.
Esta opção é particularmente interessante para aqueles que detêm a tecnologia do processo de geração dos arquivos XML e não dispõe de solução para assinatura digital dos arquivos.
 

Figura 05: NFe válida conforme aplicativo Assinador de NFe disponibilizado pela SEFAZ-RS


Teste 03 - Visualizador de NFe
Arquivos de NFe, após assinados, podem ser verificados no aplicativo Visualizador de NF-e, disponibilizado para download gratuito no portal oficial da NF-e em www.nfe.fazenda.gov.br
Somente arquivos válidos são visualizados corretamente, conforme mostrado na Figura 04, resultado da abertura do arquivo apresentado na Listagem 02.
Clicando na opção Verificar no Menu principal do aplicativo, temos ainda a opção de verificar a estrutura e conteúdo, bem como a validade da assinatura digital do arquivo.
 

Figura 06: NFe válida conforme aplicativo Visualizador de NFe.



Teste 05 – Emissor de NFe
Arquivos de NFe, após assinados, podem ser importados para o aplicativo Emissor de NF-e, disponibilizado para download gratuito no portal oficial da NF-e em www.nfe.fazenda.gov.br  Somente arquivos válidos são visualizados corretamente, conforme mostrado na Figura 05, resultado da abertura do arquivo apresentado na Listagem 02.
Esta opção é particularmente interessante para aqueles que detêm a tecnologia do processo de geração dos arquivos XML dispõem ou não de solução para assinatura digital dos arquivos, mas não dispõem de solução para transmissão dos arquivo gerados e assinados. É possível, gerar e assinar os arquivos através do seu sistema, deixando que o sistema da SEFAZ gerencie todo o processo de transmissão dos mesmos.
 

Figura 07: NFe válida importada para aplicativo Emissor de NFe.


Teste 06 – Validação de arquivos XML vs. XSD em sua aplicação
Conforme mostrado no Teste 02 a SEFAZ-RS disponibiliza um validador online para testes detalhados dos arquivos XML gerados. Estes testes validam conteúdo e estrutura e são baseados no processo de comparação do XML com o seu respectivo XSD.
Arquivos XSD são um dos três padrões existentes para a validação de documentos XML (DTDs, XDR e XSD). Um documento XSD é em sua essência um documento XML. Isso quer dizer que ele deve obedecer as mesmas regras que um documento XML exige (em especial as regras relacionadas a sua boa formação).
Utilizando os recurso das classes TXMLDocument e interfaces IDOMDocument é possível implementar em sua aplicação os mesmos recursos oferecidos pelo validador online da SEFAZ-RS, conforme demonstrado no aplicativo demo da Figura 06 que acompanho o download da solução de NFe disponível no site www.igara.com.br/produto.php?cod_produto=114
 

Figura 08: Validação de arquivos XML vs. XSD



Teste 07 – Teste de conexão antes de iniciar a transmissão
Caso o usuário tente acessar os webservices de comunicação com a SEFAZ para realizar o envio de arquivos, sem que o mesmo esteja devidamente conectado à internet, ocorrerão erros de transmissão. Portanto é aconselhável que seu aplicativo, antes de executar qualquer função de transmissão, teste a conectividade com a internet, que pode ser feito conforme mostrado a seguir:
 

 

O procedimento anterior procedimento, implementado no evento onClick de um botão, testa de forma bastante eficiente a conectividade com a internet, e funciona tanto em computadores PC e Notebook para conexões com fio e wireless. Para sua correta execução, deve-se incluir ao projeto a unit a seguir, e declará-la no uses do formulário onde se encontra o botão.

 

Teste 08 – Disponibilidade de Serviços


Mesmo com todas as precauções possíveis, é possível que um dia, um cliente já em operação, entre em contato informando que o seu aplicativo subitamente parou de funcionar e não está efetuando a transmissão de arquivos. Nestes casos é possível que os webservices de recepção de arquivos estejam em manutenção, sobrecarga ou com algum outro defeito temporário no sistema da SEFAZ.
Para resolver questões como estas, o portal oficial do projeto de Nota Fiscal Eletrônica disponibiliza um serviço de consulta à disponibilidade dos webservices. O serviço está disponível no link http://www.nfe.fazenda.gov.br/portal/VerificacaoDeServicos/VerificacaoServicos.aspx
Este teste indica se o problema encontrado na comunicação é da sua aplicação em si, ou da disponibilidade do serviço da SEFAZ em questão, dando maior tranqüilidade ao desenvolvedor e segurança ao cliente.
São feitas consultas aos serviços a cada 140 segundos, o resultado é apresentado de forma gráfica em uma tabela que apresenta uma visão geral dos serviços disponíveis na SEFAZ em cada Unidade Federativa, conforme mostrado na Figura 07.
 

Figura 9: Serviço de consulta da disponibilidade dos Webservices


Conclusão
Neste artigo fizemos um apanhado de conceitos e tecnologias envolvendo testes que podem ser aplicados no desenvolvimento e implantação de soluções para NF-e, de forma a garantir a correta estrutura e conteúdo dos arquivos XML gerados e assinados pelo seu aplicativo.
Apresentamos alternativas de testes simples e eficazes que dão ao leitor uma visão mais clara de como proceder para realizar testes de sua aplicação. Agora ficou muito mais fácil testar seu projeto de NFe!

Alexandre Magno é estudante de Engenharia Mecatrônica da UNIFACS – Universidade Salvador e desenvolvedor da TKS Software - Soluções de Automação e Softwares Dedicados. Pode ser contatado em alexandremlcosta@hotmail.com

Fellipe Capolupo é estudante de Engenharia Elétrica da UNIFACS – Universidade Salvador e desenvolvedor da TKS Software - Soluções de Automação e Softwares Dedicados. Pode ser contatado em capolupofellipe@yahoo.com.br

Victory Fernandes é Professor do Departamento de Engenharia da UNIFACS, Engenheiro Mestrando em Redes de Computadores, e desenvolvedor sócio da TKS Software - Soluções de Automação e Softwares Dedicados. Pode ser contatado em victory@igara.com.br , ou através dos sites www.igara.com.br  – www.igara.com.br/victory
 



Comentários Comentários
   Ordem:  
Comentários pertencem aos seus respectivos autores. Não somos responsáveis pelo seus conteúdos.


por: VSF (hereim@ig.com.br) : Mai 06, 2009 - 04:37
(Informações sobre o membro | Enviar uma mensagem) http://www.igara.com.br/victory
ATENCAO: O link do validador online da SEFAZ apresentado no "Teste 02" do artigo mudou para http://www.sefaz.rs.gov.br/NFE/NFE-VAL.aspx


por: Bertonni (hrondeico@gmail.com) : Mai 09, 2009 - 06:59
(Informações sobre o membro | Enviar uma mensagem)
NÃO ESTÁ EXIBINDO AS IMAGENS NO SITE!


por: gomes.cassiano (gomes.cassiano@gmail.com) : Dez 30, 2009 - 04:04
(Informações sobre o membro | Enviar uma mensagem) http://
Senhores, estamos finalizando nosso projeto NF_e e temos dúvidas pertinentes as questões fiscais presentes no layout.
Como validar tais informações? Existe algum validador como o do Sintegra que critica as informações fiscais presentes nos arquivos?

Pelo que vimos na matéria acima, o validador parece criticar apenas o schema. É isso mesmo?

Desde já, obrigado.

Cassiano Gomes
  Edição 112

Revista ActiveDelphi

  50 Programas Fontes


  Produtos

Conheça Nossos Produtos

Copyright© 2001-2016 – Active Delphi – Todos os direitos reservados