Novo PyNFe - suporte a NFe, NFCe rodando em Python 3

4,580 views
Skip to first unread message

Leonardo Tada

unread,
Sep 15, 2015, 9:17:40 AM9/15/15
to Python Brasil
Eu e um amigo fizemos um fork do PyNFe, portamos para Python 3 e reescrevemos ele para enviar NFCe e NFe, e aparte de comunicação com a receita também. Não está perfeito, usa algumas ferramentas externas ainda, mas está funcionando para NFCe aqui no Paraná.
O repositório é https://github.com/leotada/PyNFe
Planejo juntar ao repositório do marinho.
Quem quiser contribuir ou utilizar pode entrar em contato.

Kaio Cesar

unread,
Sep 15, 2015, 9:29:45 AM9/15/15
to python...@googlegroups.com
Bom dia Leonardo,
vocês chegaram a desenvolver/pensar no uso do certificado A3?

Leonardo Tada

unread,
Sep 15, 2015, 9:52:51 AM9/15/15
to Python Brasil
Bom dia Kaio, não fizemos nada em relação ao A3 e nem temos clientes previstos com A3 no momento. Mas se alguém quiser fazer essa parte é bem vindo.

Felippe Raposo

unread,
Sep 15, 2015, 10:09:27 AM9/15/15
to python...@googlegroups.com
Leonardo, bom dia.

Usando a do Marinho eu não estava conseguindo baixar todas as notas emitidas para um determinado cnpj, somente uma nota era retornada, porém haviam mais notas emitidas. No seu branch esse comportamento persiste? Ou será que eu que implementei de forma errada mesmo?

--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com

---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Leonardo Tada

unread,
Sep 16, 2015, 9:06:34 AM9/16/15
to Python Brasil
O outro desenvolvedor respondeu sua pergunta ontem, mas parece que pediu aprovação do administrador.. vou ver com ele.

Felippe Raposo

unread,
Sep 16, 2015, 10:58:56 AM9/16/15
to python...@googlegroups.com
Beleza Leonardo, obrigado!

Junior Tada

unread,
Sep 17, 2015, 8:57:36 AM9/17/15
to Python Brasil
Bom dia Felippe Raposo, implementei aqui e fiz o teste no RS. Pelo que pesquisei, apenas o estado do RS permite este tipo de consulta.
Nota técnica NT 2012_002 aqui

Para usar:

from pynfe.processamento.comunicacao import ComunicacaoSefaz

uf = 'rs'
homologacao = True
certificado = "/home/seu_certificado_A1.pfx"
senha = 'sua_senha'

con = ComunicacaoSefaz(uf, certificado, senha, homologacao)
# informar cnpj que deseja consultar (String) e nsu (inteiro) (por default se não informar nsu ele assumirá o valor 0, retornando as dos últimos 15 dias)
xml = con.consulta_notas_cnpj(cnpj='cnpj_somente_numeros', nsu=0)

Junior Tada

unread,
Sep 17, 2015, 9:25:59 AM9/17/15
to Python Brasil
Faltou o link da NT 2012/002 aqui

Felippe Raposo

unread,
Sep 17, 2015, 10:07:53 AM9/17/15
to python...@googlegroups.com
Muito obrigado Junior!

Em 17 de setembro de 2015 10:25, Junior Tada <junio...@gmail.com> escreveu:
Faltou o link da NT 2012/002 aqui

--

Luis Felipe Miléo

unread,
Sep 19, 2015, 3:04:42 PM9/19/15
to python...@googlegroups.com
Bacana o projeto bem limpo.

Atualmente usamos o PySPED https://github.com/odoo-brazil/PySPED

Alguém mais anda usando?

Abraços

- Luis Felipe Miléo
Gerência de Implementação
+55 21 4063-8872 (RJ)
Parceiro oficial no Brasil:
  


De: "Felippe Raposo" <raposo....@gmail.com>
Para: python...@googlegroups.com
Enviadas: Quinta-feira, 17 de setembro de 2015 11:07:26
Assunto: Re: [python-brasil] Re: Novo PyNFe - suporte a NFe, NFCe rodando em Python 3

Leonardo Tada

unread,
Sep 20, 2015, 11:49:40 PM9/20/15
to Python Brasil
No momento só nós estamos usando, até porque ninguém conhecia, agora estamos divulgando.
Tentamos usar PySPED, mas não encontramos documentação, e achamos que este novo atenderia melhor o que precisamos.

Neto

unread,
Sep 21, 2015, 12:18:02 PM9/21/15
to Python Brasil
Leonardo criou documentação? Nunca mexi com nota fiscal, estou querendo nos próximos dias. Minha empresa não está emitindo nota fiscal ainda, então estou igual a cego. Sei que nota de serviços é referente a cidade, e produtos é nacional. Se houver documentação explanando o básico sobre o assunto seria ótimo.

Leonardo Romano

unread,
Sep 21, 2015, 12:20:29 PM9/21/15
to Python Brasil
Estou pegando um novo projeto com um cliente aqui no rs para nfce então vou implementar, testar e colaborar. Dentro das próximas semanas.
Muito bacana e bem escrita, no futuro ao concluir só tem que escrever uma boa documentação.

at

Márcio Sancho

unread,
Sep 21, 2015, 12:37:54 PM9/21/15
to python...@googlegroups.com

Acho que o software pra emitir as notas tem que ser hologado junto a Sefaz do seu estado. No caso de cupom fiscal é assim.

--

Leonardo Romano

unread,
Sep 21, 2015, 8:25:01 PM9/21/15
to Python Brasil
Vou verificar estas questões legais. Mas primeiro quero testar e implementar algumas funcionalidades.
Também não lido muito com nfe mas sei que tem algumas especificidades aqui para o rs.


Leonardo Tada

unread,
Sep 21, 2015, 9:12:58 PM9/21/15
to Python Brasil
Não criamos documentação ainda, só os exemplo de consulta no readme, mas pretendemos criar em breve, ainda mais se houver interesse.

Leonardo Tada

unread,
Sep 21, 2015, 9:15:10 PM9/21/15
to Python Brasil
É necessário homologar o software para emitir as notas válidas, mas no ambiente de testes(homologação) não é necessário.

Leonardo Romano

unread,
Sep 21, 2015, 11:17:22 PM9/21/15
to python...@googlegroups.com, Python Brasil


Vou testar no ambiente de homologação.. Dou uma ajuda para escrever a documentação...
Vou ver essa questão das licenças...
O que ainda precisa ser desenvolvido na lib?

Felippe Raposo

unread,
Sep 22, 2015, 9:11:53 AM9/22/15
to python...@googlegroups.com
Eu também posso dar um gás na doc!


--

Leonardo Romano

unread,
Sep 22, 2015, 11:53:29 PM9/22/15
to Python Brasil
Tirei um tempo e criei uma documentação para a lib
http://pynfe.readthedocs.org/pt/latest/
Mandei a solicitação no github das modificações parar podemos organizar isto.

Junior Tada

unread,
Sep 23, 2015, 9:15:13 AM9/23/15
to Python Brasil
Bom dia todos, desculpa a demora em responder. Vamos por partes:
Está implementado:
-envio (sincrono e assincrono) de uma nota por vez:
-cancelamento (por evento)
-consulta protocolo
-consulta nota (pela chave)
A consulta de notas para um cnpj eu estou implementando o método novo, pq aquele que divulguei sairá de uso.
O RS é o único estado que tem implementação própria, os outros estados devem consultar o ambiente nacional (AN)
Software de emissão de nfe/nfce NÃO PRECISA de homologação, o que é necessário é possuir uma empresa como fornecedora de software na sefaz do seu estado
e liberar uma licença de uso no ambiente da sefaz para os seus clientes.
Para ambiente de homologação não é necessário nada. Qualquer pessoa pode pegar o código do pynfe e testar. 
Todos estes métodos que citei como implementado eu testei em homologação no PR, SP e RS, tanto para nfe como para nfce. 
Sobre o DANFE eu fiz um programa em java que pega o xml da nota autorizada e gera o pdf. Não adicionei isto ao projeto mas envio para quem quiser, tanto o jar como o código fonte. No futuro a ideia é que o existam vários subprojetos para geração de danfe, assim cada um escolhe a que lhe agradar melhor. Fiz em java pq é muito mais fácil editar/modificar o danfe utilizando o jasperdesign, principalmente para os iniciantes. 
Vou completar a documentação que o Leonardo Romano criou com exemplos de emissão e cancelamento de nota fiscal.

Junior Tada

Felippe Raposo

unread,
Sep 23, 2015, 9:29:19 AM9/23/15
to python...@googlegroups.com
Podemos marcar um hangout hoje a noite pra batermos um papo sobre a lib e nos organizarmos melhor?

Confesso que estou meio perdido...kkkk
Mas quero ajudar!

E aí, vcs topam?

Message has been deleted

Leonardo Tada

unread,
Sep 23, 2015, 9:48:39 AM9/23/15
to Python Brasil
Primeiramente, por que está perdido? :)
Está meio corrido aqui, mas dependendo das dúvidas podemos fazer.

Felippe Raposo

unread,
Sep 23, 2015, 9:53:26 AM9/23/15
to python...@googlegroups.com
Então...eu não entendo muito dos webservices e não sei por onde eu posso começar a contribuir no projeto, por isso eu queria fazer um hangout a noite...também pra tirar dúvidas e bater um papo sobre como vcs usam o projeto...

Leonardo Tada

unread,
Sep 23, 2015, 10:38:47 AM9/23/15
to Python Brasil
A parte de webservice está pronta, pode contribuir com a parte de documentação, testar e fazer funcionar em outros estados, testar no Windows, melhorar a assinatura.
Message has been deleted

Leonardo Romano

unread,
Sep 23, 2015, 12:40:15 PM9/23/15
to Python Brasil
Junior obrigado pelos esclarecimentos.
Anda não estudei a lib a fundo mas dei uma olhadas nos métodos parecem muito bons.
Obrigado por todas estas informações sobre os testes e homologação.
Quanto a documentação acredito que seria bacana fazermos um hangouts para discutir como fazer e ver certo os afazeres e como será feito.
Hoje eu estou em viagem mas na parte da noite posso fazer sem problemas.
Também acho interessante que as coisa mais básicas da documentação como chamar os métodos para gerar e enviar a nota e a estrutura da lib fosse escrito por quem criou até agora. Pois é muito mais rapido do que nós verificarmos todas as heranças das classes para ver de onde vai para onde, Depois desta base acho que fica mais facil para escrever mais detalhado.

Outra coisa que acho interessante em termos de organização é habilitar os issues do github, para podermos interagir melhor entre nós no repositório.




Reply all
Reply to author
Forward
0 new messages