Browse Source

Merge pull request #1 from loggi/frp-better-templates-for-nfse-paulistana-py3

Copy template from py2 version, fix setup.py
pull/263/head
Felipe Prenholato 8 years ago
committed by GitHub
parent
commit
d4fdda4dab
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 29
      pytrustnfe/nfse/paulistana/templates/EnvioLoteRPS.xml
  2. 80
      pytrustnfe/nfse/paulistana/templates/EnvioRPS.xml
  3. 6
      setup.py

29
pytrustnfe/nfse/paulistana/templates/EnvioLoteRPS.xml

@ -32,28 +32,43 @@
<CodigoServico>{{ rps.codigo_atividade }}</CodigoServico>
<AliquotaServicos>{{ rps.aliquota_atividade }}</AliquotaServicos>
<ISSRetido>{{ rps.iss_retido | default('false') }}</ISSRetido>
{% if rps.tomador.tipo_cpfcnpj != 3 %}
<CPFCNPJTomador>
{% if rps.tomador.tipo_cpfcnpj == 1 -%}
<CPF>{{ rps.tomador.cpf_cnpj }}</CPF>
{% endif %}
{% if rps.tomador.tipo_cpfcnpj == 2 -%}
<CNPJ>{{ rps.tomador.cpf_cnpj }}</CNPJ>
{% endif %}
{% if rps.tomador.tipo_cpfcnpj == 1 -%}
<CPF>{{ rps.tomador.cpf_cnpj }}</CPF>
{% endif %}
{% if rps.tomador.tipo_cpfcnpj == 2 -%}
<CNPJ>{{ rps.tomador.cpf_cnpj }}</CNPJ>
{% endif %}
</CPFCNPJTomador>
{% endif %}
{% if rps.tomador.inscricao_municipal -%}
<InscricaoMunicipalTomador>{{ rps.tomador.inscricao_municipal }}</InscricaoMunicipalTomador>
{% endif %}
<RazaoSocialTomador>{{ rps.tomador.razao_social|normalize|escape }}</RazaoSocialTomador>
{% if rps.tomador.cidade %}
<EnderecoTomador>
{% if rps.tomador.tipo_logradouro %}
<TipoLogradouro>{{ rps.tomador.tipo_logradouro }}</TipoLogradouro>
{% endif %}
{% if rps.tomador.logradouro %}
<Logradouro>{{ rps.tomador.logradouro|normalize|escape }}</Logradouro>
{% endif %}
{% if rps.tomador.numero %}
<NumeroEndereco>{{ rps.tomador.numero }}</NumeroEndereco>
{% endif %}
{% if rps.tomador.complemento %}
<ComplementoEndereco>{{ rps.tomador.complemento|normalize|escape }}</ComplementoEndereco>
{% endif %}
{% if rps.tomador.bairro %}
<Bairro>{{ rps.tomador.bairro }}</Bairro>
{% endif %}
<Cidade>{{ rps.tomador.cidade }}</Cidade>
<UF>{{ rps.tomador.uf }}</UF>
<CEP>{{ rps.tomador.cep }}</CEP>
{% if rps.tomador.cep %}<CEP>{{ rps.tomador.cep }}</CEP>{% endif %}
</EnderecoTomador>
{% endif %}
{% if rps.tomador.email %}<EmailTomador>{{ rps.tomador.email }}</EmailTomador>{% endif %}
<Discriminacao>{{ rps.descricao|normalize|escape }}</Discriminacao>
</RPS>
{% endfor %}

80
pytrustnfe/nfse/paulistana/templates/EnvioRPS.xml

@ -6,46 +6,64 @@
</Cabecalho>
{% for rps in nfse.lista_rps -%}
<RPS xmlns="">
<Assinatura>{{ rps.assinatura }}</Assinatura>
<Assinatura>{{ rps.assinatura }}</Assinatura>
<ChaveRPS>
<InscricaoPrestador>{{ rps.prestador.inscricao_municipal }}</InscricaoPrestador>
<SerieRPS>{{ rps.serie }}</SerieRPS>
<NumeroRPS>{{ rps.numero }}</NumeroRPS>
<InscricaoPrestador>{{ rps.prestador.inscricao_municipal }}</InscricaoPrestador>
<SerieRPS>{{ rps.serie }}</SerieRPS>
<NumeroRPS>{{ rps.numero }}</NumeroRPS>
</ChaveRPS>
<TipoRPS>RPS-M</TipoRPS>
<TipoRPS>{{ rps.tipo_rps | default('RPS') }}</TipoRPS>
<DataEmissao>{{ rps.data_emissao }}</DataEmissao>
<StatusRPS>N</StatusRPS>
<TributacaoRPS>T</TributacaoRPS>
<ValorServicos>{{ nfse.total_servicos }}</ValorServicos>
<ValorDeducoes>{{ nfse.total_deducoes }}</ValorDeducoes>
<ValorPIS>{{ rps.valor_pis }}</ValorPIS>
<ValorCOFINS>{{ rps.valor_cofins }}</ValorCOFINS>
<ValorINSS>{{ rps.valor_inss }}</ValorINSS>
<ValorIR>{{ rps.valor_pis }}</ValorIR>
<ValorCSLL>{{ rps.valor_csll }}</ValorCSLL>
<TributacaoRPS>{{ rps.tributacao_rps | default('T') }}</TributacaoRPS>
<ValorServicos>{{ rps.valor_servico }}</ValorServicos>
<ValorDeducoes>{{ rps.valor_deducao }}</ValorDeducoes>
<ValorPIS>{{ rps.valor_pis | default('0.00') }}</ValorPIS>
<ValorCOFINS>{{ rps.valor_cofins | default('0.00') }}</ValorCOFINS>
<ValorINSS>{{ rps.valor_inss | default('0.00') }}</ValorINSS>
<ValorIR>{{ rps.valor_ir | default('0.00') }}</ValorIR>
<ValorCSLL>{{ rps.valor_csll | default('0.00') }}</ValorCSLL>
<CodigoServico>{{ rps.codigo_atividade }}</CodigoServico>
<AliquotaServicos>{{ rps.aliquota_atividade }}</AliquotaServicos>
<ISSRetido>false</ISSRetido>
<ISSRetido>{{ rps.iss_retido | default('false') }}</ISSRetido>
{% if rps.tomador.tipo_cpfcnpj != 3 %}
<CPFCNPJTomador>
{% if rps.tomador.tipo_cpfcnpj == 1 -%}
<CPF>{{ rps.tomador.cpf_cnpj }}</CPF>
{% endif %}
{% if rps.tomador.tipo_cpfcnpj == 2 -%}
<CNPJ>{{ rps.tomador.cpf_cnpj }}</CNPJ>
{% endif %}
{% if rps.tomador.tipo_cpfcnpj == 1 -%}
<CPF>{{ rps.tomador.cpf_cnpj }}</CPF>
{% endif %}
{% if rps.tomador.tipo_cpfcnpj == 2 -%}
<CNPJ>{{ rps.tomador.cpf_cnpj }}</CNPJ>
{% endif %}
</CPFCNPJTomador>
<RazaoSocialTomador>{{ rps.tomador.razao_social }}</RazaoSocialTomador>
{% endif %}
{% if rps.tomador.inscricao_municipal -%}
<InscricaoMunicipalTomador>{{ rps.tomador.inscricao_municipal }}</InscricaoMunicipalTomador>
{% endif %}
<RazaoSocialTomador>{{ rps.tomador.razao_social|normalize|escape }}</RazaoSocialTomador>
{% if rps.tomador.cidade %}
<EnderecoTomador>
<TipoLogradouro>{{ rps.tomador.tipo_logradouro }}</TipoLogradouro>
<Logradouro>{{ rps.tomador.logradouro }}</Logradouro>
<NumeroEndereco>{{ rps.tomador.numero }}</NumeroEndereco>
<ComplementoEndereco>{{ rps.tomador.complemento }}</ComplementoEndereco>
<Bairro>{{ rps.tomador.bairro }}</Bairro>
<Cidade>{{ rps.tomador.cidade }}</Cidade>
<UF>{{ rps.tomador.uf }}</UF>
<CEP>{{ rps.tomador.cep }}</CEP>
{% if rps.tomador.tipo_logradouro %}
<TipoLogradouro>{{ rps.tomador.tipo_logradouro }}</TipoLogradouro>
{% endif %}
{% if rps.tomador.logradouro %}
<Logradouro>{{ rps.tomador.logradouro|normalize|escape }}</Logradouro>
{% endif %}
{% if rps.tomador.numero %}
<NumeroEndereco>{{ rps.tomador.numero }}</NumeroEndereco>
{% endif %}
{% if rps.tomador.complemento %}
<ComplementoEndereco>{{ rps.tomador.complemento|normalize|escape }}</ComplementoEndereco>
{% endif %}
{% if rps.tomador.bairro %}
<Bairro>{{ rps.tomador.bairro }}</Bairro>
{% endif %}
<Cidade>{{ rps.tomador.cidade }}</Cidade>
<UF>{{ rps.tomador.uf }}</UF>
{% if rps.tomador.cep %}<CEP>{{ rps.tomador.cep }}</CEP>{% endif %}
</EnderecoTomador>
<Discriminacao>{{ rps.descricao }}</Discriminacao>
{% endfor %}
{% endif %}
{% if rps.tomador.email %}<EmailTomador>{{ rps.tomador.email }}</EmailTomador>{% endif %}
<Discriminacao>{{ rps.descricao|normalize|escape }}</Discriminacao>
</RPS>
{% endfor %}
</PedidoEnvioRPS>

6
setup.py

@ -2,11 +2,11 @@
from setuptools import setup, find_packages
VERSION = "0.9.18"
VERSION = "0.9.18.post2"
setup(
name="PyTrustNFe3",
name="pytrustnfe3",
version=VERSION,
author="Danimar Ribeiro",
author_email='danimaribeiro@gmail.com',
@ -44,6 +44,8 @@ later (LGPLv2+)',
description='PyTrustNFe é uma biblioteca para envio de NF-e',
long_description=open('README.md', 'r').read(),
install_requires=[
'urllib3',
'xmlsec==1.3.3', # apt update;apt install libxmlsec1-dev pkg-config -y
'Jinja2 >= 2.8',
'pyOpenSSL >= 16.0.0, < 18',
'signxml >= 2.4.0',

Loading…
Cancel
Save