Metadata-Version: 1.1
Name: PyTrustNFe
Version: 0.1.9
Summary: PyTrustNFe é uma biblioteca para envio de NF-e
Home-page: https://github.com/danimaribeiro/PyTrustNFe
Author: Danimar Ribeiro
Author-email: danimaribeiro@gmail.com
License: LGPL-v2.1+
Description: PyTrustNFe
        ==========
        
        Biblioteca Python que tem por objetivo enviar NFe, NFCe e NFSe no Brasil
        
        `|Coverage
        Status| <https://coveralls.io/r/danimaribeiro/PyTrustNFe?branch=master>`_
        `|Code
        Health| <https://landscape.io/github/danimaribeiro/PyTrustNFe/master>`_
        `|Build Status| <https://travis-ci.org/danimaribeiro/PyTrustNFe>`_
        `|PyPI version| <https://badge.fury.io/py/PyTrustNFe>`_
        
        Dependências: \* PyXmlSec \* lxml \* signxml \* suds \* suds\_requests
        \* reportlab \* Jinja2
        
        Roadmap
        -------
        
        Teste unitários
        
        Emissão de NFCe
        
        Compatibilidade `python 2 e
        3 <https://github.com/danimaribeiro/PyTrustNFe/pull/6>`_
        
        Implementar novos provedores de NFSe \* `Betha <cidades/betha.md>`_ - 81
        cidades atendidas WIP \* `GINFES <cidades/ginfes.md>`_ - 79 cidades
        atendidas \* `WebISS <cidades/webiss.md>`_ - 51 cidades atendidas \*
        `ISSIntel <cidades/issintel.md>`_ - 32 cidades atendidas \*
        `ISSNET <cidades/issnet.md>`_ - 32 cidades atendidas \*
        `Saatri <cidades/saatri.md>`_ - 31 cidades atendidas
        
        Exemplos de uso da NFe
        ----------------------
        
        Consulta Cadastro por CNPJ:
        
        ::
        
            from pytrustnfe.nfe import consulta_cadastro
            from pytrustnfe.certificado import Certificado
        
            certificado = open("/path/certificado.pfx", "r").read()
            certificado = Certificado(certificado, 'senha_pfx')
            obj = {'cnpj': '12345678901234', 'estado': '42'}
            resposta = consulta_cadastro(certificado, obj=obj, ambiente=1, estado='42')
        
        Exemplo de uso da NFSe Paulistana
        ---------------------------------
        
        Envio de RPS por lote
        
        ::
        
            certificado = open('/path/certificado.pfx', 'r').read()
            certificado = Certificado(certificado, '123456')
            # Necessário criar um dicionário com os dados, validação dos dados deve
            # ser feita pela aplicação que está utilizando a lib
            rps = [
                {
                    'assinatura': '123',
                    'serie': '1',
                    'numero': '1',
                    'data_emissao': '2016-08-29',
                    'codigo_atividade': '07498',
                    'valor_servico': '2.00',
                    'valor_deducao': '3.00',
                    'prestador': {
                        'inscricao_municipal': '123456'
                    },
                    'tomador': {
                        'tipo_cpfcnpj': '1',
                        'cpf_cnpj': '12345678923256',
                        'inscricao_municipal': '123456',
                        'razao_social': 'Trustcode',
                        'tipo_logradouro': '1',
                        'logradouro': 'Vinicius de Moraes, 42',
                        'numero': '42',
                        'bairro': 'Corrego',
                        'cidade': '4205407',  # Código da cidade, de acordo com o IBGE
                        'uf': 'SC',
                        'cep': '88037240',
                    },
                    'codigo_atividade': '07498',
                    'aliquota_atividade': '5.00',
                    'descricao': 'Venda de servico'
                }
            ]
            nfse = {
                'cpf_cnpj': '12345678901234',
                'data_inicio': '2016-08-29',
                'data_fim': '2016-08-29',
                'total_servicos': '2.00',
                'total_deducoes': '3.00',
                'lista_rps': rps
            }
        
            retorno = envio_lote_rps(certificado, nfse=nfse)
            # retorno é um dicionário { 'received_xml':'', 'sent_xml':'', 'object': object() }
            print retorno['received_xml']
            print retorno['sent_xml']
        
            # retorno['object'] é um objeto python criado apartir do xml de resposta
            print retorno['object'].Cabecalho.Sucesso
            print retorno['object'].ChaveNFeRPS.ChaveNFe.NumeroNFe
            print retorno['object'].ChaveNFeRPS.ChaveRPS.NumeroRPS
        
        Cancelamento de NFSe:
        
        ::
        
            from pytrustnfe.certificado import Certificado
            from pytrustnfe.nfse.paulistana import cancelamento_nfe
        
            certificado = open('/path/certificado.pfx', 'r').read()
            certificado = Certificado(certificado, '123456')
            cancelamento = {
                'cnpj_remetente': '123',
                'assinatura': 'assinatura',
                'numero_nfse': '456',
                'inscricao_municipal': '654',
                'codigo_verificacao': '789',
            }
        
            retorno = cancelamento_nfe(certificado, cancelamento=cancelamento)
        
            # retorno é um dicionário { 'received_xml':'', 'sent_xml':'', 'object': object() }
            print retorno['received_xml']
            print retorno['sent_xml']
        
            # retorno['object'] é um objeto python criado apartir do xml de resposta
            print retorno['object'].Cabecalho.Sucesso
        
            if not retorno['object'].Cabecalho.Sucesso: # Cancelamento com erro
                print retorno['object'].Erro.Codigo
                print retorno['object'].Erro.Descricao
        
        .. |Coverage
        Status| image:: https://coveralls.io/repos/danimaribeiro/PyTrustNFe/badge.svg?branch=master
        .. |Code
        Health| image:: https://landscape.io/github/danimaribeiro/PyTrustNFe/master/landscape.svg?style=flat
        .. |Build
        Status| image:: https://travis-ci.org/danimaribeiro/PyTrustNFe.svg?branch=master
        .. |PyPI version| image:: https://badge.fury.io/py/PyTrustNFe.svg
        
Keywords: nfe,mdf-e
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Plugins
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Libraries :: Python Modules
