From 922b26b7f4f2613c49f620996ea1652dc1e2aa56 Mon Sep 17 00:00:00 2001 From: ninobaldo Date: Fri, 12 Feb 2021 15:46:53 -0300 Subject: [PATCH] Melhorias GINFES (#293) - Registrar nota assincronamente, Cancelar nota * Fix ginfes cities link * Fix Cnpj in xml CancelarNfseV3 template * Update CancelarNfseV3.xml * Update CancelarNfseV3.xml * Update CancelarNfseV3.xml * Update CancelarNfseV3.xml * Update CancelarNfseV3.xml * Update CancelarNfseV3.xml * Update CancelarNfseV3.xml * Update CancelarNfseV3.xml * Update CancelarNfseV3.xml * Update CancelarNfseV3.xml * Update CancelarNfseV3.xml * Update CancelarNfseV3.xml * Update CancelarNfseV3.xml * Update CancelarNfseV3.xml * Update CancelarNfseV3.xml * Update CancelarNfseV3.xml * Update __init__.py * Update CancelarNfseV3.xml * Update CancelarNfseV3.xml * Update CancelarNfseV3.xml * Update CancelarNfseV3.xml * Update __init__.py * Create RecepcionarLoteRpsV3 * Update __init__.py * Update __init__.py * Implement xml_consultar_nfse_por_rps * Fix layout ConsultarNfseRpsEnvio * Add namespace to xml properties * Fix name of service in servico_consultar_nfse_rps_envio_v03 * Fix ConsultarNfseV3 * Fix xmlns ConsultarNfseEnvio * Fix property ConsultarNfseEnvio * Add PeriodoEmissao to ConsultarNfseEnvio * Change number to numero_nfse instead on ConsultarNfseEnvio * Remove periodo on ConsultarNfse --- README.md | 2 +- pytrustnfe/nfse/ginfes/__init__.py | 26 ++++++++++++++++++++-- .../nfse/ginfes/templates/CancelarNfseV3.xml | 25 ++++++++++----------- .../ginfes/templates/ConsultarNfsePorRpsV3.xml | 15 ++++++------- .../nfse/ginfes/templates/ConsultarNfseV3.xml | 12 +++++----- 5 files changed, 50 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index e2a6e17..5bcec73 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ NFSe - Cidades atendidas * **Imperial** - PetrĂ³polis/RH * [Susesu](cidades/susesu.md) - 3 cidades atendidas * [Simpliss](cidades/simpliss.md) - 18 cidade atendidas -* [GINFES](cidaes/ginfes.md) - 79 cidades atendidas +* [GINFES](cidades/ginfes.md) - 79 cidades atendidas * [DSF](cidades/dsf.md) - 7 cidades atendidas Roadmap diff --git a/pytrustnfe/nfse/ginfes/__init__.py b/pytrustnfe/nfse/ginfes/__init__.py index ecdab2f..6dc3867 100644 --- a/pytrustnfe/nfse/ginfes/__init__.py +++ b/pytrustnfe/nfse/ginfes/__init__.py @@ -18,8 +18,10 @@ def _render(certificado, method, **kwargs): xml_send = render_xml(path, "%s.xml" % method, True, **kwargs) reference = "" - if method == "RecepcionarLoteRpsV3": + if method in ("RecepcionarLoteRpsV3", "RecepcionarLoteRpsSincronoV3"): reference = "rps%s" % kwargs["nfse"]["lista_rps"][0]["numero"] + elif method == "CancelarNfseV3": + reference = "C%s" % kwargs["cancelamento"]["numero_nfse"] signer = Assinatura(certificado.pfx, certificado.password) xml_send = signer.assina_xml(xml_send, reference) @@ -63,6 +65,16 @@ def recepcionar_lote_rps(certificado, **kwargs): return _send(certificado, "RecepcionarLoteRpsV3", **kwargs) +def xml_recepcionar_lote_rps_sync(certificado, **kwargs): + return _render(certificado, "RecepcionarLoteRpsSincronoV3", **kwargs) + + +def recepcionar_lote_rps_sync(certificado, **kwargs): + if "xml" not in kwargs: + kwargs["xml"] = xml_recepcionar_lote_rps(certificado, **kwargs) + return _send(certificado, "RecepcionarLoteRpsSincronoV3", **kwargs) + + def xml_consultar_situacao_lote(certificado, **kwargs): return _render(certificado, "ConsultarSituacaoLoteRpsV3", **kwargs) @@ -73,10 +85,15 @@ def consultar_situacao_lote(certificado, **kwargs): return _send(certificado, "ConsultarSituacaoLoteRpsV3", **kwargs) +def xml_consultar_nfse_por_rps(certificado, **kwargs): + return _render(certificado, "ConsultarNfsePorRpsV3", **kwargs) + def consultar_nfse_por_rps(certificado, **kwargs): + if "xml" not in kwargs: + kwargs["xml"] = xml_consultar_nfse_por_rps(certificado, **kwargs) + return _send(certificado, "ConsultarNfsePorRpsV3", **kwargs) - def xml_consultar_lote_rps(certificado, **kwargs): return _render(certificado, "ConsultarLoteRpsV3", **kwargs) @@ -86,8 +103,13 @@ def consultar_lote_rps(certificado, **kwargs): kwargs["xml"] = xml_consultar_lote_rps(certificado, **kwargs) return _send(certificado, "ConsultarLoteRpsV3", **kwargs) +def xml_consultar_nfse(certificado, **kwargs): + return _render(certificado, "ConsultarNfseV3", **kwargs) def consultar_nfse(certificado, **kwargs): + if "xml" not in kwargs: + kwargs["xml"] = xml_consultar_nfse(certificado, **kwargs) + return _send(certificado, "ConsultarNfseV3", **kwargs) diff --git a/pytrustnfe/nfse/ginfes/templates/CancelarNfseV3.xml b/pytrustnfe/nfse/ginfes/templates/CancelarNfseV3.xml index d63af4b..fd58d97 100644 --- a/pytrustnfe/nfse/ginfes/templates/CancelarNfseV3.xml +++ b/pytrustnfe/nfse/ginfes/templates/CancelarNfseV3.xml @@ -1,15 +1,14 @@ - - - - - {{ cancelamento.numero_nfse }} - - {{ cancelamento.cnpj_prestador }} - - {{ cancelamento.inscricao_municipal }} - {{ cancelamento.cidade }} - - {{ cancelamento.codigo_cancelamento }} - + + + + + {{ cancelamento.numero_nfse }} + {{ cancelamento.cnpj_prestador }} + {{ cancelamento.inscricao_municipal }} + {{ cancelamento.cidade }} + + {{ cancelamento.codigo_cancelamento }} + diff --git a/pytrustnfe/nfse/ginfes/templates/ConsultarNfsePorRpsV3.xml b/pytrustnfe/nfse/ginfes/templates/ConsultarNfsePorRpsV3.xml index e86e16b..86dde8f 100644 --- a/pytrustnfe/nfse/ginfes/templates/ConsultarNfsePorRpsV3.xml +++ b/pytrustnfe/nfse/ginfes/templates/ConsultarNfsePorRpsV3.xml @@ -1,13 +1,12 @@ - + - 24 - A1 - 1 + {{ consulta.numero }} + {{ consulta.serie }} + {{ consulta.tipo }} - - 45111111111100 - - 123498 + {{ consulta.cnpj_prestador }} + {{ consulta.inscricao_municipal }} diff --git a/pytrustnfe/nfse/ginfes/templates/ConsultarNfseV3.xml b/pytrustnfe/nfse/ginfes/templates/ConsultarNfseV3.xml index 3861c49..76ae836 100644 --- a/pytrustnfe/nfse/ginfes/templates/ConsultarNfseV3.xml +++ b/pytrustnfe/nfse/ginfes/templates/ConsultarNfseV3.xml @@ -1,8 +1,8 @@ - + - - 45111111111100 - + {{ consulta.cnpj_prestador }} + {{ consulta.inscricao_municipal }} - 141542179222170 - + {{ consulta.numero_nfse }} +