Browse Source

Finalizando layout de NFSe - Ajuste urls de cancelamento NFE

pull/37/merge
Danimar Ribeiro 9 years ago
parent
commit
c335365dd6
  1. 18
      pytrustnfe/Servidores.py
  2. 4
      pytrustnfe/nfse/ginfes/templates/Rps.xml
  3. 17
      pytrustnfe/nfse/simpliss/__init__.py
  4. 97
      pytrustnfe/nfse/simpliss/templates/GerarNfse.xml
  5. 2
      pytrustnfe/nfse/simpliss/templates/Rps.xml
  6. 23
      pytrustnfe/test/test_simpliss.py
  7. 23
      pytrustnfe/test/test_susesu.py
  8. 2
      setup.py

18
pytrustnfe/Servidores.py

@ -84,7 +84,7 @@ def localizar_url(servico, estado, mod='55', ambiente=2):
if sigla == 'RS' and servico == WS_NFE_CADASTRO: if sigla == 'RS' and servico == WS_NFE_CADASTRO:
dominio = 'cad.sefazrs.rs.gov.br' dominio = 'cad.sefazrs.rs.gov.br'
if sigla in ('AC', 'RN', 'PB', 'SC') and \
if sigla in ('AC', 'RN', 'PB', 'SC', 'RJ') and \
servico == WS_NFE_CADASTRO: servico == WS_NFE_CADASTRO:
dominio = 'cad.svrs.rs.gov.br' dominio = 'cad.svrs.rs.gov.br'
@ -284,6 +284,7 @@ UFAM = {
NFE_AMBIENTE_PRODUCAO: { NFE_AMBIENTE_PRODUCAO: {
'servidor': 'nfe.sefaz.am.gov.br', 'servidor': 'nfe.sefaz.am.gov.br',
WS_NFE_RECEPCAO_EVENTO: 'services2/services/RecepcaoEvento', WS_NFE_RECEPCAO_EVENTO: 'services2/services/RecepcaoEvento',
WS_NFE_CANCELAMENTO: 'services2/services/RecepcaoEvento',
WS_NFE_AUTORIZACAO: 'services2/services/NfeAutorizacao', WS_NFE_AUTORIZACAO: 'services2/services/NfeAutorizacao',
WS_NFE_RET_AUTORIZACAO: 'services2/services/NfeRetAutorizacao', WS_NFE_RET_AUTORIZACAO: 'services2/services/NfeRetAutorizacao',
WS_NFE_INUTILIZACAO: 'services2/services/NfeInutilizacao2', WS_NFE_INUTILIZACAO: 'services2/services/NfeInutilizacao2',
@ -294,6 +295,7 @@ UFAM = {
NFE_AMBIENTE_HOMOLOGACAO: { NFE_AMBIENTE_HOMOLOGACAO: {
'servidor': 'homnfe.sefaz.am.gov.br', 'servidor': 'homnfe.sefaz.am.gov.br',
WS_NFE_RECEPCAO_EVENTO: 'services2/services/RecepcaoEvento', WS_NFE_RECEPCAO_EVENTO: 'services2/services/RecepcaoEvento',
WS_NFE_CANCELAMENTO: 'services2/services/RecepcaoEvento',
WS_NFE_AUTORIZACAO: 'services2/services/NfeAutorizacao', WS_NFE_AUTORIZACAO: 'services2/services/NfeAutorizacao',
WS_NFE_RET_AUTORIZACAO: 'services2/services/NfeRetAutorizacao', WS_NFE_RET_AUTORIZACAO: 'services2/services/NfeRetAutorizacao',
WS_NFE_INUTILIZACAO: 'services2/services/NfeInutilizacao2', WS_NFE_INUTILIZACAO: 'services2/services/NfeInutilizacao2',
@ -314,6 +316,7 @@ UFBA = {
WS_NFE_INUTILIZACAO: 'webservices/nfenw/nfeinutilizacao2.asmx', WS_NFE_INUTILIZACAO: 'webservices/nfenw/nfeinutilizacao2.asmx',
WS_NFE_CADASTRO: 'webservices/nfenw/CadConsultaCadastro2.asmx', WS_NFE_CADASTRO: 'webservices/nfenw/CadConsultaCadastro2.asmx',
WS_NFE_RECEPCAO_EVENTO: 'webservices/sre/recepcaoevento', WS_NFE_RECEPCAO_EVENTO: 'webservices/sre/recepcaoevento',
WS_NFE_CANCELAMENTO: 'webservices/sre/recepcaoevento',
}, },
NFE_AMBIENTE_HOMOLOGACAO: { NFE_AMBIENTE_HOMOLOGACAO: {
'servidor': 'hnfe.sefaz.ba.gov.br', 'servidor': 'hnfe.sefaz.ba.gov.br',
@ -325,6 +328,7 @@ UFBA = {
WS_NFE_INUTILIZACAO: 'webservices/nfenw/nfeinutilizacao2.asmx', WS_NFE_INUTILIZACAO: 'webservices/nfenw/nfeinutilizacao2.asmx',
WS_NFE_CADASTRO: 'webservices/nfenw/CadConsultaCadastro2.asmx', WS_NFE_CADASTRO: 'webservices/nfenw/CadConsultaCadastro2.asmx',
WS_NFE_RECEPCAO_EVENTO: 'webservices/sre/recepcaoevento', WS_NFE_RECEPCAO_EVENTO: 'webservices/sre/recepcaoevento',
WS_NFE_CANCELAMENTO: 'webservices/sre/recepcaoevento',
} }
} }
@ -338,6 +342,7 @@ UFCE = {
WS_NFE_SITUACAO: 'nfe2/services/NfeStatusServico2', WS_NFE_SITUACAO: 'nfe2/services/NfeStatusServico2',
WS_NFE_CADASTRO: 'nfe2/services/CadConsultaCadastro2', WS_NFE_CADASTRO: 'nfe2/services/CadConsultaCadastro2',
WS_NFE_RECEPCAO_EVENTO: 'nfe2/services/RecepcaoEvento', WS_NFE_RECEPCAO_EVENTO: 'nfe2/services/RecepcaoEvento',
WS_NFE_CANCELAMENTO: 'nfe2/services/RecepcaoEvento',
}, },
NFE_AMBIENTE_HOMOLOGACAO: { NFE_AMBIENTE_HOMOLOGACAO: {
'servidor': 'nfeh.sefaz.ce.gov.br', 'servidor': 'nfeh.sefaz.ce.gov.br',
@ -348,6 +353,7 @@ UFCE = {
WS_NFE_SITUACAO: 'nfe2/services/NfeStatusServico2', WS_NFE_SITUACAO: 'nfe2/services/NfeStatusServico2',
WS_NFE_CADASTRO: 'nfe2/services/CadConsultaCadastro2', WS_NFE_CADASTRO: 'nfe2/services/CadConsultaCadastro2',
WS_NFE_RECEPCAO_EVENTO: 'nfe2/services/RecepcaoEvento', WS_NFE_RECEPCAO_EVENTO: 'nfe2/services/RecepcaoEvento',
WS_NFE_CANCELAMENTO: 'nfe2/services/RecepcaoEvento',
} }
} }
@ -362,6 +368,7 @@ UFGO = {
WS_NFE_CONSULTA: 'nfe/services/v2/NfeConsulta2', WS_NFE_CONSULTA: 'nfe/services/v2/NfeConsulta2',
WS_NFE_SITUACAO: 'nfe/services/v2/NfeStatusServico2', WS_NFE_SITUACAO: 'nfe/services/v2/NfeStatusServico2',
WS_NFE_CADASTRO: 'nfe/services/v2/CadConsultaCadastro2', WS_NFE_CADASTRO: 'nfe/services/v2/CadConsultaCadastro2',
WS_NFE_CANCELAMENTO: 'nfe/services/v2/RecepcaoEvento',
}, },
NFE_AMBIENTE_HOMOLOGACAO: { NFE_AMBIENTE_HOMOLOGACAO: {
'servidor': 'homolog.sefaz.go.gov.br', 'servidor': 'homolog.sefaz.go.gov.br',
@ -372,6 +379,7 @@ UFGO = {
WS_NFE_CONSULTA: 'nfe/services/v2/NfeConsulta2', WS_NFE_CONSULTA: 'nfe/services/v2/NfeConsulta2',
WS_NFE_SITUACAO: 'nfe/services/v2/NfeStatusServico2', WS_NFE_SITUACAO: 'nfe/services/v2/NfeStatusServico2',
WS_NFE_CADASTRO: 'nfe/services/v2/CadConsultaCadastro2', WS_NFE_CADASTRO: 'nfe/services/v2/CadConsultaCadastro2',
WS_NFE_CANCELAMENTO: 'nfe/services/v2/RecepcaoEvento',
} }
} }
@ -386,6 +394,7 @@ UFMT = {
WS_NFE_SITUACAO: 'nfews/v2/services/NfeStatusServico2', WS_NFE_SITUACAO: 'nfews/v2/services/NfeStatusServico2',
WS_NFE_CADASTRO: 'nfews/v2/services/CadConsultaCadastro2', WS_NFE_CADASTRO: 'nfews/v2/services/CadConsultaCadastro2',
WS_NFE_RECEPCAO_EVENTO: 'nfews/v2/services/RecepcaoEvento', WS_NFE_RECEPCAO_EVENTO: 'nfews/v2/services/RecepcaoEvento',
WS_NFE_CANCELAMENTO: 'nfews/v2/services/RecepcaoEvento',
}, },
NFE_AMBIENTE_HOMOLOGACAO: { NFE_AMBIENTE_HOMOLOGACAO: {
'servidor': 'homologacao.sefaz.mt.gov.br', 'servidor': 'homologacao.sefaz.mt.gov.br',
@ -396,6 +405,7 @@ UFMT = {
WS_NFE_SITUACAO: 'nfews/v2/services/NfeStatusServico2', WS_NFE_SITUACAO: 'nfews/v2/services/NfeStatusServico2',
WS_NFE_CADASTRO: 'nfews/v2/services/CadConsultaCadastro2', WS_NFE_CADASTRO: 'nfews/v2/services/CadConsultaCadastro2',
WS_NFE_RECEPCAO_EVENTO: 'nfews/v2/services/RecepcaoEvento', WS_NFE_RECEPCAO_EVENTO: 'nfews/v2/services/RecepcaoEvento',
WS_NFE_CANCELAMENTO: 'nfews/v2/services/RecepcaoEvento',
} }
} }
@ -409,6 +419,7 @@ UFMS = {
WS_NFE_INUTILIZACAO: 'producao/services2/NfeInutilizacao2', WS_NFE_INUTILIZACAO: 'producao/services2/NfeInutilizacao2',
WS_NFE_CONSULTA: 'producao/services2/NfeConsulta2', WS_NFE_CONSULTA: 'producao/services2/NfeConsulta2',
WS_NFE_SITUACAO: 'producao/services2/NfeStatusServico2', WS_NFE_SITUACAO: 'producao/services2/NfeStatusServico2',
WS_NFE_CANCELAMENTO: 'producao/services2/RecepcaoEvento',
}, },
NFE_AMBIENTE_HOMOLOGACAO: { NFE_AMBIENTE_HOMOLOGACAO: {
'servidor': 'homologacao.nfe.ms.gov.br', 'servidor': 'homologacao.nfe.ms.gov.br',
@ -419,6 +430,7 @@ UFMS = {
WS_NFE_INUTILIZACAO: 'homologacao/services2/NfeInutilizacao2', WS_NFE_INUTILIZACAO: 'homologacao/services2/NfeInutilizacao2',
WS_NFE_CONSULTA: 'homologacao/services2/NfeConsulta2', WS_NFE_CONSULTA: 'homologacao/services2/NfeConsulta2',
WS_NFE_SITUACAO: 'homologacao/services2/NfeStatusServico2', WS_NFE_SITUACAO: 'homologacao/services2/NfeStatusServico2',
WS_NFE_CANCELAMENTO: 'homologacao/services2/RecepcaoEvento',
} }
} }
@ -432,6 +444,7 @@ UFMG = {
WS_NFE_SITUACAO: 'nfe2/services/NfeStatus2', WS_NFE_SITUACAO: 'nfe2/services/NfeStatus2',
WS_NFE_CADASTRO: 'nfe2/services/cadconsultacadastro2', WS_NFE_CADASTRO: 'nfe2/services/cadconsultacadastro2',
WS_NFE_RECEPCAO_EVENTO: 'nfe2/services/RecepcaoEvento', WS_NFE_RECEPCAO_EVENTO: 'nfe2/services/RecepcaoEvento',
WS_NFE_CANCELAMENTO: 'nfe2/services/RecepcaoEvento',
}, },
NFE_AMBIENTE_HOMOLOGACAO: { NFE_AMBIENTE_HOMOLOGACAO: {
'servidor': 'hnfe.fazenda.mg.gov.br', 'servidor': 'hnfe.fazenda.mg.gov.br',
@ -442,6 +455,7 @@ UFMG = {
WS_NFE_SITUACAO: 'nfe2/services/NfeStatus2', WS_NFE_SITUACAO: 'nfe2/services/NfeStatus2',
WS_NFE_CADASTRO: 'nfe2/services/cadconsultacadastro2', WS_NFE_CADASTRO: 'nfe2/services/cadconsultacadastro2',
WS_NFE_RECEPCAO_EVENTO: 'nfe2/services/RecepcaoEvento', WS_NFE_RECEPCAO_EVENTO: 'nfe2/services/RecepcaoEvento',
WS_NFE_CANCELAMENTO: 'nfe2/services/RecepcaoEvento',
} }
} }
@ -455,6 +469,7 @@ UFPR = {
WS_NFE_SITUACAO: 'nfe/NFeStatusServico3', WS_NFE_SITUACAO: 'nfe/NFeStatusServico3',
WS_NFE_CADASTRO: 'nfe/CadConsultaCadastro2', WS_NFE_CADASTRO: 'nfe/CadConsultaCadastro2',
WS_NFE_RECEPCAO_EVENTO: 'nfe-evento/NFeRecepcaoEvento', WS_NFE_RECEPCAO_EVENTO: 'nfe-evento/NFeRecepcaoEvento',
WS_NFE_CANCELAMENTO: 'nfe-evento/NFeRecepcaoEvento',
}, },
NFE_AMBIENTE_HOMOLOGACAO: { NFE_AMBIENTE_HOMOLOGACAO: {
'servidor': 'homologacao.nfe.fazenda.pr.gov.br', 'servidor': 'homologacao.nfe.fazenda.pr.gov.br',
@ -465,6 +480,7 @@ UFPR = {
WS_NFE_SITUACAO: 'nfe/NFeStatusServico3', WS_NFE_SITUACAO: 'nfe/NFeStatusServico3',
WS_NFE_CADASTRO: 'nfe/CadConsultaCadastro2', WS_NFE_CADASTRO: 'nfe/CadConsultaCadastro2',
WS_NFE_RECEPCAO_EVENTO: 'nfe-evento/NFeRecepcaoEvento', WS_NFE_RECEPCAO_EVENTO: 'nfe-evento/NFeRecepcaoEvento',
WS_NFE_CANCELAMENTO: 'nfe-evento/NFeRecepcaoEvento',
} }
} }

4
pytrustnfe/nfse/ginfes/templates/Rps.xml

@ -27,11 +27,11 @@
<ValorCsll>{{ rps.valor_csll }}</ValorCsll> <ValorCsll>{{ rps.valor_csll }}</ValorCsll>
<IssRetido>{{ rps.iss_retido }}</IssRetido> <IssRetido>{{ rps.iss_retido }}</IssRetido>
<ValorIss>{{ rps.valor_iss }}</ValorIss> <ValorIss>{{ rps.valor_iss }}</ValorIss>
<ValorIssRetido>{{ rps.valor_iss_retido }}</ValorIssRetido>
<OutrasRetencoes>{{ rps.outras_retencoes }}</OutrasRetencoes> <OutrasRetencoes>{{ rps.outras_retencoes }}</OutrasRetencoes>
<BaseCalculo>{{ rps.base_calculo }}</BaseCalculo> <BaseCalculo>{{ rps.base_calculo }}</BaseCalculo>
<Aliquota>{{ rps.aliquota }}</Aliquota>
<Aliquota>{{ rps.aliquota_issqn }}</Aliquota>
<ValorLiquidoNfse>{{ rps.valor_liquido_nfse }}</ValorLiquidoNfse> <ValorLiquidoNfse>{{ rps.valor_liquido_nfse }}</ValorLiquidoNfse>
<ValorIssRetido>{{ rps.valor_iss_retido }}</ValorIssRetido>
<DescontoIncondicionado>{{ rps.desconto_incondicionado }}</DescontoIncondicionado> <DescontoIncondicionado>{{ rps.desconto_incondicionado }}</DescontoIncondicionado>
<DescontoCondicionado>{{ rps.desconto_condicionado }}</DescontoCondicionado> <DescontoCondicionado>{{ rps.desconto_condicionado }}</DescontoCondicionado>
</Valores> </Valores>

17
pytrustnfe/nfse/simpliss/__init__.py

@ -19,13 +19,6 @@ def _render_xml(certificado, method, **kwargs):
xml_send = render_xml(path, '%s.xml' % method, True, **kwargs) xml_send = render_xml(path, '%s.xml' % method, True, **kwargs)
xml_send = etree.tostring(xml_send) xml_send = etree.tostring(xml_send)
# cert, key = extract_cert_and_key_from_pfx(
# certificado.pfx, certificado.password)
# cert, key = save_cert_key(cert, key)
#
# pfx_path = certificado.save_pfx()
# signer = Assinatura(pfx_path, certificado.password)
# xml_send = signer.assina_xml(xml_send, '')
return xml_send return xml_send
@ -114,3 +107,13 @@ def cancelar_nfse(certificado, **kwargs):
if "xml" not in kwargs: if "xml" not in kwargs:
kwargs['xml'] = xml_cancelar_nfse(certificado, **kwargs) kwargs['xml'] = xml_cancelar_nfse(certificado, **kwargs)
return _send('CancelarNfse', **kwargs) return _send('CancelarNfse', **kwargs)
def xml_gerar_nfse(certificado, **kwargs):
return _render_xml(certificado, 'GerarNfse', **kwargs)
def gerar_nfse(certificado, **kwargs):
if "xml" not in kwargs:
kwargs['xml'] = xml_recepcionar_lote_rps(certificado, **kwargs)
return _send('GerarNfse', **kwargs)

97
pytrustnfe/nfse/simpliss/templates/GerarNfse.xml

@ -0,0 +1,97 @@
<GerarNfse xmlns="http://www.sistema.com.br/Sistema.Ws.Nfse">
<GerarNovaNfseEnvio>
<Prestador xmlns="http://www.sistema.com.br/Nfse/arquivos/nfse_3.xsd">
<Cnpj>{{ nfse.cnpj_prestador }}</Cnpj>
<InscricaoMunicipal>{{ nfse.inscricao_municipal }}</InscricaoMunicipal>
</Prestador>
{% for rps in nfse.lista_rps -%}
<InformacaoNfse xmlns="http://www.sistema.com.br/Nfse/arquivos/nfse_3.xsd">
<NaturezaOperacao>{{ rps.natureza_operacao }}</NaturezaOperacao>
<RegimeEspecialTributacao>{{ rps.regime_tributacao }}</RegimeEspecialTributacao>
<OptanteSimplesNacional>{{ rps.optante_simples }}</OptanteSimplesNacional>
<IncentivadorCultural>{{ rps.incentivador_cultural }}</IncentivadorCultural>
<Status>{{ rps.status }}</Status>
<Competencia>{{ rps.data_emissao }}</Competencia>
<OutrasInformacoes>{{ rps.outras_informacoes }}</OutrasInformacoes>
<Servico>
<Valores>
<ValorServicos>{{ rps.valor_servico }}</ValorServicos>
<ValorDeducoes>{{ rps.valor_deducao }}</ValorDeducoes>
<ValorPis>{{ rps.valor_pis }}</ValorPis>
<ValorCofins>{{ rps.valor_cofins }}</ValorCofins>
<ValorInss>{{ rps.valor_inss }}</ValorInss>
<ValorIr>{{ rps.valor_ir }}</ValorIr>
<ValorCsll>{{ rps.valor_csll }}</ValorCsll>
<IssRetido>{{ rps.iss_retido }}</IssRetido>
<ValorIss>{{ rps.valor_iss }}</ValorIss>
<ValorIssRetido>{{ rps.valor_iss_retido }}</ValorIssRetido>
<OutrasRetencoes>{{ rps.outras_retencoes }}</OutrasRetencoes>
<BaseCalculo>{{ rps.base_calculo }}</BaseCalculo>
<Aliquota>{{ rps.aliquota_issqn }}</Aliquota>
<ValorLiquidoNfse>{{ rps.valor_liquido_nfse }}</ValorLiquidoNfse>
<DescontoIncondicionado>{{ rps.desconto_incondicionado }}</DescontoIncondicionado>
<DescontoCondicionado>{{ rps.desconto_condicionado }}</DescontoCondicionado>
</Valores>
<ItemListaServico>{{ rps.codigo_servico }}</ItemListaServico>
<CodigoCnae>{{ rps.cnae }}</CodigoCnae>
<CodigoTributacaoMunicipio>{{ rps.codigo_tributacao }}</CodigoTributacaoMunicipio>
<Discriminacao>{{ rps.descricao }}</Discriminacao>
<CodigoMunicipio>{{ rps.codigo_municipio }}</CodigoMunicipio>
{% for item in rps.itens_servico -%}
<ItensServico>
<Descricao>{{ item.descricao }}</Descricao>
<Quantidade>{{ item.quantidade }}</Quantidade>
<ValorUnitario>{{ item.valor_unitario }}</ValorUnitario>
</ItensServico>
{% endfor %}
</Servico>
<Tomador>
<IdentificacaoTomador>
<CpfCnpj>
{% if rps.tomador.cnpj_cpf|length == 14 %}
<Cnpj>{{ rps.tomador.cnpj_cpf }}</Cnpj>
{% endif %}
{% if rps.tomador.cnpj_cpf|length == 11 %}
<Cpf>{{ rps.tomador.cnpj_cpf }}</Cpf>
{% endif %}
</CpfCnpj>
<InscricaoMunicipal>{{ rps.tomador.inscricao_municipal }}</InscricaoMunicipal>
</IdentificacaoTomador>
<RazaoSocial>{{ rps.tomador.razao_social }}</RazaoSocial>
<Endereco>
<Endereco>{{ rps.tomador.logradouro }}</Endereco>
<Numero>{{ rps.tomador.numero }}</Numero>
<Complemento>{{ rps.tomador.complemento }}</Complemento>
<Bairro>{{ rps.tomador.bairro }}</Bairro>
<CodigoMunicipio>{{ rps.tomador.cidade }}</CodigoMunicipio>
<Uf>{{ rps.tomador.uf }}</Uf>
<Cep>{{ rps.tomador.cep }}</Cep>
</Endereco>
<Contato>
<Telefone>{{ rps.tomador.telefone }}</Telefone>
<Email>{{ rps.tomador.email }}</Email>
</Contato>
</Tomador>
{% if rps.intermediario is defined -%}
<IntermediarioServico>
<RazaoSocial>{{ rps.intermediario.razao_social }}</RazaoSocial>
<CpfCnpj>
<Cnpj>{{ rps.intermediario.cnpj }}</Cnpj>
</CpfCnpj>
<InscricaoMunicipal>{{ rps.intermediario.inscricao_municipal }}</InscricaoMunicipal>
</IntermediarioServico>
{% endif %}
{% if rps.construcao_civil is defined -%}
<ContrucaoCivil>
<CodigoObra>{{ rps.construcao_civil.codigo_obra }}</CodigoObra>
<Art>{{ rps.construcao_civil.art }}</Art>
</ContrucaoCivil>
{% endif %}
</InformacaoNfse>
{% endfor %}
</GerarNovaNfseEnvio>
<pParam>
<P1 xmlns="http://www.sistema.com.br/Sistema.Ws.Nfse.Cn">{{ nfse.cnpj_prestador }}</P1>
<P2 xmlns="http://www.sistema.com.br/Sistema.Ws.Nfse.Cn">{{ nfse.senha }}</P2>
</pParam>
</GerarNfse>

2
pytrustnfe/nfse/simpliss/templates/Rps.xml

@ -30,7 +30,7 @@
<ValorIssRetido>{{ rps.valor_iss_retido }}</ValorIssRetido> <ValorIssRetido>{{ rps.valor_iss_retido }}</ValorIssRetido>
<OutrasRetencoes>{{ rps.outras_retencoes }}</OutrasRetencoes> <OutrasRetencoes>{{ rps.outras_retencoes }}</OutrasRetencoes>
<BaseCalculo>{{ rps.base_calculo }}</BaseCalculo> <BaseCalculo>{{ rps.base_calculo }}</BaseCalculo>
<Aliquota>{{ rps.aliquota }}</Aliquota>
<Aliquota>{{ rps.aliquota_issqn }}</Aliquota>
<ValorLiquidoNfse>{{ rps.valor_liquido_nfse }}</ValorLiquidoNfse> <ValorLiquidoNfse>{{ rps.valor_liquido_nfse }}</ValorLiquidoNfse>
<DescontoIncondicionado>{{ rps.desconto_incondicionado }}</DescontoIncondicionado> <DescontoIncondicionado>{{ rps.desconto_incondicionado }}</DescontoIncondicionado>
<DescontoCondicionado>{{ rps.desconto_condicionado }}</DescontoCondicionado> <DescontoCondicionado>{{ rps.desconto_condicionado }}</DescontoCondicionado>

23
pytrustnfe/test/test_simpliss.py

@ -1,23 +0,0 @@
# -*- coding: utf-8 -*-
# © 2016 Danimar Ribeiro, Trustcode
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
import os.path
import unittest
from pytrustnfe.certificado import Certificado
from pytrustnfe.nfse.simpliss import recepcionar_lote_rps
class test_nfse_simpliss(unittest.TestCase):
caminho = os.path.dirname(__file__)
def test_recepcionar_lote(self):
pfx_source = open('/home/danimar/Downloads/machado.pfx', 'r').read()
pfx = Certificado(pfx_source, '123456789')
dados = {'cnpj_prestador': '12345678910234',
'inscricao_prestador': '123',
'protocolo': '123'}
response = recepcionar_lote_rps(
pfx, nfse=dados, ambiente='homologacao')
print response

23
pytrustnfe/test/test_susesu.py

@ -1,23 +0,0 @@
# -*- coding: utf-8 -*-
# © 2016 Danimar Ribeiro, Trustcode
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
import os.path
import unittest
from pytrustnfe.nfse.susesu import enviar_nota_retorna_url
class test_nfse_susesu(unittest.TestCase):
caminho = os.path.dirname(__file__)
def test_enviar_nota_url_nota(self):
dados = {
'cnpj_prestador': '21118045000135',
'codigo_prefeitura': 3150,
'senha_nfd': 'fiscalb',
'prestador': {},
'tomador': {}
}
response = enviar_nota_retorna_url(ambiente='homologacao', nfse=dados)
self.assertEqual(response['received_xml'],
'0-Numero da nota fiscal invalido.')

2
setup.py

@ -1,7 +1,7 @@
# coding=utf-8 # coding=utf-8
from setuptools import setup, find_packages from setuptools import setup, find_packages
VERSION = "0.1.32"
VERSION = "0.1.33"
setup( setup(
name="PyTrustNFe", name="PyTrustNFe",

Loading…
Cancel
Save