From f4c6c69d03c9e8fd867eaebe53c24c3e154ea5d4 Mon Sep 17 00:00:00 2001 From: Ervilis Souza Date: Tue, 7 Apr 2015 16:20:12 -0300 Subject: [PATCH 1/6] Update version --- pynfe/processamento/serializacao.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pynfe/processamento/serializacao.py b/pynfe/processamento/serializacao.py index 3779b60..7e317e4 100644 --- a/pynfe/processamento/serializacao.py +++ b/pynfe/processamento/serializacao.py @@ -479,7 +479,7 @@ class SerializacaoPipes(Serializacao): serial_data = [ 'A', - '2.00', # Versão da NFe | notasfiscal.modelo está em int() + '3.10', nota_fiscal.identificador_unico, '\nB', CODIGOS_ESTADOS.get(nota_fiscal.uf, nota_fiscal.uf), From 4cdc26635b0502f176e5800a68f6f2ebc913b72a Mon Sep 17 00:00:00 2001 From: Ervilis Souza Date: Tue, 7 Apr 2015 16:20:46 -0300 Subject: [PATCH 2/6] change data_saida_entrada --- pynfe/entidades/notafiscal.py | 3 --- pynfe/processamento/serializacao.py | 3 +-- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/pynfe/entidades/notafiscal.py b/pynfe/entidades/notafiscal.py index 0402ec5..ad12331 100644 --- a/pynfe/entidades/notafiscal.py +++ b/pynfe/entidades/notafiscal.py @@ -55,9 +55,6 @@ class NotaFiscal(Entidade): # - Data de saida/entrada data_saida_entrada = None - # - Hora de saida/entrada - hora_saida_entrada = None - # - Forma de pagamento (obrigatorio - seleciona de lista) - NF_FORMAS_PAGAMENTO forma_pagamento = int() diff --git a/pynfe/processamento/serializacao.py b/pynfe/processamento/serializacao.py index 7e317e4..55b4325 100644 --- a/pynfe/processamento/serializacao.py +++ b/pynfe/processamento/serializacao.py @@ -490,8 +490,7 @@ class SerializacaoPipes(Serializacao): nota_fiscal.serie, nota_fiscal.numero_nf, nota_fiscal.data_emissao.strftime('%Y-%m-%d'), - nota_fiscal.data_saida_entrada.strftime('%Y-%m-%d'), - nota_fiscal.hora_saida_entrada.strftime('%H:%M:%S'), + nota_fiscal.data_saida_entrada.strftime('%Y-%m-%dT%H:%M:%S'), nota_fiscal.tipo_documento, cod_municipio, nota_fiscal.tipo_impressao_danfe, From cffe8923a45aac03ffc17b5b2c6baec3d7dce44a Mon Sep 17 00:00:00 2001 From: Ervilis Souza Date: Tue, 7 Apr 2015 16:38:25 -0300 Subject: [PATCH 3/6] Change data_emissao --- pynfe/processamento/serializacao.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pynfe/processamento/serializacao.py b/pynfe/processamento/serializacao.py index 55b4325..b2c3ebf 100644 --- a/pynfe/processamento/serializacao.py +++ b/pynfe/processamento/serializacao.py @@ -489,7 +489,7 @@ class SerializacaoPipes(Serializacao): nota_fiscal.modelo, nota_fiscal.serie, nota_fiscal.numero_nf, - nota_fiscal.data_emissao.strftime('%Y-%m-%d'), + nota_fiscal.data_emissao.strftime('%Y-%m-%dT%H:%M:%S'), nota_fiscal.data_saida_entrada.strftime('%Y-%m-%dT%H:%M:%S'), nota_fiscal.tipo_documento, cod_municipio, From 1f42b29f7f7ddedf9a619814503ba8b7eb38d756 Mon Sep 17 00:00:00 2001 From: Ervilis Souza Date: Tue, 7 Apr 2015 16:38:49 -0300 Subject: [PATCH 4/6] Adding new fields for line B --- pynfe/processamento/serializacao.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pynfe/processamento/serializacao.py b/pynfe/processamento/serializacao.py index b2c3ebf..9498776 100644 --- a/pynfe/processamento/serializacao.py +++ b/pynfe/processamento/serializacao.py @@ -492,12 +492,15 @@ class SerializacaoPipes(Serializacao): nota_fiscal.data_emissao.strftime('%Y-%m-%dT%H:%M:%S'), nota_fiscal.data_saida_entrada.strftime('%Y-%m-%dT%H:%M:%S'), nota_fiscal.tipo_documento, + '', # idDest cod_municipio, nota_fiscal.tipo_impressao_danfe, nota_fiscal.forma_emissao, nota_fiscal.dv_codigo_numerico_aleatorio, self._ambiente, nota_fiscal.finalidade_emissao, + '', # indFinal + '', # indPres nota_fiscal.processo_emissao, '%s %s' % (self._nome_aplicacao, nota_fiscal.versao_processo_emissao), From 57b2b66390821bc0fd8baa0ea5c2612a3ca9566d Mon Sep 17 00:00:00 2001 From: Ervilis Souza Date: Tue, 7 Apr 2015 17:17:54 -0300 Subject: [PATCH 5/6] New fields for line E --- pynfe/processamento/serializacao.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pynfe/processamento/serializacao.py b/pynfe/processamento/serializacao.py index 9498776..d270da8 100644 --- a/pynfe/processamento/serializacao.py +++ b/pynfe/processamento/serializacao.py @@ -397,8 +397,10 @@ class SerializacaoPipes(Serializacao): serial_data = [ '\nE', cliente.razao_social, + '', # indIEDest cliente.inscricao_estadual, cliente.inscricao_suframa, + '', # IM cliente.email, '\nE02' if cliente.tipo_documento == 'CNPJ' else '\nE03', cliente.numero_documento, From 1b1c615686addbe4987bece3a85a0cfc0aa9f345 Mon Sep 17 00:00:00 2001 From: Ervilis Souza Date: Tue, 7 Apr 2015 19:09:54 -0300 Subject: [PATCH 6/6] Setting new required fields --- pynfe/processamento/serializacao.py | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/pynfe/processamento/serializacao.py b/pynfe/processamento/serializacao.py index d270da8..f25f75a 100644 --- a/pynfe/processamento/serializacao.py +++ b/pynfe/processamento/serializacao.py @@ -1,4 +1,5 @@ # -*- coding: utf-8 -*- +import time try: set except: @@ -397,7 +398,7 @@ class SerializacaoPipes(Serializacao): serial_data = [ '\nE', cliente.razao_social, - '', # indIEDest + '2', # indIEDest cliente.inscricao_estadual, cliente.inscricao_suframa, '', # IM @@ -446,6 +447,7 @@ class SerializacaoPipes(Serializacao): produto_servico.compoe_valor_total, produto_servico.numero_pedido, produto_servico.numero_do_item, + '', # nFCI '\nM', #IMPOSTOS '\nN', #ICMS '\nN06', @@ -479,6 +481,14 @@ class SerializacaoPipes(Serializacao): nota_fiscal.uf ) + if nota_fiscal.emitente.endereco_uf == nota_fiscal.cliente.endereco_uf: + id_dest = '1' + else: + id_dest = '2' + + tz = time.strftime("%z") + tz = "{}:{}".format(tz[:-2], tz[-2:]) + serial_data = [ 'A', '3.10', @@ -491,10 +501,10 @@ class SerializacaoPipes(Serializacao): nota_fiscal.modelo, nota_fiscal.serie, nota_fiscal.numero_nf, - nota_fiscal.data_emissao.strftime('%Y-%m-%dT%H:%M:%S'), - nota_fiscal.data_saida_entrada.strftime('%Y-%m-%dT%H:%M:%S'), + nota_fiscal.data_emissao.strftime('%Y-%m-%dT%H:%M:%S') + tz, + nota_fiscal.data_saida_entrada.strftime('%Y-%m-%dT%H:%M:%S') + tz, nota_fiscal.tipo_documento, - '', # idDest + id_dest, # idDest cod_municipio, nota_fiscal.tipo_impressao_danfe, nota_fiscal.forma_emissao, @@ -533,6 +543,7 @@ class SerializacaoPipes(Serializacao): '\nW02', formatar_decimal(nota_fiscal.totais_icms_base_calculo), formatar_decimal(nota_fiscal.totais_icms_total), + '', # ICMSDeson formatar_decimal(nota_fiscal.totais_icms_st_base_calculo), formatar_decimal(nota_fiscal.totais_icms_st_total), formatar_decimal(nota_fiscal.totais_icms_total_produtos_e_servicos), @@ -545,6 +556,7 @@ class SerializacaoPipes(Serializacao): formatar_decimal(nota_fiscal.totais_icms_cofins), formatar_decimal(nota_fiscal.totais_icms_outras_despesas_acessorias), formatar_decimal(nota_fiscal.totais_icms_total_nota), + '', # vTotTrib '\nX', nota_fiscal.transporte_modalidade_frete, '\nZ',