Atenção: esse artigo tem uma palestra complementar. Clique e assista!
Introdução à solução Open NFe, de código livre, que gerencia Notas Fiscais Eletrônicas. Vamos entender a necessidade da Nota Fiscal Eletrônica e como utilizar os serviços disponíibilizados pelo governo.
Para que serve
Gerenciamento de Notas Fiscais Eletrônicas, tratando da assinatura, envio, recebimento, impressão e tratamento de contingência das mesmas.
Em que situação o tema é útil
Quando existe a necessidade de se acrescentar a um ERP a capacidade de atender às exigências legais a respeito de NFe em tempo hábil, segundo as normas das Secretarias de Fazenda.
Resumo do DevMan
A solução de código aberto Open NFe é uma opção para desenvolvedores que precisam habilitar o tratamento de Notas Fiscais Eletrônicas em seus sistemas. Dentre várias soluções disponíveis no mercado, o Open NFe se destaca por ser gratuito e de código aberto, além de ser elaborado como um servidor e não como uma biblioteca.Veremos como instalá-lo e configurá-lo, além de analisar partes importantes de seu código.
Autores: Rodrigo Rocha e Macelo Rocha
Em janeiro de 2009, a empresa RDI (Rocha Digital Intelligence Ltda) começou a construção de uma solução para o tratamento de Notas Fiscais Eletrônicas. A primeira versão do produto foi concluída no início de março do mesmo ano e batizada de NFe Admin 2009. A ideia original era criar um módulo para a solução corporativa da empresa. Entretanto, no início de junho do mesmo ano, seus diretores perceberam que os problemas envolvidos no tratamento de Notas Fiscais Eletrônicas eram comuns a um grande número de desenvolvedores, independente da plataforma. Foi nesse contexto que resolveram relançar o produto com um novo nome que deixasse claro que agora se tratava de uma solução gratuita e de código livre: assim foi lançado o Open NFe.
O projeto está disponível para download tanto no site da RDI quanto no CodePlex (repositório de projetos Open Source da Microsoft). Trata-se de um servidor que cuida do armazenamento, da assinatura, do envio, do recebimento e da contingência das Notas Fiscais Eletrônicas.
Conceitos de NFe
Antes de qualquer coisa é preciso entender que a Nota Fiscal Eletrônica foi regulamentada por diversas leis nacionais, como pode ser observado no portal da NFe no site do Ministério da Fazenda (www.nfe.fazenda.gov.br/portal/assuntoagrupado1.aspx#sc012). De acordo com essas leis, as empresas devem emitir a Nota Fiscal através da internet após uma determinada data de acordo com o segmento a que pertencem. As informações sobre uma determinada Nota Fiscal são enviadas através da Internet para a Secretaria da Fazenda do Estado. O que temos é um cenário onde sistemas de terceiros interagem com serviços disponibilizados pelos Governos Estaduais através de um protocolo de comunicação pré-determinado. É uma arquitetura orientada a serviços na qual o Estado nos fornece várias rotinas para envio e recebimento de notas, consulta de status etc.
O conjunto de serviços disponibilizados pelos governos estaduais constituem um arquitetura SOA, Service Oriented Architecture, ou, arquitetura orientada a serviços. Essa arquitetura é essencialmente uma coleção de serviços que se comunicam entre si. Essa comunicação envolve desde a simples passagem de parâmetros até mesmo a utilização de dois ou mais serviços para a realização de uma tarefa. Mas o que é um serviço? Podemos definir como um função ou procedimento bem definido e encapsulado de tal forma que não depende, em seu estado e contexto, de outros serviços. Esses serviços são chamados de Web Services e para que sejam utilizados é requerido o uso de documentos XML como forma de comunicação.
O uso da Nota Fiscal Eletrônica é estimulado pelo Governo por ser considerada uma solução cuja fiscalização se torna muito mais eficiente, evitando a sonegação de impostos. Para que as empresas possam atender as exigências da Lei com praticidade, é necessário que seus sistemas corporativos (ou “ERPs”) estejam devidamente interligados aos serviços disponibilizados pela Secretaria da Fazenda de cada Estado (SEFAZ). Essa necessidade se torna um desafio para as ...