From 8d5371069e356b59d89e233f45ed75ec6c658da8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fl=C3=A1vyo=20Henrique?= Date: Thu, 13 Jun 2019 14:06:55 -0300 Subject: [PATCH] Adicionado o grupo 201 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adicionado a geração do grupo 201 e retirado o uso da variável icms_csosn que estava sendo usada apenas em 1 pontos e suscetiva a mas interpretações sobre o seu uso. --- pynfe/processamento/serializacao.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/pynfe/processamento/serializacao.py b/pynfe/processamento/serializacao.py index c87074a..0208f43 100644 --- a/pynfe/processamento/serializacao.py +++ b/pynfe/processamento/serializacao.py @@ -264,8 +264,7 @@ class SerializacaoXML(Serializacao): ### ICMS icms = etree.SubElement(imposto, 'ICMS') - icms_csosn = ('102', '103', '300', '400') - if produto_servico.icms_modalidade in icms_csosn: + if produto_servico.icms_modalidade in ('102', '103', '300', '400'): icms_item = etree.SubElement(icms, 'ICMSSN102') etree.SubElement(icms_item, 'orig').text = str(produto_servico.icms_origem) etree.SubElement(icms_item, 'CSOSN').text = produto_servico.icms_csosn @@ -275,6 +274,20 @@ class SerializacaoXML(Serializacao): etree.SubElement(icms_item, 'CSOSN').text = produto_servico.icms_csosn etree.SubElement(icms_item, 'pCredSN').text = str(produto_servico.icms_aliquota) # Alíquota aplicável de cálculo do crédito (Simples Nacional). etree.SubElement(icms_item, 'vCredICMSSN').text = str(produto_servico.icms_credito) # Valor crédito do ICMS que pode ser aproveitado nos termos do art. 23 da LC 123 (Simples Nacional) + elif produto_servico.icms_modalidade == '201': + icms_item = etree.SubElement(icms, 'ICMSSN' + produto_servico.icms_modalidade) + etree.SubElement(icms_item, 'orig').text = str(produto_servico.icms_origem) # Origem da mercadoria + etree.SubElement(icms_item, 'CSOSN').text = produto_servico.icms_csosn # Código de Situação da Operação – Simples Nacional + etree.SubElement(icms_item, 'modBCST').text = str(produto_servico.icms_st_modalidade_determinacao_bc) # Modalidade de determinação da BC do ICMS ST + if produto_servico.icms_st_percentual_adicional > 0: + etree.SubElement(icms_item, 'pMVAST').text = '{:.4f}'.format(produto_servico.icms_st_percentual_adicional) # Percentual da margem de valor Adicionado do ICMS ST + if produto_servico.icms_st_percentual_reducao_bc > 0: + etree.SubElement(icms_item, 'pRedBCST').text = '{:.4f}'.format(produto_servico.icms_st_percentual_reducao_bc) # APercentual da Redução de BC do ICMS ST + etree.SubElement(icms_item, 'vBCST').text = '{:.2f}'.format(produto_servico.icms_st_valor_base_calculo) # Valor da BC do ICMS ST + etree.SubElement(icms_item, 'pICMSST').text = '{:.4f}'.format(produto_servico.icms_st_aliquota) # Alíquota do imposto do ICMS ST + etree.SubElement(icms_item, 'vICMSST').text = '{:.2f}'.format(produto_servico.icms_st_valor) # Valor do ICMS ST + etree.SubElement(icms_item, 'pCredSN').text = '{:.4f}'.format(produto_servico.icms_aliquota) # Alíquota aplicável de cálculo do crédito (Simples Nacional). + etree.SubElement(icms_item, 'vCredICMSSN').text = '{:.2f}'.format(produto_servico.icms_credito) # Valor crédito do ICMS que pode ser aproveitado nos termos do art. 23 da LC 123 (Simples Nacional) elif produto_servico.icms_modalidade == 'ST': icms_item = etree.SubElement(icms, 'ICMS'+produto_servico.icms_modalidade) etree.SubElement(icms_item, 'orig').text = str(produto_servico.icms_origem)