diff --git a/test.py b/test.py index 520c04f..dcdab38 100644 --- a/test.py +++ b/test.py @@ -1,6 +1,7 @@ #!/usr/bin/env python # *-* encoding: utf8 *-* + from decimal import Decimal from pynfe.entidades.cliente import Cliente @@ -9,6 +10,7 @@ from pynfe.entidades.notafiscal import NotaFiscal, NotaFiscalProduto from pynfe.entidades.fonte_dados import _fonte_dados from pynfe.processamento.serializacao import SerializacaoPipes from pynfe.utils.flags import CODIGO_BRASIL +import datetime serializador = SerializacaoPipes(_fonte_dados, homologacao=True) @@ -27,7 +29,7 @@ emitente = Emitente( endereco_pais=CODIGO_BRASIL, ) -print serializador._serializar_emitente(emitente) +#print serializador._serializar_emitente(emitente) cliente = Cliente( razao_social='MARIANA CARVALHO SILVA', @@ -44,9 +46,9 @@ cliente = Cliente( endereco_pais=CODIGO_BRASIL, endereco_telefone='11912341234', ) -print serializador._serializar_cliente(cliente) +#print serializador._serializar_cliente(cliente) -produto = NotaFiscalProduto( +produto = dict( codigo='000328', # id do produto (000328 era o id no antigo sistemas de assinatura) descricao='Assinatura Rolling Stone', ncm='49029000', # categoria international do prod (sempre esse para assinaturas) @@ -60,10 +62,65 @@ produto = NotaFiscalProduto( valor_unitario_tributavel=Decimal('9.75'), numero_pedido='12345', # id da ordem numero_do_item='12345328', # id do item (pode ser o id do produto concatenado com o do pedido) + icms_origem=0, + icms_modalidade_determinacao_bc=41, + pis_tipo_calculo='01', + pis_valor_base_calculo=Decimal('117.00'), + pis_aliquota_percentual=Decimal('0.65'), + pis_valor=Decimal('0.76'), + cofins_situacao_tributaria='01', + cofins_valor_base_calculo=Decimal('117.00'), + cofins_aliquota_percentual=Decimal('3.00'), + cofins_valor=Decimal('3.51') ) -print serializador._serializar_produto_servico(produto) +#print serializador._serializar_produto_servico(produto) -#nota_fiscal = NotaFiscal( -# emitente=emitente, -# cliente=cliente, -#) +nota_fiscal = NotaFiscal( + emitente=emitente, + cliente=cliente, + uf='SP', + codigo_numerico_aleatorio='66998237', + natureza_operacao='VENDA ASSINATURAS', + forma_pagamento='1', + modelo=55, + serie='2', + numero_nf='1138', + data_emissao=datetime.date(2012,03,06), + data_saida_entrada=datetime.date(2012,03,06), + hora_saida_entrada=datetime.time(03,12,00), + tipo_documento=1, + municipio='SAO PAULO', + tipo_impressao_danfe=1, + forma_emissao='1', + #dv_codigo_numerico_aleatorio=, ? + finalidade_emissao='1', + processo_emissao='3', + transporte_modalidade_frete=0, + informacoes_adicionais_interesse_fisco='NF-e emitida de acordo com os termos do Convenio ICMS 24/2011. Assinatura Numero 8061746' +) +nota_fiscal.adicionar_produto_servico(codigo='000328', # id do produto (000328 era o id no antigo sistemas de assinatura) + descricao='Assinatura Rolling Stone', + ncm='49029000', # categoria international do prod (sempre esse para assinaturas) + cfop='6922', + unidade_comercial='UN', + quantidade_comercial=Decimal('12'), # 12 unidades (12 revistas) + valor_unitario_comercial=Decimal('9.75'), + valor_total_bruto=Decimal('117.00'), + unidade_tributavel='UN', + quantidade_tributavel=Decimal('12'), + valor_unitario_tributavel=Decimal('9.75'), + numero_pedido='12345', # id da ordem + numero_do_item='12345328', # id do item (pode ser o id do produto concatenado com o do pedido) + icms_origem=0, + icms_modalidade_determinacao_bc=41, + pis_tipo_calculo='01', + pis_valor_base_calculo=Decimal('117.00'), + pis_aliquota_percentual=Decimal('0.65'), + pis_valor=Decimal('0.76'), + cofins_situacao_tributaria='01', + cofins_valor_base_calculo=Decimal('117.00'), + cofins_aliquota_percentual=Decimal('3.00'), + cofins_valor=Decimal('3.51')) +from pprint import pprint +pprint(serializador._serializar_nota_fiscal(nota_fiscal, retorna_string=False)) +print serializador._serializar_nota_fiscal(nota_fiscal)