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.

2.1 KiB

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.

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
-----------

- Site oficial da Nota Fiscal eletrônica
- http://www.nfe.fazenda.gov.br/portal/

- lxml
- http://lxml.de/

- Tutorial de lxml
- http://codespeak.net/lxml/tutorial.html

- requests
- http://docs.python-requests.org/en/latest/
- https://github.com/kennethreitz/requests
- https://pypi.python.org/pypi/requests

- Exemplos de arquivos XML
- http://www.javac.com.br/jc/downloads.javac?cat=3

- Schemas para validação dos arquivos
- http://www.nfe.fazenda.gov.br/portal/schemas.aspx

- Validao de XML via XSD no lxml
- http://codespeak.net/lxml/validation.html#xmlschema

- Geracao de codigos de barra Code128 no Python
- http://barcode128.blogspot.com/2007/03/code128py.html

- Descricao do Code128 na Wikipedia
- http://en.wikipedia.org/wiki/Code_128

- Documentação do módulo de geração de Code128 no ReportLab
- http://www.reportlab.com/apis/reportlab/reportlab.graphics.barcode.code128-module.html

- Thread da lista pyhton-brasil sobre streching do codigo de barras
- http://br.groups.yahoo.com/group/python-brasil/message/41299

- Lista de codigos para campo EX TIPI
- http://www.fisconet.com.br/ipi/tipi/04.htm

- Certificado para testes
- http://nf-eletronica.com/blog/?p=133

- Exemplo 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)