Com o surgimento da Nota Fiscal Eletrônica, em 2008, os desenvolvedores de software ficaram responsáveis por implementar a emissão do documento em seus sistemas de gestão.
Desde então, as software houses procuram a forma mais barata e eficiente de emitir NF-e. Por muito tempo, existiam apenas 2 opções: o desenvolvimento interno de todas as rotinas, e a integração com DLLs, como o Componente NFe, através de arquivo texto ou dataset.
Unindo conceitos modernos de API e nosso conhecimento fiscal e tributário, encontramos a forma mais rápida e econômica de implementar a emissão da NF-e em um software de gestão. Confira:
Tendências do mercado de software
Há mais de uma década, nós da TecnoSpeed, a Casa do Desenvolvedor, criamos soluções para facilitar a emissão de documentos fiscais eletrônicos no seu software.
Apesar de termos outras frentes, como o PlugBoleto e o PlugDash, os módulos fiscais ainda são as nossas soluções mais populares entre as software houses, e estamos sempre estudando as tecnologias mais recentes e avançadas para acompanhar a evolução do mercado.
Nessas pesquisas, estudamos conceitos que nos permitiram criar a forma mais eficiente, simples e rápida de emitir NF-e. Antes de utilizar esse método na prática, é importante que você também entenda esses conceitos.
Nuvem e APIs REST
Seguindo a grande tendência de migração de softwares desktop para a nuvem, as empresas vêm criando APIs REST modernas para serem consumidas por outras aplicações ou serviços, facilitando a implementação e a comunicação entre diferentes sistemas.
Neste contexto, um software faz requisições para uma API nas mais diversas ocasiões, sejam elas simples ou complexas. Simples como consultar a hora em outro fuso horário… ou complexas como gerar, assinar, validar, emitir e imprimir uma NF-e.
Nota Fiscal Eletrônica é um assunto complicado, e isso não é novidade para ninguém. Imagine o custo de parar a implementação dos recursos principais do seu sistema para entender cada regra de negócio da NF-e?
É exatamente nesse tipo de situação que as APIs são mais poderosas: a gente estuda o assunto a fundo, cria uma API inteligente que cuida de tudo sobre NF-e para você, e você foca seu tempo e esforço em criar os recursos que encherão os olhos dos seus clientes.
Beleza, então o que você precisa é de uma API REST poderosa, inteligente, e fácil de usar, para emitir NF-e sem dor de cabeça.
Mas… como você vai passar as informações da nota para essa API?
JSON: JavaScript Object Notation
O JSON é um formato de comunicação que representa muito bem as novas tendências tecnológicas: ele é leve, fácil de ler e escrever, totalmente baseado em texto, e independente da linguagem de programação.
Além de ser bem e rápido de consumir para as APIs, um arquivo .json é facilmente compreendido por qualquer desenvolvedor minimamente familiarizado com sua sintaxe simples e direta de “atributo: valor”
"prestador": { "cpfCnpj": "00.000.000/0001-91", "inscricaoMunicipal": "8214100099", "inscricaoEstadual": "123.45678-50", "razaoSocial": "Empresa de Teste LTDA", "nomeFantasia": "Empresa de Teste", "simplesNacional": true, "incentivadorCultural": true, "incentivoFiscal": true, "regimeTributario": 1, "regimeTributarioEspecial": 5, "endereco": { "tipoLogradouro": "Avenida", "logradouro": "Duque de Caxias", "numero": "882", "complemento": "17 andar", "tipoBairro": "Zona", "bairro": "Zona 01", "codigoCidade": "4115200", "descricaoCidade": "Maringá", "estado": "PR", "cep": "87020-025"
E o que é o mais legal no JSON? Todo mundo usa! Sua eficiência incontestável tornou o JSON a forma mais popular de transmitir informações entre aplicações. Ou seja: sua linguagem de programação provavelmente “sabe escrever” em JSON com muita facilidade.
Ok, já exploramos os conceitos centrais do nosso novo método de emissão de NF-e. Chega de teoria: hora de pôr a mão na massa.
Como emitir NF-e em JSON?
Para emissão de NF-e em JSON, teremos que nos comunicar com uma API. Neste exemplo, utilizaremos o PlugNotas, cuja documentação você pode acessar clicando aqui.
Confira o passo-a-passo da emissão de NF-e em JSON por Alexandre Muzulão da TecnoSpeed.