You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Leonardo Costantin e7129df069 adicionado documentação 10 years ago
docs adicionado documentação 10 years ago
pynfe Serialização permite envio apenas com cpf/cnpj e indIEDest (ie se existir) para destinatário 10 years ago
tests adicionado documentação 10 years ago
.gitignore Dando continuidade aos passos iniciais do projeto 16 years ago
AUTHORS Retorno para autorização de nota em modo assíncrono 11 years ago
LICENCE Trabalhando na assinatura para certificado A1 16 years ago
PLANEJAMENTO Organizando planejamento do trabalho 15 years ago
README.md Update README.md 10 years ago
ass_xml.py exemplo de assinatura de XML 11 years ago
requirements.txt adicionado documentação 10 years ago
run_fake_soap_server.py Trabalhando na comunicação 16 years ago
run_tests.py embelezando o codigo um pouco 16 years ago
separarpfx.sh Geração e assinatura 11 years ago
setup.py implementado consulta status 11 years ago
test.py Atualização de exemplo teste 11 years ago

README.md

Visão Geral

Biblioteca de interface com o webservice de Nota Fiscal Eletronica, (NF-e/NFC-e) da SEFAZ, oficializada pelo Ministerio da Fazendo do Governo do Brasil.
Desenvolvido e testado com Python 3 no GNU/Linux.

A NF-e visa substituir as notas fiscais séries 1 e 1A.
A NFC-e visa substituir as notas fiscais modelo 2 e cupom fiscal emitido por ECF.

Dependências

  • Java 8u51
    • para a geração da DANFE
  • lxml
    • biblioteca de leitura e gravação de arquivos XML, de alta performance e fácil de implementar.
  • xmlsec1 e openssl
    • assinatura e validação do XML
  • requests
    • biblioteca para a comunicação com os webservices da SEFAZ

Referências

 sudo pip3 install https://github.com/leotada/PyNFe/archive/master.zip
  • Exemplos de uso

  • Consulta Status

from pynfe.processamento.comunicacao import ComunicacaoSefaz

certificado = "/home/user/certificado.pfx"
senha = 'senha'
uf = 'pr'
homologacao = True

con = ComunicacaoSefaz(uf, certificado, senha, homologacao)
xml = con.status_servico('nfe')
print (xml.text)
  • Consulta Notas Emitidas para um CNPJ (apenas NF-e e no RS)
from pynfe.processamento.comunicacao import ComunicacaoSefaz

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

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)

print (xml.text)