-
Notifications
You must be signed in to change notification settings - Fork 0
/
templates.py
228 lines (222 loc) · 12.5 KB
/
templates.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
gerar = '''
<GerarNfseEnvio xmlns="http://notacarioca.rio.gov.br/WSNacional/XSD/1/nfse_pcrj_v01.xsd">
<Rps>
<InfRps xmlns="http://www.abrasf.org.br/ABRASF/arquivos/nfse.xsd" Id="{{nfse.id}}">
<IdentificacaoRps>
<Numero>{{nfse.numero}}</Numero>
<Serie>{{nfse.serie}}</Serie>
<Tipo>{{nfse.tipo_rps}}</Tipo>
</IdentificacaoRps>
{% if nfse.rps_substituto %}
<RpsSubstituido>
<Numero>{{nfse.rps_substituido.numero}}</Numero>
<Serie>{{nfse.rps_substituido.serie}}</Serie>
<Tipo>{{nfse.rps_substituido.tipo_rps}}</Tipo>
</RpsSubstituido>
{% endif %}
<DataEmissao>{{nfse.data_emissao}}</DataEmissao>
<NaturezaOperacao>{{nfse.natureza_operacao}}</NaturezaOperacao>
<OptanteSimplesNacional>{{nfse.emissor.optante_simples_nacional}}</OptanteSimplesNacional>
<IncentivadorCultural>{{nfse.emissor.incentivador_cultural}}</IncentivadorCultural>
<Status>{{nfse.status}}</Status>
<Servico>
<Valores>
<ValorServicos>{{nfse.servico.valor.valor_servicos}}</ValorServicos>
<ValorDeducoes>{{nfse.servico.valor.valor_deducoes}}</ValorDeducoes>
<ValorPis>{{nfse.servico.valor.valor_pis}}</ValorPis>
<ValorCofins>{{nfse.servico.valor.valor_cofins}}</ValorCofins>
<ValorInss>{{nfse.servico.valor.valor_inss}}</ValorInss>
<ValorIr>{{nfse.servico.valor.valor_ir}}</ValorIr>
<ValorCsll>{{nfse.servico.valor.valor_csll}}</ValorCsll>
<IssRetido>{{nfse.servico.valor.iss_retido}}</IssRetido>
<ValorIss>{{nfse.servico.valor.valor_iss}}</ValorIss>
<ValorIssRetido> {{nfse.servico.valor.valor_iss_retido}}</ValorIssRetido>
<OutrasRetencoes>{{nfse.servico.valor.outras_retencoes}}</OutrasRetencoes>
<Aliquota>{{nfse.servico.valor.aliquota}}</Aliquota>
<DescontoIncondicionado>{{nfse.servico.valor.desconto_incondicionado}}</DescontoIncondicionado>
<DescontoCondicionado>{{nfse.servico.valor.desconto_condicionado}}</DescontoCondicionado>
</Valores>
<ItemListaServico>{{nfse.servico.item_lista_servicos}}</ItemListaServico>
<CodigoTributacaoMunicipio>{{nfse.servico.codigo_tributacao_municipio}}</CodigoTributacaoMunicipio>
<Discriminacao>{{nfse.servico.discriminacao}}</Discriminacao>
<CodigoMunicipio>{{nfse.servico.codigo_municipio}}</CodigoMunicipio>
</Servico>
<Prestador>
<Cnpj>{{nfse.emissor.cnpj}}</Cnpj>
<InscricaoMunicipal>{{nfse.emissor.inscricao_municipal}}</InscricaoMunicipal>
</Prestador>
<Tomador>
<IdentificacaoTomador>
{% if not nfse.cliente_estrangeiro %}
<CpfCnpj>
{% if nfse.pessoa_juridica %}
<Cnpj>{{nfse.tomador.cnpj}}</Cnpj>
{% else %}
<Cpf>{{nfse.tomador.cpf}}</Cpf>
{% endif %}
</CpfCnpj>
{% endif %}
</IdentificacaoTomador>
<RazaoSocial>{{nfse.tomador.razao_social}}</RazaoSocial>
<Endereco>
<Endereco>{{nfse.tomador.endereco.endereco}}</Endereco>
{% if nfse.tomador.endereco.numero %}
<Numero>{{nfse.tomador.endereco.numero}}</Numero>
{% endif %}
{% if nfse.tomador.endereco.complemento %}
<Complemento>{{nfse.tomador.endereco.complemento}}</Complemento>
{% endif %}
{% if nfse.tomador.endereco.bairro %}
<Bairro>{{nfse.tomador.endereco.bairro}}</Bairro>
{% endif %}
{% if nfse.tomador.endereco.codigo_municipio %}
<CodigoMunicipio>{{nfse.tomador.endereco.codigo_municipio}}</CodigoMunicipio>
{% endif %}
<Uf>{{nfse.tomador.endereco.uf}}</Uf>
{% if nfse.tomador.endereco.cep %}
<Cep>{{nfse.tomador.endereco.cep}}</Cep>
{% endif %}
</Endereco>
<Contato>
{% if nfse.tomador.telefone %}
<Telefone>{{nfse.tomador.telefone}}</Telefone>
{% endif %}
{% if nfse.tomador.email %}
<Email>{{nfse.tomador.email}}</Email>
{% endif %}
</Contato>
</Tomador>
</InfRps>
</Rps>
</GerarNfseEnvio>
'''
consultar = '''
<ConsultarNfseEnvio xmlns="http://www.abrasf.org.br/ABRASF/arquivos/nfse.xsd">
<Prestador>
<Cnpj>{{nfse.emissor.cnpj}}</Cnpj>
<InscricaoMunicipal>{{nfse.emissor.inscricao_municipal}}</InscricaoMunicipal>
</Prestador>
<PeriodoEmissao>
<DataInicial>{{nfse.data_inicial}}</DataInicial>
<DataFinal>{{nfse.data_final}}</DataFinal>
</PeriodoEmissao>
</ConsultarNfseEnvio>
'''
cancelar = '''
<CancelarNfseEnvio xmlns="http://www.abrasf.org.br/ABRASF/arquivos/nfse.xsd">
<Pedido>
<InfPedidoCancelamento Id="NFSe{{nfse.numero}}">
<IdentificacaoNfse>
<Numero>{{nfse.numero}}</Numero>
<Cnpj>{{nfse.emissor.cnpj}}</Cnpj>
<InscricaoMunicipal>{{nfse.emissor.inscricao_municipal}}</InscricaoMunicipal>
<CodigoMunicipio>{{nfse.servico.codigo_municipio}}</CodigoMunicipio>
</IdentificacaoNfse>
<CodigoCancelamento>{{nfse.codigo_cancelamento}}</CodigoCancelamento>
</InfPedidoCancelamento>
</Pedido>
</CancelarNfseEnvio>
'''
gerar_multiplos_rps = '''
<Rps>
<InfRps Id="{{nfse.id}}">
<IdentificacaoRps>
<Numero>{{nfse.numero}}</Numero>
<Serie>{{nfse.serie}}</Serie>
<Tipo>{{nfse.tipo_rps}}</Tipo>
</IdentificacaoRps>
{% if nfse.rps_substituto %}
<RpsSubstituido>
<Numero>{{nfse.rps_substituido.numero}}</Numero>
<Serie>{{nfse.rps_substituido.serie}}</Serie>
<Tipo>{{nfse.rps_substituido.tipo_rps}}</Tipo>
</RpsSubstituido>
{% endif %}
<DataEmissao>{{nfse.data_emissao}}</DataEmissao>
<NaturezaOperacao>{{nfse.natureza_operacao}}</NaturezaOperacao>
<OptanteSimplesNacional>{{nfse.emissor.optante_simples_nacional}}</OptanteSimplesNacional>
<IncentivadorCultural>{{nfse.emissor.incentivador_cultural}}</IncentivadorCultural>
<Status>{{nfse.status}}</Status>
<Servico>
<Valores>
<ValorServicos>{{nfse.servico.valor.valor_servicos}}</ValorServicos>
<ValorDeducoes>{{nfse.servico.valor.valor_deducoes}}</ValorDeducoes>
<ValorPis>{{nfse.servico.valor.valor_pis}}</ValorPis>
<ValorCofins>{{nfse.servico.valor.valor_cofins}}</ValorCofins>
<ValorInss>{{nfse.servico.valor.valor_inss}}</ValorInss>
<ValorIr>{{nfse.servico.valor.valor_ir}}</ValorIr>
<ValorCsll>{{nfse.servico.valor.valor_csll}}</ValorCsll>
<IssRetido>{{nfse.servico.valor.iss_retido}}</IssRetido>
<ValorIss>{{nfse.servico.valor.valor_iss}}</ValorIss>
<ValorIssRetido> {{nfse.servico.valor.valor_iss_retido}}</ValorIssRetido>
<OutrasRetencoes>{{nfse.servico.valor.outras_retencoes}}</OutrasRetencoes>
<Aliquota>{{nfse.servico.valor.aliquota}}</Aliquota>
<DescontoIncondicionado>{{nfse.servico.valor.desconto_incondicionado}}</DescontoIncondicionado>
<DescontoCondicionado>{{nfse.servico.valor.desconto_condicionado}}</DescontoCondicionado>
</Valores>
<ItemListaServico>{{nfse.servico.item_lista_servicos}}</ItemListaServico>
<CodigoTributacaoMunicipio>{{nfse.servico.codigo_tributacao_municipio}}</CodigoTributacaoMunicipio>
<Discriminacao>{{nfse.servico.discriminacao}}</Discriminacao>
<CodigoMunicipio>{{nfse.servico.codigo_municipio}}</CodigoMunicipio>
</Servico>
<Prestador>
<Cnpj>{{nfse.emissor.cnpj}}</Cnpj>
<InscricaoMunicipal>{{nfse.emissor.inscricao_municipal}}</InscricaoMunicipal>
</Prestador>
<Tomador>
<IdentificacaoTomador>
{% if not nfse.cliente_estrangeiro %}
<CpfCnpj>
{% if nfse.pessoa_juridica %}
<Cnpj>{{nfse.tomador.cnpj}}</Cnpj>
{% else %}
<Cpf>{{nfse.tomador.cpf}}</Cpf>
{% endif %}
</CpfCnpj>
{% endif %}
</IdentificacaoTomador>
<RazaoSocial>{{nfse.tomador.razao_social}}</RazaoSocial>
<Endereco>
<Endereco>{{nfse.tomador.endereco.endereco}}</Endereco>
{% if nfse.tomador.endereco.numero %}
<Numero>{{nfse.tomador.endereco.numero}}</Numero>
{% endif %}
{% if nfse.tomador.endereco.complemento %}
<Complemento>{{nfse.tomador.endereco.complemento}}</Complemento>
{% endif %}
{% if nfse.tomador.endereco.bairro %}
<Bairro>{{nfse.tomador.endereco.bairro}}</Bairro>
{% endif %}
{% if nfse.tomador.endereco.codigo_municipio %}
<CodigoMunicipio>{{nfse.tomador.endereco.codigo_municipio}}</CodigoMunicipio>
{% endif %}
<Uf>{{nfse.tomador.endereco.uf}}</Uf>
{% if nfse.tomador.endereco.cep %}
<Cep>{{nfse.tomador.endereco.cep}}</Cep>
{% endif %}
</Endereco>
<Contato>
{% if nfse.tomador.telefone %}
<Telefone>{{nfse.tomador.telefone}}</Telefone>
{% endif %}
{% if nfse.tomador.email %}
<Email>{{nfse.tomador.email}}</Email>
{% endif %}
</Contato>
</Tomador>
</InfRps>
</Rps>
'''
enviarlote = '''
<EnviarLoteRpsEnvio xmlns="http://www.abrasf.org.br/ABRASF/arquivos/nfse.xsd">
<LoteRps Id="{{lote_id}}">
<NumeroLote>{{numero_lote}}</NumeroLote>
<Cnpj>{{cnpj}}</Cnpj>
<InscricaoMunicipal>{{inscricao_municipal}}</InscricaoMunicipal>
<QuantidadeRps>{{len(rps_list)}}</QuantidadeRps>
<ListaRps>
{{rps_string}}
</ListaRps>
</LoteRps>
</EnviarLoteRpsEnvio>
'''