From f76fd11a7bb0bfef4a7516920e14686b8813d82d Mon Sep 17 00:00:00 2001 From: Junior Tada Date: Mon, 18 Jan 2016 11:26:39 -0200 Subject: [PATCH 1/3] =?UTF-8?q?Op=C3=A7=C3=A3o=20de=20altera=C3=A7=C3=A3o?= =?UTF-8?q?=20manual=20para=20natureza=20da=20opera=C3=A7=C3=A3o=20e=20reg?= =?UTF-8?q?ime=20especial=20de=20tributa=C3=A7=C3=A3o=20para=20Nfs-e=20Gin?= =?UTF-8?q?fes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pynfe/entidades/notafiscal.py | 4 ++++ pynfe/processamento/autorizador_nfse.py | 28 ++++++++++++++++++++++------ 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/pynfe/entidades/notafiscal.py b/pynfe/entidades/notafiscal.py index 8af29f7..1da03d3 100644 --- a/pynfe/entidades/notafiscal.py +++ b/pynfe/entidades/notafiscal.py @@ -925,6 +925,10 @@ class NotaFiscalServico(Entidade): serie = str() # Tipo tipo = str() + # Natureza de operação + natureza_operacao = int() + # Regime especial de tributação + regime_especial = int() def __init__(self, *args, **kwargs): diff --git a/pynfe/processamento/autorizador_nfse.py b/pynfe/processamento/autorizador_nfse.py index 6d96cee..8e00ae8 100644 --- a/pynfe/processamento/autorizador_nfse.py +++ b/pynfe/processamento/autorizador_nfse.py @@ -408,12 +408,28 @@ class SerializacaoGinfes(InterfaceAutorizador): inf_rps = _tipos.tcInfRps() inf_rps.IdentificacaoRps = id_rps inf_rps.DataEmissao = nfse.data_emissao.strftime('%Y-%m-%dT%H:%M:%S') - inf_rps.NaturezaOperacao = 1 # tributacao no municipio - inf_rps.RegimeEspecialTributacao = None # opcional - inf_rps.OptanteSimplesNacional = nfse.simples - inf_rps.IncentivadorCultural = 2 # Nao - inf_rps.Status = 1 - inf_rps.RpsSubstituido = None # opcional + # Natureza da Operação + # 1 – Tributação no município + # 2 - Tributação fora do município + # 3 - Isenção + # 4 - Imune + # 5 –Exigibilidade suspensa por decisão judicial + # 6 – Exigibilidade suspensa por procedimento administrativo + inf_rps.NaturezaOperacao = nfse.natureza_operacao + # Regime Especial de Tributação + # 1 – Microempresa municipal + # 2 - Estimativa + # 3 – Sociedade de profissionais + # 4 – Cooperativa + # 5 - Microempresário Individual (MEI) + # 6 - Microempresário e Empresa de Pequeno Porte (ME EPP) + if nfse.regime_especial: + inf_rps.RegimeEspecialTributacao = nfse.regime_especial + inf_rps.OptanteSimplesNacional = nfse.simples # 1-sim 2-nao + inf_rps.IncentivadorCultural = nfse.incentivo # 1-sim 2-nao + # Código de status da NFS-e + inf_rps.Status = 1 # 1 – Normal 2 – Cancelado (sempre 1, pois a nota não pode ser enviada como cancelada) + inf_rps.RpsSubstituido = None # opcional inf_rps.Servico = servico inf_rps.Prestador = id_prestador inf_rps.Tomador = tomador From bed214bd029d919e881113a261cb03486af8aaf3 Mon Sep 17 00:00:00 2001 From: Junior Tada Date: Tue, 19 Jan 2016 11:01:05 -0200 Subject: [PATCH 2/3] Adicionado complemento opcional para cliente em Nfs-e --- pynfe/processamento/autorizador_nfse.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pynfe/processamento/autorizador_nfse.py b/pynfe/processamento/autorizador_nfse.py index 8e00ae8..38f5fec 100644 --- a/pynfe/processamento/autorizador_nfse.py +++ b/pynfe/processamento/autorizador_nfse.py @@ -370,6 +370,8 @@ class SerializacaoGinfes(InterfaceAutorizador): # endereco tomador endereco_tomador = _tipos.tcEndereco() endereco_tomador.Endereco = nfse.cliente.endereco_logradouro + if nfse.cliente.endereco_complemento: + endereco_tomador.Complemento = nfse.cliente.endereco_complemento endereco_tomador.Numero = nfse.cliente.endereco_numero endereco_tomador.Bairro = nfse.cliente.endereco_bairro if nfse.cliente.endereco_cod_municipio: From 0f177ad36422e22e95a776d85ace9b4e1ef2e33b Mon Sep 17 00:00:00 2001 From: Junior Tada Date: Tue, 19 Jan 2016 14:07:24 -0200 Subject: [PATCH 3/3] =?UTF-8?q?Declara=C3=A7=C3=A3o=20xml=20para=20Nfs-e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pynfe/processamento/autorizador_nfse.py | 2 +- pynfe/processamento/comunicacao.py | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/pynfe/processamento/autorizador_nfse.py b/pynfe/processamento/autorizador_nfse.py index 38f5fec..a4c27d4 100644 --- a/pynfe/processamento/autorizador_nfse.py +++ b/pynfe/processamento/autorizador_nfse.py @@ -272,7 +272,7 @@ class SerializacaoGinfes(InterfaceAutorizador): consulta.IdentificacaoRps = id_rps consulta.Prestador = id_prestador - consulta = consulta.toxml(element_name='ConsultarNfseRpsEnvio') + consulta = consulta.toxml(element_name='ns1:ConsultarNfseRpsEnvio') return consulta diff --git a/pynfe/processamento/comunicacao.py b/pynfe/processamento/comunicacao.py index af9f073..f7d079c 100644 --- a/pynfe/processamento/comunicacao.py +++ b/pynfe/processamento/comunicacao.py @@ -411,6 +411,8 @@ class ComunicacaoNfse(Comunicacao): # url do serviço url = self._get_url() if self.autorizador == 'GINFES': + # xml + xml = '' + xml # comunica via wsdl return self._post_https(url, xml, 'enviar_lote') else: @@ -449,6 +451,8 @@ class ComunicacaoNfse(Comunicacao): # url do serviço url = self._get_url() if self.autorizador == 'GINFES': + # xml + xml = '' + xml # comunica via wsdl return self._post_https(url, xml, 'consulta_lote') else: