NFe

Unofficial Content

Collaborative Project para Nota Fiscal Eletrônica - Brasil

A NFe é um processo eletrônico onde as empresas devem transmitir os dados das notas fiscais ao governo utilizando serviços web com informação digitalmente assinada.

Este processo pode ser resolvido desde um projeto GeneXus mas não em sua totalidade. Isto devido ao passo necessário para firmar o conteúdo digitalmente. Este recurso não está presente na atual versão do GeneXus, a 9.0. Este processo deve então ser resolvido via código externo que será acessado pelo GeneXus pelas técnicas de interação correspondentes.

Assim este projeto tem como objetivo apresentar soluções externas específicas, quando possível, para que todo o ciclo possa ser executado em um determinado gerador.

A Artech, junto com a Infogen, levou a cabo um desenvolvimento com o Gerador .NET 90 bem como com o auxílio de uma DLL .NET externa para realizar o trabalho de firmar digitalmente o conteúdo da NFe.

Passos

Programação GX

1) gerar XML da Nfe

usar for each para recuperar os dados da Nf e utilizar o datatype XMLWriter para escrever o arquivo XML da Nfe

2) validar contra Schema

usar o datatype XMLReader + AddSchema() para ler arquivo gerado e validar contra o Schema

3) firmar digitamente conteúdo do XML

processar o XML da Nfe contra código externo (DLL,Jar,...) para firmar conteudo e obter outras informações como o "DigestValue". Esta integração se faz com as técnicas de chamada a código externo.

4) transmitir o arquivo final

utilizar datatype HttpClient para envio do arquivo XML da Nfe para os servidores do governo

Downloads :

Starter Kit KB : KB GeneXus 90 com objetos-exemplo para firmar o XML de uma Nfe digitalmente e para a comunicação com o web service seguro através de autenticação por certificado. Apenas descompacte a KB, faça um Build All, compile e execute a aplicação. Geradores .NET ou Java, GX90, últimos upgrades.

Links externos de interesse :

http://www.nfe.fazenda.gov.br/portal - página Oficial sobre NFe
http://br.groups.yahoo.com/group/gx-nfe - grupo de discussão criado no yahoo pela comunidade GX