Investir em software para notas fiscais vale a pena hoje?

O título já diz tudo.

Trabalho em uma área mais voltada a vendas, mas no tempo livre gosto de desenvolver. Já passou várias vezes na minha cabeça fazer um software para notas fiscais, especificamente notas de venda, pois o programa que uso aqui na empresa é horrível, fora que já vi outros softwares que também são. Super mal otimizados, 200 cliques pra emitir uma simples DANFE, bugs e mais bugs, é lento. Quer cancelar ou substituir uma nota, bem.. boa sorte e paciência, pois vai precisar. Parece que quem fez o software não entende nada da burocracia que é tirar uma nota, nem de UI/UX.

Vi por de baixos dos panos e ele é feito com WinForms/C# e com banco de dados local MySql, algo que acho até estranho. O programa é lento, super mal otimizado, pois já desenvolvi um programa com as mesmas tecnologias e tentava ao máximo deixar o mais performático possível, conseguindo bons resultados. Particularmente sou apaixonado por C# pois uso bastante no servidor(ASP.Net).

A minha maior dúvida é como fazer essa integração ao SEFAZ de forma correta. Como fazer testes na API sem ter um CNPJ. Já pesquisei e sei que é burocrático.

Estou em dúvidas na tecnologia que vou usar. A maioria dos sistemas que vi rodam em Windows(maioria com PCs básicos), então teria que usar algo como o próprio WinForms, talvez Qt, ou até Flutter desktop(testei e gostei), Electron está fora de questão pois acho pesado para a proposta. O problema dele ser web é a questão do certificado digital se a empresa não for MEI, pois ele sempre fica na máquina do cliente geralmente.

Meu objetivo é: fazer um software que seja prático, rápido, leve, sem complicações, tanto para o operador, como para contadores, auditores fiscais, para todos, sem frescura.

ele é feito com WinForms/C# e com banco de dados local MySql

Não entendi o que você achou estranho nesse ponto.


A minha maior dúvida é como fazer essa integração ao SEFAZ de forma correta

É bastante complexo, tem muita coisa envolvida. Um projeto open-source que tem essas coisas muito bem resolvidas é o ACBr, apesar de ser escrito em Delphi a própria comunidade tem portes para C# e outras linguagens. Você vai economizar alguns anos de desenvolvimento se usar uma lib como essa.


No entanto...

No seu lugar contrataria algum serviço saas para realizar a parte fiscal, tipo a Nuvem Fiscal mas há vários nesse seguimento. Assim você se concentraria na usabilidade e regras de negócio, e deixaria essa parte que já foi bem resolvida por outras pessoas como um serviço conectado.

Caramba. Se eu contasse o tanto de tempo perdido procurando API pra nota fiscal, eu acho que já desperdicei 1 ano da minha vida. Geralmente os caras só liberam API lá no segundo ou terceiro planos. Fica inviável pra uma empresa pequena usar a API. Mas esse nuvemfiscal já começa com API e ainda tem plano grátis? Sinceramente eu achei que não existia. Já tinha até parado de pesquisar. Vou testar imediatamente.
Achei estranho usarem MySql na própria máquina do cliente. Usaria um SQLite que é mais prático ou até salvaria em JSON mesmo. Nossa! Não conhecia o Nuvem Fiscal. Dei uma olhada aqui e gostei bastamte! Muito obrigado pela indicação! Por outro lado, também gostaria de ver como funciona essa integração com o SEFAZ na unha mesmo, só por curiosidade.
É um bom desafio, mas você sabe que cada estado pode ter suas particularidades, né? E se pensar em emitir notas fiscais de serviço, aí tem que lidar com as prefeituras. É um trampo que eu não desejo pra ninguém. Mas além da nuvem fiscal, há outros por aí, é que esse eu lembro de cabeça pq conheci o CTO em um evento.
Nossa em 2011 eu colaborei bastante com o projeto ACBr, hoje deve estar bem evoluido o projeto.

Cara, é muito desafiador na questão do CRUD. Digo isso pois eu criei um software de contabilidade para meus pais, e a questão de controlar o dados a serem inserido é muito ruim. Pois são alfanumericos e exadecimais que podem ser bem parecidos, pensando nisso, decidi pesquisar com outros contadores que conheço e no final, acredite, muitos usam arquivos .txt para comunicação entre máquinas de forma manual, sendo que python é mais eficiente e atomátizada - e nem precisa organizar o relatório, um robô faria isso.

PS: no final meus pais não gostara do meu software, usaram a de um amigo contador bem sucedido. Não demorou um mês para o software ser banido pois roubava dados de usuários.

Enfim, caso queira ver meu projeto fracassado de uma agenda contábil que gera relatório e planilhas com os dados que o contador pode alimentar, acesse o github do Anama-itá