Tenho recebido diversos e-mails de colegas que estão iniciando o processo de implementação da Nota Fiscal Eletrônica (NF-e) para seus sistemas. E, principais perguntas são: por onde começar e em seguida, que tecnologias utilizar.

Percebi, então, que muitos ainda estão completamente alheios à quantidade de informação envolvida nesse projeto e, portanto ainda não tiveram noção do tempo necessário para realizar as etapas; mesmo porque, as etapas não estão claras o suficiente.

O obejtivo desse artigo é auxiliar esses colegas, no processo da montagem de um cronograma de trabalho para o projeto da NF-e e, ao mesmo tempo indicar meios de realizar cada etapa necessária.

É importante salientar que as informações que irei disponibilizar abaixo são fruto da minha experiência pessoal durante a implementação do projeto NF-e para o sistema de minha Empresa e, portanto, não significa que é a melhor maneira ou a forma correta ou a melhor tecnologia, apenas posso dizer que, funcionou para mim.

Segue então as etapas que deverão ser cumpridas e informações que podem facilitar a sua vida (ou não…rsrsrs):

  1. Tome conhecimento, de fato, do projeto lendo a documentação oficial e outras informações:
    • Leia os manuais da NF-e “Manual de Integração” e Notas Técnicas.
    • Consulte o “Blog da NF-e” (na minha opinião a melhor fonte de informações sobre a NF-e).
    • A maioria do conteúdo do meu Blog; exceto esse, é util para quem já conhece as etapas e está com a mão na massa, procurando informações técnicas específicas.
    • Nessa fase vc deve procurar “mentalizar” o projeto; conhecendo as novas palavras chave e tecnologias que vamos ter que aprender a usar ou, até já estamos usando mas não havíamos reparado ainda; bem como: XML, certificado digital, schemas XML, webservices e por fim Nota Fiscal Eletrônica.
    • Nessa fase vc deve vai ter ciência que a sua base de dados como é hoje dificilmente atende todos os requisitos, o XML fará parte da sua vida de agora em diante, a NF-e é um caminho sem volta.
    • Depois, você vai perceber que muito já foi feito e muita informação foi disponibilizada na Web e que está muito mais fácil do que hà alguns meses atrás realizar a adaptação do sistema ao projeto.
  2. Certificado Digital:
    • Quem nunca trabalhou com certificado digital, agora vai precisar estar pronto para instalar e configurar os certificados dos seus clientes; bem como a “cadeia de certificados”. Leia mais aqui.
    • Vale comentar aqui que a melhor opção de certificado é o modelo A1; independente da autoridade certificadora que seu cliente escolher (Certisign, Serasa, ….)
  3. Reestruturação da sua base de dados:
    • Após estudar a estrutura de dados da NF-e (Manual de Integração), você já tem como identificar que tipo de informação seu sistema ainda não possui.
    • Comece criando as tabelas (caso ainda não possua); bem como: Tabela de UF, Tabela CFOP, Tabela de Municípios, Tabela Situação tributária PIS/COFINS, entre outras…
    • Algumas tabelas estão disponíveis na área de download do Blog (use por sua própria conta e risco).
    • Prepare a tabela de Notas Fiscais para receber as informações que ainda não eram usadas pelo seu programa. Nesse caso, aconselho criar uma nova tabela (relacionada) e para armazenar as novas informações: Chave de Acesso, Protocolo Autorização, Data hora envio NF-e, etc.
  4. XML
    • Hora de entender bem o XML (mesmo que vc. encontre tudo pronto não deixe de ler e se aprofundar nesse assunto).
    • Caso não conheça nada de XML então chegou a hora de aprender; se XML não é problema para vc, então, passe para a próxima etapa ou começe com algumas fontes de informações que escolhi na web para vc.:
      • Guia Prático de XML [português] [pdf] (para começar)
      • Guia Básico [português] [html] (disponível no site da UFRJ; pra começar),
      • W3schools [inglês] [html] (estudo mais profundo)
      • Entre outras diversas publicações disponíveis eu gostei muito e aprendi muito com o “XML como programar” da Deitel.
    • Existe muita, mas muita informação sobre XML na WEB.
    • Não se preocupe XML é fácil, prático e um dos meios mais poderosos de troca de informações entre programas/aplicações já criado.
  5. Programação (gerar o XML da NF-e)
    • É aqui que começa realmente o “trabalho braçal”, vc. vai preparar o arquivo XML da NF-e usando as técnicas que conheçe (eu usei o TXMLDocument); se não tem intimidade com isso, consulte os exemplos em Delphi aqui no Blog.
    • Existe hoje muito material disponível na WEB. Eu não usei, mas a NFE_UTIL.DLL implementou funções para gerar o XML da NF-e (informações completas sobre a NFE_UTIL.dll vc encontra no Blog da NF-e).
    • Aqui no Blog disponibilizei diversos exemplos de criação e leitura do XML da NF-e/recibos usando TXMLDocument e, também exemplos de leitura da NF-e usando XMLMapper para criar o conversor.
  6. Comunicação Web Services SEFAZ
    • Nessa etapa criamos as funções básicas para: assinatura e envio da NF-e, consulta da NF-e, cancelamento/inutilização NF-e ou, usamos as funções prontas na NFE_UTIL.dll (assim fica fácil!);
    • Essa etapa seria a mais difícil no meu ponto de vista; (ao menos para os programadores Delphi/Pascal). isso se não existisse a NFE_UTIL.DLL. Use e abuse dessa .dll (90% dos recursos é free e vc. paga apenas R$ 100,00 para ter acesso à todos os recursos (veja mais informações no Blog da NFe);
    • Vc pode desenvolver a sua própria camada de comunicação. Tempo e paciência e muito conhecimento aqui (CapiCOM, JWAWinCrypt, etc). Pra quem usa .Net fica mais fácil;
    • Use o servidor de homologação da SEFAZ do seu estado para testar o processo de envio e consultas da NF-e.
      • O processo de Homologação foi criado para que pudessem ser realizados os testes sem valor fiscal.
      • Pode enviar quantas notas achar necessário para testar.
      • Você terá que usar o certificado digital de um cliente ou estar credenciado para emissão da NF-e para fazer os testes.
      • Endereços dos web-services de homologação
  7. DANFE
    • Nesse ponto, já sabemos o que é o DANFE e quando e porque vamos usá-lo (se não, volte para o início).
    • Desenvolvi o meu DANFE usando o “QuickReport” (nativo do Delphi) mais o componente CJV Barras, que é free (veja matéria aqui no Blog). Lembre-se, a impressão do DANFE ocorre apenas após recibo de envio da NF-e;
    • Muitos programadores Delphi vão preferir usar o Rave ou FastReport (não importa o meio, use o componente que vc tiver mais domínio).
  8. Implementações das particularidades:
    • Quando chegarmos aqui, significa que todo o processo está funcionando, estamos gerando, enviando, recebendo retorno e consultando a NF-e (autorizada ou não);
    • É aqui que iremos descobrir que o servidor da SEFAZ não é perfeito e, quem assistiu alguma palestra deles e saiu de lá fantasiando, cai na real!. Por vários momentos o servidor estará fora do Ar! ou com algum outro tipo de “pipoco” e, para contornar esses problemas vc. deverá preparar o seu sistema para não ficar “travado” caso ocorra algum desses tipos de problemas ou (arg!!) usar contingência (mais informações “Manual de Contingência);
    • O que vem à partir daqui vai depender de como está estruturado o seu sistema e, do conhecimento e necessidades de cada um.

Espero que esse artigo contribua de alguma forma para com os nossos visitantes. Se esqueci de citar ou mencionar alguma informação importante, me desculpem, mas, a vantagem da WEB é que podemos voltar mais tarde e acrescentar aqui.

Boa Sorte e sucesso para todos!

Tags: