diff --git a/pytrustnfe/nfe/__init__.py b/pytrustnfe/nfe/__init__.py index ec1de27..7cd5a6a 100644 --- a/pytrustnfe/nfe/__init__.py +++ b/pytrustnfe/nfe/__init__.py @@ -19,10 +19,10 @@ from pytrustnfe.exceptions import NFeValidationException def _build_header(method, **kwargs): action = { - 'NfeAutorizacao': ('NfeAutorizacao', '3.10', 'NfeAutorizacao/nfeAutorizacaoLote'), - 'NfeRetAutorizacao': ('NfeRetAutorizacao', '3.10', 'NfeRetAutorizacao/nfeRetAutorizacaoLote'), + 'NfeAutorizacao': ('NfeAutorizacao', '4.00', 'NfeAutorizacao/nfeAutorizacaoLote'), + 'NfeRetAutorizacao': ('NfeRetAutorizacao', '4.00', 'NfeRetAutorizacao/nfeRetAutorizacaoLote'), 'NfeConsultaCadastro': ('CadConsultaCadastro2', '2.00', 'CadConsultaCadastro2/consultaCadastro2'), - 'NfeInutilizacao': ('NfeInutilizacao2', '3.10', 'NfeInutilizacao2/nfeInutilizacaoNF2'), + 'NfeInutilizacao': ('NfeInutilizacao2', '4.00', 'NfeInutilizacao2/nfeInutilizacaoNF2'), 'RecepcaoEventoCancelamento': ('RecepcaoEvento', '1.00', 'RecepcaoEvento/nfeRecepcaoEvento'), 'RecepcaoEventoCarta': ('RecepcaoEvento', '1.00', 'RecepcaoEvento/nfeRecepcaoEvento'), 'NFeDistribuicaoDFe': ('NFeDistribuicaoDFe/nfeDistDFeInteresse', '1.00', 'NFeDistribuicaoDFe/nfeDistDFeInteresse'), @@ -130,6 +130,27 @@ def _render(certificado, method, sign, **kwargs): modelo = xmlElem_send.find(".//{http://www.portalfiscal.inf.br/nfe}mod") modelo = modelo.text if modelo is not None else '55' + + if 'NFes' in kwargs and modelo == '55': + pagamento = etree.Element('pag') + detpag = etree.Element('detPag') + tipo_pagamento = etree.Element('tPag') + valor = etree.Element('vPag') + valor_pago = kwargs['NFes'][0]['infNFe']['pag']['detPag']['vPag'] + metodo_pagamento = kwargs['NFes'][0]['infNFe']['pag']['detPag'] + tipo_pagamento.text, valor.text = metodo_pagamento['tPag'], valor_pago + detpag.append(tipo_pagamento) + detpag.append(valor) + pagamento.append(detpag) + if xmlElem_send.find(".//{http://www.portalfiscal.inf.br/nfe}cobr"): + transp = xmlElem_send.find( + ".//{http://www.portalfiscal.inf.br/nfe}cobr") + else: + transp = xmlElem_send.find( + ".//{http://www.portalfiscal.inf.br/nfe}transp") + + transp.addnext(pagamento) + if modelo == '65': pagamento = etree.Element('pag') tipo_pagamento = etree.Element('tPag') diff --git a/pytrustnfe/nfe/templates/NfeInutilizacao.xml b/pytrustnfe/nfe/templates/NfeInutilizacao.xml index d495f82..d8a7739 100644 --- a/pytrustnfe/nfe/templates/NfeInutilizacao.xml +++ b/pytrustnfe/nfe/templates/NfeInutilizacao.xml @@ -1,4 +1,4 @@ - + {{ obj.ambiente }} INUTILIZAR diff --git a/pytrustnfe/nfe/templates/NfeRetAutorizacao.xml b/pytrustnfe/nfe/templates/NfeRetAutorizacao.xml index 7eb4729..c2f07f1 100644 --- a/pytrustnfe/nfe/templates/NfeRetAutorizacao.xml +++ b/pytrustnfe/nfe/templates/NfeRetAutorizacao.xml @@ -1,4 +1,4 @@ - + {{ obj.ambiente }} {{ obj.numero_recibo }} diff --git a/pytrustnfe/nfe/templates/NfeStatusServico.xml b/pytrustnfe/nfe/templates/NfeStatusServico.xml index 1d41a30..851b101 100644 --- a/pytrustnfe/nfe/templates/NfeStatusServico.xml +++ b/pytrustnfe/nfe/templates/NfeStatusServico.xml @@ -1,5 +1,5 @@ - + {{ obj.ambiente }} {{ obj.estado }} STATUS