Browse Source

Trabalhando na modelagem da NotaFiscal

tags/0.1
Marinho Brandão 16 years ago
parent
commit
099fdffa13
  1. 315
      pynfe/entidades/notafiscal.py
  2. 93
      pynfe/utils/flags.py
  3. 290
      tests/02-modelo-05-notafiscal.txt

315
pynfe/entidades/notafiscal.py

@ -1,50 +1,13 @@
from base import Entidade from base import Entidade
from pynfe.utils.flags import NF_STATUS
from pynfe.utils.flags import NF_STATUS, NF_TIPOS_DOCUMENTO, NF_TIPOS_IMPRESSAO_DANFE,\
NF_FORMAS_PAGAMENTO, NF_FORMAS_EMISSAO, NF_FINALIDADES_EMISSAO,\
NF_REFERENCIADA_TIPOS, NF_PRODUTOS_ESPECIFICOS, ICMS_TIPOS_TRIBUTACAO,\
ICMS_ORIGENS, ICMS_MODALIDADES, IPI_TIPOS_TRIBUTACAO, IPI_TIPOS_CALCULO,\
PIS_TIPOS_TRIBUTACAO, PIS_TIPOS_CALCULO, COFINS_TIPOS_TRIBUTACAO,\
COFINS_TIPOS_CALCULO
from decimal import Decimal from decimal import Decimal
NF_TIPOS_DOCUMENTO = (
(0, 'Entrada'),
(1, 'Saida'),
)
NF_TIPOS_IMPRESSAO_DANFE = (
'Retrato',
'Paisagem',
)
NF_FORMAS_PAGAMENTO = (
(0, 'Pagamento a vista'),
(1, 'Pagamento a prazo'),
(2, 'Outros'),
)
NF_FORMAS_EMISSAO = (
'Normal',
'Contingencia',
'Contingencia com SCAN',
'Contingencia via DPEC',
'Contingencia FS-DA',
)
NF_FINALIDADES_EMISSAO = (
(1, 'NF-e normal'),
(2, 'NF-e complementar'),
(3, 'NF-e de ajuste'),
)
NF_REFERENCIADA_TIPOS = (
'Nota Fiscal eletronica',
'Nota Fiscal',
)
NF_PRODUTOS_ESPECIFICOS = (
'Veiculo',
'Medicamento',
'Armamento',
'Combustivel',
)
class NotaFiscal(Entidade): class NotaFiscal(Entidade):
status = NF_STATUS[0] status = NF_STATUS[0]
@ -256,11 +219,273 @@ class NotaFiscalProduto(Entidade):
# - Produto especifico (seleciona de lista) - NF_PRODUTOS_ESPECIFICOS # - Produto especifico (seleciona de lista) - NF_PRODUTOS_ESPECIFICOS
produto_especifico = str() produto_especifico = str()
# - Tributos
# - ICMS
# - Situacao tributaria (obrigatorio - seleciona de lista) - ICMS_TIPOS_TRIBUTACAO
icms_situacao_tributaria = str()
# - Origem (obrigatorio - seleciona de lista) - ICMS_ORIGENS
icms_origem = str()
# - ICMS
# - Modalidade de determinacao da BC ICMS (seleciona de lista) - ICMS_MODALIDADES
icms_modalidade_determinacao_bc = str()
# - Percentual reducao da BC ICMS
icms_percentual_reducao_bc = Decimal()
# - Valor da base de calculo ICMS
icms_valor_base_calculo = Decimal()
# - Aliquota ICMS
icms_aliquota = Decimal()
# - Valor do ICMS
icms_valor = Decimal()
# - ICMS ST
# - Modalidade de determinacao da BC ICMS ST (seleciona de lista) - ICMS_MODALIDADES
icms_st_modalidade_determinacao_bc = str()
# - Percentual reducao da BC ICMS ST
icms_st_percentual_reducao_bc = Decimal()
# - Valor da base de calculo ICMS ST
icms_st_valor_base_calculo = Decimal()
# - Aliquota ICMS ST
icms_st_aliquota = Decimal()
# - Valor do ICMS ST
icms_st_valor = Decimal()
# - IPI
# - Situacao tributaria (seleciona de lista) - IPI_TIPOS_TRIBUTACAO
ipi_situacao_tributaria = str()
# - Classe de enquadramento
# - A informacao para classe de enquadramento do IPI para Cigarros e Bebidas,
# quando aplicavel, deve ser informada utilizando a codificacao prevista nos
# Atos Normativos editados pela Receita Federal
ipi_classe_enquadramento = str()
# - Codigo do enquadramento
ipi_codigo_enquadramento = str()
# - CNPJ do Produtor
ipi_cnpj_produtor = str()
# - Codigo do selo de controle
# - A informacao do codigo de selo, quando aplicavel, deve ser informada
# utilizando a codificacao prevista nos Atos Normativos editados pela Receita
# Federal
ipi_codigo_selo_controle = str()
# - Quantidade do selo de controle
ipi_quantidade_selo_controle = Decimal()
# - Tipo de calculo (seleciona de lista) - IPI_TIPOS_CALCULO
ipi_tipo_calculo = str()
# - Percentual
# - Valor da base de calculo
ipi_valor_base_calculo = Decimal()
# - Aliquota
ipi_aliquota = Decimal()
# - Em valor
# - Quantidade total unidade padrao
ipi_quantidade_total_unidade_padrao = Decimal()
# - Valor por unidade
ipi_valor_unidade = Decimal()
# - Valor do IPI
ipi_valor_ipi = Decimal()
# - PIS
# - PIS
# - Situacao tributaria (obrigatorio - seleciona de lista) - PIS_TIPOS_TRIBUTACAO
pis_situacao_tributaria = str()
# - Tipo de calculo (seleciona de lista) - PIS_TIPOS_CALCULO
pis_tipo_calculo = str()
# - Percentual
# - Valor da base de calculo
pis_valor_base_calculo = Decimal()
# - Aliquota (percentual)
pis_aliquota_percentual = Decimal()
# - Em valor
# - Aliquota (em reais)
pis_aliquota_reais = Decimal()
# - Quantidade vendida
pis_quantidade_vendida = Decimal()
# - Valor do PIS
pis_valor = Decimal()
# - PIS ST
# - Tipo de calculo (seleciona de lista) - PIS_TIPOS_CALCULO
pis_st_tipo_calculo = str()
# - Percentual
# - Valor da base de calculo
pis_st_valor_base_calculo = Decimal()
# - Aliquota (percentual)
pis_st_aliquota_percentual = Decimal()
# - Em valor
# - Aliquota (em reais)
pis_st_aliquota_reais = Decimal()
# - Quantidade vendida
pis_st_quantidade_vendida = Decimal()
# - Valor do PIS ST
pis_st_valor = Decimal()
# - COFINS
# - COFINS
# - Situacao tributaria (obrigatorio - seleciona de lista) - COFINS_TIPOS_TRIBUTACAO
cofins_situacao_tributaria = str()
# - Tipo de calculo (seleciona de lista) - COFINS_TIPOS_CALCULO
cofins_tipo_calculo = str()
# - Percentual
# - Valor da base de calculo
cofins_valor_base_calculo = Decimal()
# - Aliquota (percentual)
cofins_aliquota_percentual = Decimal()
# - Em Valor
# - Aliquota (em reais)
cofins_aliquota_reais = Decimal()
# - Quantidade vendida
cofins_quantidade_vendida = Decimal()
# - Valor do COFINS
cofins_valor = Decimal()
# - COFINS ST
# - Tipo de calculo (seleciona de lista) - COFINS_TIPOS_CALCULO
cofins_st_tipo_calculo = str()
# - Percentual
# - Valor da base de calculo
cofins_st_valor_base_calculo = Decimal()
# - Aliquota (percentual)
cofins_st_aliquota_percentual = Decimal()
# - Em Valor
# - Aliquota (em reais)
cofins_st_aliquota_reais = Decimal()
# - Quantidade vendida
cofins_st_quantidade_vendida = Decimal()
# - Valor do COFINS ST
cofins_st_valor = Decimal()
# - ISSQN
# - Valor da base de calculo
issqn_valor_base_calculo = Decimal()
# - Aliquota
issqn_aliquota = Decimal()
# - Lista de servico (seleciona de lista)
# - Aceita somente valores maiores que 100, disponiveis no arquivo data/ISSQN/Lista-Servicos.txt
issqn_lista_servico = str()
# - UF
issqn_uf = str()
# - Municipio de ocorrencia
issqn_municipio = str()
# - Valor do ISSQN
issqn_valor = Decimal()
# - Imposto de Importacao
# - Valor base de calculo
imposto_importacao_valor_base_calculo = Decimal()
# - Valor despesas aduaneiras
imposto_importacao_valor_despesas_aduaneiras = Decimal()
# - Valor do IOF
imposto_importacao_valor_iof = Decimal()
# - Valor imposto de importacao
imposto_importacao_valor = Decimal()
# - Informacoes Adicionais
# - Texto livre de informacoes adicionais
informacoes_adicionais = str()
# - Declaracao de Importacao (lista 1 para * / ManyToManyField)
declaracoes_importacao = None
def __init__(self, *args, **kwargs):
self.declaracoes_importacao = []
super(NotaFiscalProduto, self).__init__(*args, **kwargs)
def adicionar_declaracao_importacao(self, **kwargs):
u"""Adiciona uma instancia de Declaracao de Importacao"""
self.declaracoes_importacao.append(NotaFiscalDeclaracaoImportacao(**kwargs))
class NotaFiscalDeclaracaoImportacao(Entidade): class NotaFiscalDeclaracaoImportacao(Entidade):
pass
# - Numero DI/DSI/DA
numero_di_dsi_da = str()
# - Data de registro
data_registro = str()
# - Codigo exportador
codigo_exportador = str()
# - Desembaraco aduaneiro
# - UF
desembaraco_aduaneiro_uf = str()
# - Local
desembaraco_aduaneiro_local = str()
# - Data
desembaraco_aduaneiro_data = str()
# - Adicoes (lista 1 para * / ManyToManyField)
adicoes = None
def __init__(self, *args, **kwargs):
self.declaracoes_importacao = []
super(NotaFiscalDeclaracaoImportacao, self).__init__(*args, **kwargs)
def adicionar_adicao(self, **kwargs):
u"""Adiciona uma instancia de Adicao de Declaracao de Importacao"""
self.adicoes.append(NotaFiscalDeclaracaoImportacaoAdicao(**kwargs))
class NotaFiscalDeclaracaoImportacaoAdicao(Entidade): class NotaFiscalDeclaracaoImportacaoAdicao(Entidade):
pass
# - Numero
numero = str()
# - Desconto
desconto = str()
# - Codigo fabricante
codigo_fabricante = str()
class NotaFiscalTransporteVolume(Entidade): class NotaFiscalTransporteVolume(Entidade):
pass pass

93
pynfe/utils/flags.py

@ -42,3 +42,96 @@ NF_STATUS = (
'Cancelada', 'Cancelada',
) )
NF_TIPOS_DOCUMENTO = (
(0, 'Entrada'),
(1, 'Saida'),
)
NF_TIPOS_IMPRESSAO_DANFE = (
'Retrato',
'Paisagem',
)
NF_FORMAS_PAGAMENTO = (
(0, 'Pagamento a vista'),
(1, 'Pagamento a prazo'),
(2, 'Outros'),
)
NF_FORMAS_EMISSAO = (
'Normal',
'Contingencia',
'Contingencia com SCAN',
'Contingencia via DPEC',
'Contingencia FS-DA',
)
NF_FINALIDADES_EMISSAO = (
(1, 'NF-e normal'),
(2, 'NF-e complementar'),
(3, 'NF-e de ajuste'),
)
NF_REFERENCIADA_TIPOS = (
'Nota Fiscal eletronica',
'Nota Fiscal',
)
NF_PRODUTOS_ESPECIFICOS = (
'Veiculo',
'Medicamento',
'Armamento',
'Combustivel',
)
IPI_TIPOS_TRIBUTACAO = (
('00', 'IPI 00 - Entrada com recuperacao de credito'),
('01', 'IPI 01 - Entrada tributada com aliquota zero'),
('02', 'IPI 02 - Entrada isenta'),
('03', 'IPI 03 - Entrada nao-tributada'),
('04', 'IPI 04 - Entrada imune'),
('05', 'IPI 05 - Entrada com suspensao'),
('49', 'IPI 49 - Outras entradas'),
('50', 'IPI 50 - Saida tributada'),
('51', 'IPI 51 - Saida tributada com aliquota zero'),
('52', 'IPI 52 - Saida isenta'),
('53', 'IPI 53 - Saida nao-tributada'),
('54', 'IPI 54 - Saida imune'),
('55', 'IPI 55 - Saida com suspensao'),
('99', 'IPI 99 - Outas saidas'),
)
IPI_TIPOS_CALCULO = (
'Percentual',
'Em Valor',
)
PIS_TIPOS_TRIBUTACAO = (
('01', 'PIS 01 - Operacao Tributavel - Base de Calculo = Valor da Operacao Aliquota...'), # FIXME
('02', 'PIS 02 - Operacao Tributavel - Base de Calculo = Valor da Operacao (Aliquota...'), # FIXME
('03', 'PIS 03 - Operacao Tributavel - Base de Calculo = Quantidade Vendida x Aliquota...'), # FIXME
('04', 'PIS 04 - Operacao Tributavel - Tributacao Monofasica - (Aliquota Zero)'),
('06', 'PIS 06 - Operacao Tributavel - Aliquota Zero'),
('07', 'PIS 07 - Operacao Isenta da Contribuicao'),
('08', 'PIS 08 - Operacao sem Indidencia da Contribuicao'),
('09', 'PIS 09 - Operacao com Suspensao da Contribuicao'),
('99', 'PIS 99 - Outras operacoes'),
)
PIS_TIPOS_CALCULO = IPI_TIPOS_CALCULO
COFINS_TIPOS_TRIBUTACAO = (
('00', 'COFINS 01 - Operacao Tributavel - Base de Calculo = Valor da Operacao Aliquota...'), # FIXME
('02', 'COFINS 02 - Operacao Tributavel - Base de Calculo = Valor da Operacao (Aliquota...'), # FIXME
('03', 'COFINS 03 - Operacao Tributavel - Base de Calculo = Quantidade Vendida x Aliquota...'), # FIXME
('04', 'COFINS 04 - Operacao Tributavel - Tributacao Monofasica - (Aliquota Zero)'),
('06', 'COFINS 06 - Operacao Tributavel - Aliquota Zero'),
('07', 'COFINS 07 - Operacao Isenta da Contribuicao'),
('08', 'COFINS 08 - Operacao sem Indidencia da Contribuicao'),
('09', 'COFINS 09 - Operacao com Suspensao da Contribuicao'),
('99', 'COFINS 99 - Outras operacoes'),
)
COFINS_TIPOS_CALCULO = IPI_TIPOS_CALCULO

290
tests/02-modelo-05-notafiscal.txt

@ -370,30 +370,78 @@ Nenhum dos campos deve permitir acentos e/ou cedilhas.
- ICMS 60 - Cobrado anteriormente por substituicao tributaria - ICMS 60 - Cobrado anteriormente por substituicao tributaria
- ICMS 70 - Com reducao da base de calculo e cobranca do ICMS por substituicao tributaria - ICMS 70 - Com reducao da base de calculo e cobranca do ICMS por substituicao tributaria
- ICMS 90 - Outras - ICMS 90 - Outras
>>> hasattr(NotaFiscalProduto, 'icms_situacao_tributaria')
True
- Origem (obrigatorio - seleciona de lista) - Origem (obrigatorio - seleciona de lista)
- Nacional - Nacional
- Estrangeira - Importacao Direta - Estrangeira - Importacao Direta
- Estrangeira - Adquirida no Mercado Interno - Estrangeira - Adquirida no Mercado Interno
>>> hasattr(NotaFiscalProduto, 'icms_origem')
True
- ICMS - ICMS
- Modalidade de determinacao da BC ICMS (seleciona de lista) - Modalidade de determinacao da BC ICMS (seleciona de lista)
- Margem Valor Agregado - Margem Valor Agregado
- Pauta (valor) - Pauta (valor)
- Preco Tabelado Max. (valor) - Preco Tabelado Max. (valor)
- Valor da Operacao - Valor da Operacao
>>> hasattr(NotaFiscalProduto, 'icms_modalidade_determinacao_bc')
True
- Percentual reducao da BC ICMS - Percentual reducao da BC ICMS
>>> hasattr(NotaFiscalProduto, 'icms_percentual_reducao_bc')
True
- Valor da base de calculo ICMS - Valor da base de calculo ICMS
>>> hasattr(NotaFiscalProduto, 'icms_valor_base_calculo')
True
- Aliquota ICMS - Aliquota ICMS
>>> hasattr(NotaFiscalProduto, 'icms_aliquota')
True
- Valor do ICMS - Valor do ICMS
>>> hasattr(NotaFiscalProduto, 'icms_valor')
True
- ICMS ST - ICMS ST
- Modalidade de determinacao da BC ICMS ST (seleciona de lista) - Modalidade de determinacao da BC ICMS ST (seleciona de lista)
- Margem Valor Agregado - Margem Valor Agregado
- Pauta (valor) - Pauta (valor)
- Preco Tabelado Max. (valor) - Preco Tabelado Max. (valor)
- Valor da Operacao - Valor da Operacao
>>> hasattr(NotaFiscalProduto, 'icms_st_modalidade_determinacao_bc')
True
- Percentual reducao da BC ICMS ST - Percentual reducao da BC ICMS ST
>>> hasattr(NotaFiscalProduto, 'icms_st_percentual_reducao_bc')
True
- Valor da base de calculo ICMS ST - Valor da base de calculo ICMS ST
>>> hasattr(NotaFiscalProduto, 'icms_st_valor_base_calculo')
True
- Aliquota ICMS ST - Aliquota ICMS ST
>>> hasattr(NotaFiscalProduto, 'icms_st_aliquota')
True
- Valor do ICMS ST - Valor do ICMS ST
>>> hasattr(NotaFiscalProduto, 'icms_st_valor')
True
- IPI - IPI
- Situacao tributaria (seleciona de lista) - Situacao tributaria (seleciona de lista)
- IPI 00 - Entrada com recuperacao de credito - IPI 00 - Entrada com recuperacao de credito
@ -410,25 +458,73 @@ Nenhum dos campos deve permitir acentos e/ou cedilhas.
- IPI 54 - Saida imune - IPI 54 - Saida imune
- IPI 55 - Saida com suspensao - IPI 55 - Saida com suspensao
- IPI 99 - Outas saidas - IPI 99 - Outas saidas
>>> hasattr(NotaFiscalProduto, 'ipi_situacao_tributaria')
True
- Classe de enquadramento - Classe de enquadramento
- A informacao para classe de enquadramento do IPI para Cigarros e Bebidas, - A informacao para classe de enquadramento do IPI para Cigarros e Bebidas,
quando aplicavel, deve ser informada utilizando a codificacao prevista nos quando aplicavel, deve ser informada utilizando a codificacao prevista nos
Atos Normativos editados pela Receita Federal Atos Normativos editados pela Receita Federal
>>> hasattr(NotaFiscalProduto, 'ipi_classe_enquadramento')
True
- Codigo do enquadramento - Codigo do enquadramento
>>> hasattr(NotaFiscalProduto, 'ipi_codigo_enquadramento')
True
- CNPJ do Produtor - CNPJ do Produtor
>>> hasattr(NotaFiscalProduto, 'ipi_cnpj_produtor')
True
- Codigo do selo de controle - Codigo do selo de controle
- A informacao do codigo de selo, quando aplicavel, deve ser informada - A informacao do codigo de selo, quando aplicavel, deve ser informada
utilizando a codificacao prevista nos Atos Normativos editados pela Receita utilizando a codificacao prevista nos Atos Normativos editados pela Receita
Federal Federal
>>> hasattr(NotaFiscalProduto, 'ipi_codigo_selo_controle')
True
- Quantidade do selo de controle - Quantidade do selo de controle
>>> hasattr(NotaFiscalProduto, 'ipi_quantidade_selo_controle')
True
- Tipo de calculo (seleciona de lista) - Tipo de calculo (seleciona de lista)
>>> hasattr(NotaFiscalProduto, 'ipi_tipo_calculo')
True
- Percentual - Percentual
- Valor da base de calculo - Valor da base de calculo
>>> hasattr(NotaFiscalProduto, 'ipi_valor_base_calculo')
True
- Aliquota - Aliquota
>>> hasattr(NotaFiscalProduto, 'ipi_aliquota')
True
- Em valor - Em valor
- Quantidade total unidade padrao - Quantidade total unidade padrao
>>> hasattr(NotaFiscalProduto, 'ipi_quantidade_total_unidade_padrao')
True
- Valor por unidade - Valor por unidade
>>> hasattr(NotaFiscalProduto, 'ipi_valor_unidade')
True
- Valor do IPI - Valor do IPI
>>> hasattr(NotaFiscalProduto, 'ipi_valor_ipi')
True
- PIS - PIS
- PIS - PIS
- Situacao tributaria (obrigatorio - seleciona de lista) - Situacao tributaria (obrigatorio - seleciona de lista)
@ -441,21 +537,75 @@ Nenhum dos campos deve permitir acentos e/ou cedilhas.
- PIS 08 - Operacao sem Indidencia da Contribuicao - PIS 08 - Operacao sem Indidencia da Contribuicao
- PIS 09 - Operacao com Suspensao da Contribuicao - PIS 09 - Operacao com Suspensao da Contribuicao
- PIS 99 - Outras operacoes - PIS 99 - Outras operacoes
>>> hasattr(NotaFiscalProduto, 'pis_situacao_tributaria')
True
- Tipo de calculo (seleciona de lista) - Tipo de calculo (seleciona de lista)
>>> hasattr(NotaFiscalProduto, 'pis_tipo_calculo')
True
- Percentual
- Valor da base de calculo - Valor da base de calculo
>>> hasattr(NotaFiscalProduto, 'pis_valor_base_calculo')
True
- Aliquota (percentual) - Aliquota (percentual)
>>> hasattr(NotaFiscalProduto, 'pis_aliquota_percentual')
True
- Em valor
- Aliquota (em reais) - Aliquota (em reais)
>>> hasattr(NotaFiscalProduto, 'pis_aliquota_reais')
True
- Quantidade vendida - Quantidade vendida
>>> hasattr(NotaFiscalProduto, 'pis_quantidade_vendida')
True
- Valor do PIS - Valor do PIS
>>> hasattr(NotaFiscalProduto, 'pis_valor')
True
- PIS ST - PIS ST
- Tipo de calculo (seleciona de lista) - Tipo de calculo (seleciona de lista)
>>> hasattr(NotaFiscalProduto, 'pis_st_tipo_calculo')
True
- Percentual - Percentual
- Valor da base de calculo - Valor da base de calculo
>>> hasattr(NotaFiscalProduto, 'pis_st_valor_base_calculo')
True
- Aliquota (percentual) - Aliquota (percentual)
>>> hasattr(NotaFiscalProduto, 'pis_st_aliquota_percentual')
True
- Em valor - Em valor
- Aliquota (em reais) - Aliquota (em reais)
>>> hasattr(NotaFiscalProduto, 'pis_st_aliquota_reais')
True
- Quantidade vendida - Quantidade vendida
>>> hasattr(NotaFiscalProduto, 'pis_st_quantidade_vendida')
True
- Valor do PIS ST - Valor do PIS ST
>>> hasattr(NotaFiscalProduto, 'pis_st_valor')
True
- COFINS - COFINS
- COFINS - COFINS
- Situacao tributaria (obrigatorio - seleciona de lista) - Situacao tributaria (obrigatorio - seleciona de lista)
@ -468,50 +618,190 @@ Nenhum dos campos deve permitir acentos e/ou cedilhas.
- COFINS 08 - Operacao sem Indidencia da Contribuicao - COFINS 08 - Operacao sem Indidencia da Contribuicao
- COFINS 09 - Operacao com Suspensao da Contribuicao - COFINS 09 - Operacao com Suspensao da Contribuicao
- COFINS 99 - Outras operacoes - COFINS 99 - Outras operacoes
>>> hasattr(NotaFiscalProduto, 'cofins_situacao_tributaria')
True
- Tipo de calculo (seleciona de lista) - Tipo de calculo (seleciona de lista)
>>> hasattr(NotaFiscalProduto, 'cofins_tipo_calculo')
True
- Percentual - Percentual
- Valor da base de calculo - Valor da base de calculo
>>> hasattr(NotaFiscalProduto, 'cofins_valor_base_calculo')
True
- Aliquota (percentual) - Aliquota (percentual)
>>> hasattr(NotaFiscalProduto, 'cofins_aliquota_percentual')
True
- Em Valor - Em Valor
- Aliquota (em reais) - Aliquota (em reais)
>>> hasattr(NotaFiscalProduto, 'cofins_aliquota_reais')
True
- Quantidade vendida - Quantidade vendida
>>> hasattr(NotaFiscalProduto, 'cofins_quantidade_vendida')
True
- Valor do COFINS - Valor do COFINS
>>> hasattr(NotaFiscalProduto, 'cofins_valor')
True
- COFINS ST - COFINS ST
- Tipo de calculo (seleciona de lista) - Tipo de calculo (seleciona de lista)
>>> hasattr(NotaFiscalProduto, 'cofins_st_tipo_calculo')
True
- Percentual - Percentual
- Valor da base de calculo - Valor da base de calculo
>>> hasattr(NotaFiscalProduto, 'cofins_st_valor_base_calculo')
True
- Aliquota (percentual) - Aliquota (percentual)
>>> hasattr(NotaFiscalProduto, 'cofins_st_aliquota_percentual')
True
- Em Valor - Em Valor
- Aliquota (em reais) - Aliquota (em reais)
>>> hasattr(NotaFiscalProduto, 'cofins_st_aliquota_reais')
True
- Quantidade vendida - Quantidade vendida
>>> hasattr(NotaFiscalProduto, 'cofins_st_quantidade_vendida')
True
- Valor do COFINS ST - Valor do COFINS ST
>>> hasattr(NotaFiscalProduto, 'cofins_st_valor')
True
- ISSQN - ISSQN
- Valor da base de calculo - Valor da base de calculo
>>> hasattr(NotaFiscalProduto, 'issqn_valor_base_calculo')
True
- Aliquota - Aliquota
>>> hasattr(NotaFiscalProduto, 'issqn_aliquota')
True
- Lista de servico (seleciona de lista) - Lista de servico (seleciona de lista)
- Aceita somente valores maiores que 100, disponiveis no arquivo data/ISSQN/Lista-Servicos.txt - Aceita somente valores maiores que 100, disponiveis no arquivo data/ISSQN/Lista-Servicos.txt
>>> hasattr(NotaFiscalProduto, 'issqn_lista_servico')
True
- UF - UF
>>> hasattr(NotaFiscalProduto, 'issqn_uf')
True
- Municipio de ocorrencia - Municipio de ocorrencia
>>> hasattr(NotaFiscalProduto, 'issqn_municipio')
True
- Valor do ISSQN - Valor do ISSQN
>>> hasattr(NotaFiscalProduto, 'issqn_valor')
True
- Imposto de Importacao - Imposto de Importacao
- Valor base de calculo - Valor base de calculo
>>> hasattr(NotaFiscalProduto, 'imposto_importacao_valor_base_calculo')
True
- Valor despesas aduaneiras - Valor despesas aduaneiras
>>> hasattr(NotaFiscalProduto, 'imposto_importacao_valor_despesas_aduaneiras')
True
- Valor do IOF - Valor do IOF
>>> hasattr(NotaFiscalProduto, 'imposto_importacao_valor_iof')
True
- Valor imposto de importacao - Valor imposto de importacao
>>> hasattr(NotaFiscalProduto, 'imposto_importacao_valor')
True
- Informacoes Adicionais - Informacoes Adicionais
- Texto livre de informacoes adicionais - Texto livre de informacoes adicionais
>>> hasattr(NotaFiscalProduto, 'informacoes_adicionais')
True
- Declaracao de Importacao (lista 1 para * / ManyToManyField) - Declaracao de Importacao (lista 1 para * / ManyToManyField)
>>> hasattr(NotaFiscalProduto, 'declaracoes_importacao')
True
- Numero DI/DSI/DA - Numero DI/DSI/DA
>>> hasattr(NotaFiscalDeclaracaoImportacao, 'numero_di_dsi_da')
True
- Data de registro - Data de registro
>>> hasattr(NotaFiscalDeclaracaoImportacao, 'data_registro')
True
- Codigo exportador - Codigo exportador
>>> hasattr(NotaFiscalDeclaracaoImportacao, 'codigo_exportador')
True
- Desembaraco aduaneiro - Desembaraco aduaneiro
- UF - UF
>>> hasattr(NotaFiscalDeclaracaoImportacao, 'desembaraco_aduaneiro_uf')
True
- Local - Local
>>> hasattr(NotaFiscalDeclaracaoImportacao, 'desembaraco_aduaneiro_local')
True
- Data - Data
>>> hasattr(NotaFiscalDeclaracaoImportacao, 'desembaraco_aduaneiro_data')
True
- Adicoes (lista 1 para * / ManyToManyField) - Adicoes (lista 1 para * / ManyToManyField)
>>> hasattr(NotaFiscalDeclaracaoImportacao, 'adicoes')
True
- Numero - Numero
>>> hasattr(NotaFiscalDeclaracaoImportacaoAdicao, 'numero')
True
- Desconto - Desconto
>>> hasattr(NotaFiscalDeclaracaoImportacaoAdicao, 'desconto')
True
- Codigo fabricante - Codigo fabricante
>>> hasattr(NotaFiscalDeclaracaoImportacaoAdicao, 'codigo_fabricante')
True
- Veiculo Novo - Veiculo Novo
- ??? - ???
- Medicamento - Medicamento

Loading…
Cancel
Save