From d19d75c6b455140fd32414d05b83fe63ffbdda35 Mon Sep 17 00:00:00 2001 From: Matheus Marchini Date: Fri, 28 Oct 2016 11:02:41 -0200 Subject: [PATCH 1/2] =?UTF-8?q?Corrigindo=20documenta=C3=A7=C3=A3o=20de=20?= =?UTF-8?q?envio=20de=20lote?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 7af85315..076998ad 100644 --- a/README.md +++ b/README.md @@ -48,8 +48,8 @@ Envio de RPS por lote 'numero': '1', 'data_emissao': '2016-08-29', 'codigo_atividade': '07498', - 'total_servicos': '2.00', - 'total_deducoes': '3.00', + 'valor_servico': '2.00', + 'valor_deducao': '3.00', 'prestador': { 'inscricao_municipal': '123456' }, @@ -62,7 +62,7 @@ Envio de RPS por lote 'logradouro': 'Vinicius de Moraes, 42', 'numero': '42', 'bairro': 'Corrego', - 'cidade': 'Floripa', + 'cidade': '4205407', # Código da cidade, de acordo com o IBGE 'uf': 'SC', 'cep': '88037240', }, @@ -75,6 +75,8 @@ Envio de RPS por lote 'cpf_cnpj': '12345678901234', 'data_inicio': '2016-08-29', 'data_fim': '2016-08-29', + 'total_servicos': '2.00', + 'total_deducoes': '3.00', 'lista_rps': rps } From a811f2ca47a668af060298a44c34a3537e9c8d11 Mon Sep 17 00:00:00 2001 From: Matheus Marchini Date: Fri, 28 Oct 2016 11:03:14 -0200 Subject: [PATCH 2/2] =?UTF-8?q?Corrigindo=20indenta=C3=A7=C3=A3o=20da=20do?= =?UTF-8?q?cumenta=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 164 +++++++++++++++++++++++++++--------------------------- 1 file changed, 82 insertions(+), 82 deletions(-) diff --git a/README.md b/README.md index 076998ad..e4cfd3e0 100644 --- a/README.md +++ b/README.md @@ -21,13 +21,13 @@ Exemplos de uso da NFe Consulta Cadastro por CNPJ: ```python - from pytrustnfe.nfe import consulta_cadastro - from pytrustnfe.certificado import Certificado +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') +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') ``` @@ -37,87 +37,87 @@ Exemplo de uso da NFSe Paulistana Envio de RPS por lote ```python - 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 +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' } - - 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 +] +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: ```python - 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 +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 ```