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 3779b60..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,8 +398,10 @@ class SerializacaoPipes(Serializacao): serial_data = [ '\nE', cliente.razao_social, + '2', # indIEDest cliente.inscricao_estadual, cliente.inscricao_suframa, + '', # IM cliente.email, '\nE02' if cliente.tipo_documento == 'CNPJ' else '\nE03', cliente.numero_documento, @@ -444,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', @@ -477,9 +481,17 @@ 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', - '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), @@ -489,16 +501,18 @@ class SerializacaoPipes(Serializacao): nota_fiscal.modelo, 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_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, + id_dest, # 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), @@ -529,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), @@ -541,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',