diff --git a/pynfe/processamento/serializacao.py b/pynfe/processamento/serializacao.py index 077bbb2..4265992 100644 --- a/pynfe/processamento/serializacao.py +++ b/pynfe/processamento/serializacao.py @@ -324,13 +324,23 @@ class SerializacaoXML(Serializacao): # Impostos não implementados else: raise NotImplementedError - # ipi - # ipi = etree.SubElement(imposto, 'IPI') - # etree.SubElement(ipi, 'clEnq') = produto_servico.ipi_classe_enquadramento # Preenchimento conforme Atos Normativos editados pela Receita Federal (Observação 2) - # ipint = etree.SubElement(ipi, 'IPINT') - # # 01=Entrada tributada com alíquota zero 02=Entrada isenta 03=Entrada não-tributada 04=Entrada imune 05=Entrada com suspensão - # # 51=Saída tributada com alíquota zero 52=Saída isenta 53=Saída não-tributada 54=Saída imune 55=Saída com suspensão - # etree.SubElement(ipint, 'CST') = produto_servico.ipi_codigo_enquadramento + + # IPI + if produto_servico.ipi_classe_enquadramento: + ipi = etree.SubElement(imposto, 'IPI') + etree.SubElement(ipi, 'clEnq').text = produto_servico.ipi_classe_enquadramento # Preenchimento conforme Atos Normativos editados pela Receita Federal (Observação 2) + if produto_servico.ipi_situacao_tributaria: + ipitrib = etree.SubElement(ipi, 'IPITrib') + etree.SubElement(ipitrib, 'CST').text = produto_servico.ipi_situacao_tributaria + etree.SubElement(ipitrib, 'vBC').text = '{:.2f}'.format(produto_servico.ipi_valor_base_calculo or 0) + etree.SubElement(ipitrib, 'pIPI').text = '{:.2f}'.format(produto_servico.ipi_aliquota or 0) + etree.SubElement(ipitrib, 'vIPI').text = '{:.2f}'.format(produto_servico.ipi_valor_ipi or 0) + + #if produto_servico.ipi_codigo_enquadramento: + # ipint = etree.SubElement(ipi, 'IPINT') + # # # 01=Entrada tributada com alíquota zero 02=Entrada isenta 03=Entrada não-tributada 04=Entrada imune 05=Entrada com suspensão + # # # 51=Saída tributada com alíquota zero 52=Saída isenta 53=Saída não-tributada 54=Saída imune 55=Saída com suspensão + # etree.SubElement(ipint, 'CST') = produto_servico.ipi_codigo_enquadramento # apenas nfe if modelo == 55: