Emissor de NF-e com código-fonte: comprar pronto ou montar do zero?
Por Flávio Henrique, CEO da Escola Ninja WP, à frente da escola desde 2009.
Resumo
Montar um emissor de NF-e do zero exige dominar o leiaute 4.00, assinatura digital, os webservices de cada SEFAZ, contingência e a guarda dos XML, e isso leva meses. Comprar o código-fonte pronto faz sentido quando você quer emitir pelo seu próprio sistema, sem mensalidade, e prefere gastar o tempo da equipe no seu produto. Montar do zero só compensa quando a emissão de notas é o próprio negócio.
Quem tem um sistema, um e-commerce ou atende empresas chega cedo ou tarde na mesma pergunta: vale a pena desenvolver um emissor de NF-e do zero ou comprar o código-fonte de um emissor pronto? As duas saídas funcionam. O que muda é o tempo até a primeira nota autorizada, o risco no caminho e quem fica com o custo da manutenção.
Este guia mostra o que um emissor precisa fazer de verdade, onde estão as partes trabalhosas e como decidir com critério, sem achismo.
O que um emissor de NF-e precisa fazer
Emitir uma NF-e não é só gerar um XML. Para a nota ter valor fiscal, o seu sistema precisa cumprir um ciclo completo definido pelas normas da nota fiscal eletrônica (que nasceu com o Ajuste SINIEF 07/2005) e pelos manuais técnicos publicados no Portal da NF-e.
O ciclo básico de uma nota
- Montar o XML no leiaute 4.00, com emitente, destinatário, itens, impostos, transporte e pagamento.
- Validar o XML contra os schemas oficiais (XSD) antes de enviar.
- Assinar o XML com o certificado digital ICP-Brasil da empresa.
- Enviar ao webservice da SEFAZ autorizadora do estado do emitente.
- Tratar a resposta: autorizada, rejeitada (com código e motivo) ou denegada.
- Guardar o XML autorizado com o protocolo (o arquivo
nfeProc) e gerar o DANFE em PDF.
Os eventos depois da autorização
Depois que a nota sai, o trabalho continua. O emissor precisa enviar cancelamento com justificativa dentro do prazo permitido, carta de correção eletrônica (CC-e) para erros que a norma deixa corrigir, e inutilização de faixas de numeração que foram puladas. Também precisa consultar pela chave de acesso, que é o que salva a situação quando a SEFAZ autorizou a nota mas a resposta se perdeu no caminho.
Contingência
A SEFAZ do estado pode ficar lenta ou fora do ar. Para a NF-e, existe a SEFAZ Virtual de Contingência (SVC), nas versões SVC-AN e SVC-RS, que autoriza a nota enquanto o estado está indisponível. Um emissor sério precisa saber quando usar a SVC e como voltar ao normal sem duplicar nota. Explicamos isso em detalhes em nosso guia sobre contingência SVC.
Montar o emissor de NF-e do zero: o que entra na conta
Desenvolver do zero dá controle total, mas a lista de tarefas é longa. Antes de decidir, coloque no papel pelo menos estes itens.
A parte técnica
- Leiaute e regras de validação. O manual da NF-e tem centenas de regras de rejeição. Cada uma vira um erro que o seu sistema precisa entender e explicar ao usuário.
- Diferenças entre SEFAZ. Alguns estados têm SEFAZ própria e outros usam a SEFAZ Virtual do RS (SVRS). O sistema precisa saber para onde enviar conforme a UF.
- Certificado digital. Ler o arquivo .pfx, guardar a senha com segurança e assinar o XML corretamente. Um erro aqui e nenhuma nota é autorizada.
- Impostos. ICMS, IPI, PIS e COFINS no regime normal, ou o CSOSN no Simples Nacional. A montagem dos grupos de imposto é onde a maioria dos projetos trava.
- Numeração. Garantir que duas requisições ao mesmo tempo não usem o mesmo número. Parece detalhe, mas nota duplicada ou número pulado dá retrabalho fiscal.
A parte que ninguém coloca no orçamento
- Notas técnicas. A SEFAZ publica notas técnicas que mudam campos e regras. Quem mantém o emissor precisa acompanhar e atualizar.
- Homologação. Todo teste é feito no ambiente de homologação da SEFAZ, que tem suas próprias instabilidades.
- Suporte. Quando uma nota é rejeitada às 18h de uma sexta-feira, alguém precisa entender o motivo.
Se a emissão de notas é o seu produto (por exemplo, você quer vender emissão como serviço e tem equipe dedicada), montar do zero pode compensar. Se a nota é uma função dentro do seu sistema, você vai gastar meses resolvendo um problema que já está resolvido.
Comprar o código-fonte de um emissor de NF-e pronto
A alternativa é comprar o código-fonte de um emissor de NF-e que já faz o ciclo completo e integrar ao seu sistema. Aqui é importante não confundir três coisas diferentes.
Código-fonte, API por assinatura e projeto aberto
| Opção | Onde roda | Como você paga | Quem mantém |
|---|---|---|---|
| API de nota por assinatura | No servidor do fornecedor | Mensalidade ou valor por nota | O fornecedor |
| Projeto aberto (open source) | No seu servidor | Não paga a licença, paga em horas de integração | Você e a comunidade |
| Código-fonte comercial | No seu servidor | Pagamento único | Você, com o material e o suporte do vendedor |
A API por assinatura é prática, mas o custo cresce com o volume e os seus dados fiscais ficam no servidor de terceiros. Comparamos esse modelo em API de nota fiscal sem mensalidade. O projeto aberto é ótimo para aprender, mas costuma entregar só o motor de emissão: a API, a segurança, os webhooks e a documentação ficam por sua conta.
O que conferir antes de comprar
Nem todo "código-fonte de emissor" entrega a mesma coisa. Use esta lista:
- Quais documentos emite: só NF-e (modelo 55), ou também NFC-e (modelo 65) e NFS-e pelo padrão nacional?
- Ciclo completo: emite, cancela, envia CC-e, inutiliza e consulta pela chave?
- API documentada: tem endpoints REST em JSON e documentação navegável (Swagger/OpenAPI), ou você vai precisar escrever XML?
- Proteção contra nota duplicada: aceita uma chave de idempotência, para que a mesma requisição repetida não emita duas notas?
- Webhooks: avisa o seu sistema quando a nota é autorizada, rejeitada ou cancelada? A mensagem vem assinada?
- Contingência: sabe emitir pela SVC quando a SEFAZ do estado cai?
- Segurança: o certificado e a senha ficam cifrados? A API exige chave de acesso? Há registro de auditoria?
- Integrações prontas: tem plugin para WooCommerce ou webhook de entrada para o seu e-commerce?
- O que não faz: um bom vendedor diz com clareza o que ainda não está implementado.
Como decidir: um roteiro em quatro perguntas
- A nota fiscal é o seu produto ou uma função do seu sistema? Se for função, comprar pronto tende a ser o caminho mais curto.
- Quantas notas você emite e vai emitir? Volume alto deixa a mensalidade por nota cara com o tempo, e aí ter o emissor no seu servidor pesa a favor do código-fonte.
- Você tem quem mantenha? Mesmo com código pronto, alguém precisa instalar, atualizar o certificado e acompanhar as mudanças. Se não tem ninguém, a assinatura pode ser mais adequada.
- Onde os dados fiscais podem ficar? Se o cliente exige que XML e certificado fiquem no servidor dele, a assinatura deixa de ser opção.
Antes da primeira nota: o checklist
Qualquer que seja a escolha, a empresa emitente precisa ter em mãos:
- Certificado digital A1 (e-CNPJ) da empresa, em arquivo .pfx, com a senha.
- Credenciamento como emissora de NF-e na SEFAZ do seu estado.
- Inscrição estadual ativa e o regime tributário correto no cadastro.
- Série e próximo número da nota definidos com o contador.
- Os testes feitos primeiro em homologação, e só depois em produção.
Para NFC-e, entra ainda o CSC (código de segurança do contribuinte), gerado no portal da SEFAZ. E se a sua empresa presta serviços, a nota é a NFS-e, que tem outro caminho: veja como emitir NFS-e nacional por API.
Conclusão
Montar um emissor de NF-e do zero é possível, mas é um projeto de meses que não termina no lançamento: a SEFAZ muda, as rejeições aparecem e alguém precisa manter. Para quem quer emitir pelo próprio sistema, sem mensalidade e sem depender de intermediário, comprar o código-fonte pronto e investir o tempo da equipe na integração costuma ser a decisão mais racional. Faça a conta com as quatro perguntas acima e confira a lista de recursos antes de escolher.
Perguntas frequentes
Existe código-fonte de emissor de NF-e pronto para usar?
Sim. Existem projetos abertos, que exigem bastante trabalho de integração, e códigos-fonte comerciais que já vêm com API, documentação e suporte. A diferença está no quanto falta construir até a primeira nota autorizada em produção.
Preciso de certificado digital para emitir NF-e pelo meu sistema?
Sim. A NF-e precisa ser assinada com um certificado digital ICP-Brasil da empresa emitente. Para emissão automática por sistema, o mais usado é o certificado A1, que é um arquivo instalado no servidor.
Quanto tempo leva para desenvolver um emissor de NF-e do zero?
Depende da equipe e do escopo, mas não é trabalho de dias. Além de montar e assinar o XML, é preciso tratar rejeições, eventos (cancelamento, carta de correção, inutilização), contingência e as diferenças entre as SEFAZ. Projetos assim costumam levar meses até ficarem estáveis.
Com o código-fonte eu pago por nota emitida?
Não. Com o código-fonte instalado no seu servidor, a emissão acontece direto entre o seu sistema e a SEFAZ, sem intermediário cobrando por nota. O custo recorrente passa a ser só o do servidor e o da renovação do certificado.
Posso usar o mesmo emissor para várias empresas?
Depende do produto. No nosso Emissor, a versão só API atende um emitente por instalação, e o Emissor Completo tem painel multiempresa para vários CNPJs.