diff --git a/br_sped_efd_contribuicoes/models/sped_efd_contribuicoes.py b/br_sped_efd_contribuicoes/models/sped_efd_contribuicoes.py
index b83d56543..7ad4fa094 100644
--- a/br_sped_efd_contribuicoes/models/sped_efd_contribuicoes.py
+++ b/br_sped_efd_contribuicoes/models/sped_efd_contribuicoes.py
@@ -45,14 +45,14 @@ class SpedEfdContribuicoes(models.Model):
_description = "Cria o arquivo para o Sped Contribuicoes Pis/Cofins"
_order = "date_start desc"
- date_start= fields.Date(string='Inicio de')
+ date_start = fields.Date(string='Inicio de')
date_end = fields.Date(string='até')
tipo_escrit = fields.Selection([
('0', 'Original'),
('1', 'Retificadora'),
- ], string='Tipo Escrituração', default='0')
+ ], string='Tipo Escrituração', default='0')
num_rec_anterior = fields.Char(
- string=u"Número recibo anterior")
+ string=u"Número recibo anterior")
ind_nat_pj = fields.Selection([
('0', 'Sociedade empresárial geral'),
('1', 'Sociedade Cooperativa'),
@@ -60,7 +60,7 @@ class SpedEfdContribuicoes(models.Model):
('3', 'Pessoa jurídica participante SCP como sócia ostensiva'),
('4', 'Sociedade cooperativa participante SCP como sócia ostensiva'),
('5', 'Sociedade em Conta de Participação - SCP'),
- ], string='Indicador natureza pessoa jurídica', default='0')
+ ], string='Indicador natureza pessoa jurídica', default='0')
ind_ativ = fields.Selection([
('0', 'Industrial ou equiparado a industrial'),
('1', 'Prestador de serviços'),
@@ -68,30 +68,30 @@ class SpedEfdContribuicoes(models.Model):
('3', 'Pessoas jurídicas Lei no 9.718, de 1998'),
('4', 'Atividade imobiliária'),
('9', 'Outros'),
- ], string='Indicador atividade preponderante')
+ ], string='Indicador atividade preponderante')
# 0110
cod_inc_trib = fields.Selection([
('1', 'Escrit. oper. incid. exclus. regime não-cumulativo'),
('2', 'Escrit. oper. incid. exclus. regime cumulativo'),
('3', 'Escrit. oper. incid. regimes não-cumulativo e cumulativo'),
- ], string='Cód. incidência tributária')
+ ], string='Cód. incidência tributária')
ind_apro_cred = fields.Selection([
('1', 'Método de Apropriação Direta'),
('2', 'Método de Rateio Proporcional (Receita Bruta)'),
- ], string='Método apropriação de créditos')
+ ], string='Método apropriação de créditos')
cod_tipo_cont = fields.Selection([
('1', 'Apuração da Contribuição Exclusivamente a Alíquota Básica'),
('2', 'Apuração da Contribuição a Alíquotas Específicas (Diferenciadas e/ou por Unidade de Medida de Produto)'),
- ], string='Tipo de Contribuição Apurada')
+ ], string='Tipo de Contribuição Apurada')
ind_reg_cum = fields.Selection([
('1', 'Regime de Caixa –Escrituração consolidada (Registro F500)'),
('2', 'Regime de Competência -Escrituração consolidada (Registro F550)'),
('9', 'Regime de Competência -Escrituração detalhada, com base nos registros dos Blocos “A”, “C”, “D” e “F”'),
- ], string='Critério de Escrituração e Apuração Adotado')
-
+ ], string='Critério de Escrituração e Apuração Adotado')
+
log_faturamento = fields.Html('Log de Faturamento')
company_id = fields.Many2one('res.company', string='Empresa', required=True,
- default=lambda self: self.env['res.company']._company_default_get('account.account'))
+ default=lambda self: self.env['res.company']._company_default_get('account.account'))
sped_file = fields.Binary(string=u"Sped")
sped_file_name = fields.Char(
string=u"Arquivo Sped Contribuições")
@@ -99,7 +99,8 @@ class SpedEfdContribuicoes(models.Model):
@api.multi
def create_file(self):
if self.date_start > self.date_end:
- raise UserError('Erro, a data de início é maior que a data de encerramento!')
+ raise UserError(
+ 'Erro, a data de início é maior que a data de encerramento!')
self.log_faturamento = 'Gerando arquivo ..
'
if self.date_start and self.date_end:
self.registro0000()
@@ -110,9 +111,9 @@ def create_file(self):
}
def versao(self):
- #if fields.Datetime.from_string(self.dt_ini) >= datetime.datetime(2018, 1, 1):
+ # if fields.Datetime.from_string(self.dt_ini) >= datetime.datetime(2018, 1, 1):
# return '012'
- return '006'
+ return '006'
def limpa_caracteres(self, data):
if data:
@@ -123,7 +124,7 @@ def limpa_caracteres(self, data):
def limpa_formatacao(self, data):
if data:
- replace = ['-', ' ', '(', ')', '/', '.', ':','º']
+ replace = ['-', ' ', '(', ')', '/', '.', ':', 'º']
for i in replace:
data = data.replace(i, '')
return data
@@ -139,30 +140,32 @@ def junta_pipe(self, registro):
def registro0000(self):
arq = ArquivoDigital()
- cod_mun = '%s%s' %(self.company_id.state_id.ibge_code, self.company_id.city_id.ibge_code)
+ cod_mun = '%s%s' % (self.company_id.state_id.ibge_code,
+ self.company_id.city_id.ibge_code)
arq._registro_abertura.COD_VER = self.versao()
- arq._registro_abertura.TIPO_ESCRIT = 0 # 0 - Original , 1 - Retificadora
+ arq._registro_abertura.TIPO_ESCRIT = 0 # 0 - Original , 1 - Retificadora
arq._registro_abertura.DT_INI = self.date_start
arq._registro_abertura.DT_FIN = self.date_end
arq._registro_abertura.NOME = self.company_id.legal_name
- arq._registro_abertura.CNPJ = self.limpa_formatacao(self.company_id.cnpj_cpf)
+ arq._registro_abertura.CNPJ = self.limpa_formatacao(
+ self.company_id.cnpj_cpf)
arq._registro_abertura.UF = self.company_id.state_id.code
arq._registro_abertura.COD_MUN = self.formata_cod_municipio(cod_mun)
arq._registro_abertura.SUFRAMA = ''
- arq._registro_abertura.IND_NAT_PJ = '00' # 00 – Pessoa jurídica em geral
- arq._registro_abertura.IND_ATIV = '2' # 2 - Atividade de comércio;
+ arq._registro_abertura.IND_NAT_PJ = '00' # 00 – Pessoa jurídica em geral
+ arq._registro_abertura.IND_ATIV = '2' # 2 - Atividade de comércio;
if self.company_id.accountant_id:
contabilista = Registro0100()
ctd = self.company_id.accountant_id
if len(self.company_id.accountant_id.cnpj_cpf) > 14:
if self.company_id.accountant_id.child_ids:
ctd = self.company_id.accountant_id.child_ids[0]
- else:
+ else:
msg_err = 'Cadastre o contador Pessoa Fisica dentro do Contato da Contabilidade'
raise UserError(msg_err)
contador = ctd.name
cpf = ctd.cnpj_cpf
- cod_mun = '%s%s' %(ctd.state_id.ibge_code, ctd.city_id.ibge_code)
+ cod_mun = '%s%s' % (ctd.state_id.ibge_code, ctd.city_id.ibge_code)
contabilista.NOME = contador
contabilista.CPF = self.limpa_formatacao(cpf)
contabilista.CRC = self.limpa_formatacao(ctd.rg_fisica)
@@ -175,14 +178,17 @@ def registro0000(self):
contabilista.EMAIL = ctd.email
contabilista.COD_MUN = cod_mun
arq._blocos['0'].add(contabilista)
-
+
reg110 = Registro0110()
- reg110.COD_INC_TRIB = self.cod_inc_trib # Cód. ind. da incidência tributária
- reg110.IND_APRO_CRED = self.ind_apro_cred # Cód. ind. de método de apropriação de créditos comuns
- reg110.COD_TIPO_CONT = self.cod_tipo_cont # Cód. ind. do Tipo de Contribuição Apurada
- reg110.IND_REG_CUM = self.ind_reg_cum # Cód. ind. do critério de escrituração e apuração adotado
+ reg110.COD_INC_TRIB = self.cod_inc_trib # Cód. ind. da incidência tributária
+ # Cód. ind. de método de apropriação de créditos comuns
+ reg110.IND_APRO_CRED = self.ind_apro_cred
+ # Cód. ind. do Tipo de Contribuição Apurada
+ reg110.COD_TIPO_CONT = self.cod_tipo_cont
+ # Cód. ind. do critério de escrituração e apuração adotado
+ reg110.IND_REG_CUM = self.ind_reg_cum
arq._blocos['0'].add(reg110)
-
+
reg0140 = Registro0140()
reg0140.COD_EST = str(self.company_id.id)
reg0140.NOME = self.company_id.name
@@ -192,16 +198,16 @@ def registro0000(self):
reg0140.COD_MUN = cod_mun
reg0140.IM = ''
reg0140.SUFRAMA = ''
- arq._blocos['0'].add(reg0140)
+ arq._blocos['0'].add(reg0140)
dt = self.date_start
- dta_s = '%s-%s-%s' %(str(dt.year),str(dt.month).zfill(2),
- str(dt.day).zfill(2))
+ dta_s = '%s-%s-%s' % (str(dt.year), str(dt.month).zfill(2),
+ str(dt.day).zfill(2))
dt = self.date_end
- dta_e = '%s-%s-%s' %(str(dt.year),str(dt.month).zfill(2),
- str(dt.day).zfill(2))
+ dta_e = '%s-%s-%s' % (str(dt.year), str(dt.month).zfill(2),
+ str(dt.day).zfill(2))
periodo = 'date_trunc(\'day\', ie.data_fatura) \
- between \'%s\' and \'%s\'' %(dta_s, dta_e)
+ between \'%s\' and \'%s\'' % (dta_s, dta_e)
# FORNECEDORES
for item_lista in self.query_registro0150(periodo):
arq.read_registro(self.junta_pipe(item_lista))
@@ -219,10 +225,10 @@ def registro0000(self):
for item_unit in self.query_registro0220(item_lista.COD_ITEM):
arq.read_registro(self.junta_pipe(item_unit))
"""
-
+
for item_lista in self.query_registro0400(periodo):
arq.read_registro(self.junta_pipe(item_lista))
-
+
# TODO - Colocar Na Tela pra ser informado a CONTA e DESCRICAO
reg500 = Registro0500()
reg500.DT_ALT = datetime.strptime('2017-11-01', '%Y-%m-%d')
@@ -232,7 +238,7 @@ def registro0000(self):
reg500.COD_CTA = '1.1.06.11.00.00'
reg500.NOME_CTA = 'MERCADORIA REVENDA ISENTA'
arq._blocos['0'].add(reg500)
-
+
reg500 = Registro0500()
reg500.DT_ALT = datetime.strptime('2017-11-01', '%Y-%m-%d')
reg500.COD_NAT_CC = '01'
@@ -241,7 +247,7 @@ def registro0000(self):
reg500.COD_CTA = '1.1.06.05.00.00'
reg500.NOME_CTA = 'MERCADORIA REVENDA TRIBUTADA'
arq._blocos['0'].add(reg500)
-
+
query = """
select distinct
ie.id, ie.state, ie.emissao_doc
@@ -270,23 +276,23 @@ def registro0000(self):
if id[2] == '2' and id[1] == 'cancel':
continue
regC001.IND_MOV = '0'
- # TODO C100 - Notas Fiscais - Feito
+ # TODO C100 - Notas Fiscais - Feito
for item_lista in self.query_registroC100(id[0]):
arq.read_registro(self.junta_pipe(item_lista))
- # TODO C101 - DIFAL - Feito
- #for item_lista in self.query_registroC101(self.fatura):
+ # TODO C101 - DIFAL - Feito
+ # for item_lista in self.query_registroC101(self.fatura):
# arq.read_registro(self.junta_pipe(item_lista))
# TODO C110 - Inf. Adiciontal
-
+
# TODO C170 - Itens Nota Fiscal de Compras = Fazendo
for item_lista in self.query_registroC170(id[0]):
arq.read_registro(self.junta_pipe(item_lista))
-
- # TODO BLOCO D - prestações ou contratações de serviços
+
+ # TODO BLOCO D - prestações ou contratações de serviços
# de comunicação, transporte interestadual e intermunicipa
# TODO D100 - Periodo Apuracao
-
+
query = """
select distinct
ie.id, ie.state
@@ -315,26 +321,26 @@ def registro0000(self):
('data_fatura','<=',g_intervalo[1]),
])
"""
- #for cte in resposta_cte:
- # TODO D100 - Documentos Transporte
- #TODO DEIXAMOS FORA POIS NAO EXISTE NO ATS ADMIN
- #for item_lista in self.query_registroD100(cte.invoice_id.id):
- #arq.read_registro(self.junta_pipe(item_lista))
-
- # TODO D190 - Totalizacao por CST
- #for item_lista in self.query_registroD190(cte.invoice_id.id):
- # arq.read_registro(self.junta_pipe(item_lista))
+ # for cte in resposta_cte:
+ # TODO D100 - Documentos Transporte
+ # TODO DEIXAMOS FORA POIS NAO EXISTE NO ATS ADMIN
+ # for item_lista in self.query_registroD100(cte.invoice_id.id):
+ # arq.read_registro(self.junta_pipe(item_lista))
+
+ # TODO D190 - Totalizacao por CST
+ # for item_lista in self.query_registroD190(cte.invoice_id.id):
+ # arq.read_registro(self.junta_pipe(item_lista))
regF001 = RegistroF001()
regF001.IND_MOV = '1'
-
+
#regF990 = RegistroF990()
#regF990.QTD_LIN_F = 1
- #arq._blocos['F'].add(regF001)
+ # arq._blocos['F'].add(regF001)
regI001 = RegistroI001()
regI001.IND_MOV = '1'
- #arq._blocos['I'].add(regI990)
-
+ # arq._blocos['I'].add(regI990)
+
# é gerados pelo VALIDADOR
for item_lista in self.query_registroM200(periodo):
arq.read_registro(self.junta_pipe(item_lista))
@@ -347,8 +353,7 @@ def registro0000(self):
# é gerados pelo VALIDADOR
for item_lista in self.query_registroM600(periodo):
arq.read_registro(self.junta_pipe(item_lista))
-
-
+
"""
regM800 = RegistroM800()
regM800.CST_COFINS = '06'
@@ -361,21 +366,22 @@ def registro0000(self):
arq.read_registro(self.junta_pipe(item_lista))
for item_lista in self.query_registroM810(item_lista.CST_COFINS, periodo):
arq.read_registro(self.junta_pipe(item_lista))
-
+
regP001 = RegistroP001()
regP001.IND_MOV = '1'
-
+
#import pudb;pu.db
registro_1001 = Registro1001()
registro_1001.IND_MOV = '1'
- #arq._blocos['1'].add(registro_1001)
+ # arq._blocos['1'].add(registro_1001)
arq.prepare()
- self.sped_file_name = 'PisCofins-%s_%s.txt' % (
+ self.sped_file_name = 'PisCofins-%s_%s.txt' % (
str(dt.month).zfill(2), str(dt.year))
#arqxx = open('/opt/odoo/novo_arquivo.txt', 'w')
- #arqxx.write(arq.getstring())
- #arqxx.close()
- self.sped_file = base64.encodestring(bytes(arq.getstring(), 'iso-8859-1'))
+ # arqxx.write(arq.getstring())
+ # arqxx.close()
+ self.sped_file = base64.encodestring(
+ bytes(arq.getstring(), 'iso-8859-1'))
def query_registro0150(self, periodo):
query = """
@@ -399,17 +405,20 @@ def query_registro0150(self, periodo):
cod_pais = resposta_participante.country_id.bc_code
registro_0150.COD_PAIS = cod_pais
cpnj_cpf = self.limpa_formatacao(resposta_participante.cnpj_cpf)
- cod_mun = '%s%s' %(resposta_participante.state_id.ibge_code, resposta_participante.city_id.ibge_code)
+ cod_mun = '%s%s' % (resposta_participante.state_id.ibge_code,
+ resposta_participante.city_id.ibge_code)
if cod_pais == '01058':
registro_0150.COD_MUN = self.formata_cod_municipio(cod_mun)
if len(cpnj_cpf) == 11:
registro_0150.CPF = cpnj_cpf
else:
registro_0150.CNPJ = cpnj_cpf
- registro_0150.IE = self.limpa_formatacao(resposta_participante.inscr_est)
+ registro_0150.IE = self.limpa_formatacao(
+ resposta_participante.inscr_est)
else:
registro_0150.COD_MUN = '9999999'
- registro_0150.SUFRAMA = self.limpa_formatacao(resposta_participante.suframa)
+ registro_0150.SUFRAMA = self.limpa_formatacao(
+ resposta_participante.suframa)
if resposta_participante.street:
registro_0150.END = resposta_participante.street.strip()
if resposta_participante.number:
@@ -460,12 +469,13 @@ def query_registro0190(self, periodo):
unidade = id[0]
unidade = unidade[:6]
if un == unidade:
- continue
+ continue
lista_un.append(unidade)
registro_0190.UNID = unidade
desc = id[1]
if not desc:
- msg_err = 'Unidade de medida sem descricao - Un %s.' %(unidade)
+ msg_err = 'Unidade de medida sem descricao - Un %s.' % (
+ unidade)
raise UserError(msg_err)
registro_0190.DESCR = desc.strip()
lista.append(registro_0190)
@@ -510,7 +520,8 @@ def query_registro0200(self, periodo):
if resposta_produto.barcode != resposta_produto.default_code:
registro_0200.COD_BARRA = resposta_produto.barcode
if resposta_produto.uom_id.name.find('-') != -1:
- unidade = resposta_produto.uom_id.name[:resposta_produto.uom_id.name.find('-')]
+ unidade = resposta_produto.uom_id.name[:resposta_produto.uom_id.name.find(
+ '-')]
else:
unidade = resposta_produto.uom_id.name
unidade = unidade.strip()
@@ -518,8 +529,9 @@ def query_registro0200(self, periodo):
unidade = unidade[:6]
registro_0200.UNID_INV = unidade[:6]
registro_0200.TIPO_ITEM = resposta_produto.l10n_br_sped_type
- registro_0200.COD_NCM = self.limpa_formatacao(resposta_produto.fiscal_classification_id.code)
- lista.append(registro_0200)
+ registro_0200.COD_NCM = self.limpa_formatacao(
+ resposta_produto.fiscal_classification_id.code)
+ lista.append(registro_0200)
return lista
def query_registro0400(self, periodo):
@@ -544,12 +556,13 @@ def query_registro0400(self, periodo):
query_resposta = self._cr.fetchall()
lista = []
for resposta in query_resposta:
- resposta_nat = self.env['account.fiscal.position'].browse(resposta[0])
+ resposta_nat = self.env['account.fiscal.position'].browse(
+ resposta[0])
registro_0400 = registros.Registro0400()
registro_0400.COD_NAT = str(resposta_nat.id)
registro_0400.DESCR_NAT = resposta_nat.natureza_operacao
lista.append(registro_0400)
- return lista
+ return lista
def transforma_valor(self, valor):
valor = ("%.2f" % (float(valor)))
@@ -558,15 +571,15 @@ def transforma_valor(self, valor):
def query_registroC100(self, doc):
lista = []
nfe_ids = self.env['invoice.eletronic'].browse(doc)
- for nf in nfe_ids:
+ for nf in nfe_ids:
if (nf.state == 'done') and (nf.model == '55'):
- cancel = False
+ cancel = False
registro_c100 = registros.RegistroC100()
if nf.tipo_operacao == 'entrada':
registro_c100.IND_OPER = '0'
else:
registro_c100.IND_OPER = '1'
- if nf.emissao_doc == '1':
+ if nf.emissao_doc == '1':
registro_c100.IND_EMIT = '0'
else:
registro_c100.IND_EMIT = '1'
@@ -580,27 +593,38 @@ def query_registroC100(self, doc):
registro_c100.CHV_NFE = nf.chave_nfe
registro_c100.NUM_DOC = self.limpa_formatacao(str(nf.numero))
if not cancel:
- registro_c100.DT_DOC = nf.data_emissao
+ registro_c100.DT_DOC = nf.data_emissao
if nf.data_fatura:
- registro_c100.DT_E_S = nf.data_fatura
+ registro_c100.DT_E_S = nf.data_fatura
else:
- registro_c100.DT_E_S = nf.data_emissao
+ registro_c100.DT_E_S = nf.data_emissao
if nf.metodo_pagamento:
registro_c100.IND_PGTO = nf.metodo_pagamento
- registro_c100.VL_MERC = self.transforma_valor(nf.valor_bruto)
+ registro_c100.VL_MERC = self.transforma_valor(
+ nf.valor_bruto)
registro_c100.IND_FRT = str(nf.modalidade_frete)
- registro_c100.VL_FRT = self.transforma_valor(nf.valor_frete)
- registro_c100.VL_SEG = self.transforma_valor(nf.valor_seguro)
- registro_c100.VL_OUT_DA = self.transforma_valor(nf.valor_despesas)
- registro_c100.VL_DESC = self.transforma_valor(nf.valor_desconto)
- registro_c100.VL_DOC = self.transforma_valor(nf.valor_final)
- registro_c100.VL_BC_ICMS = self.transforma_valor(nf.valor_bc_icms)
- registro_c100.VL_ICMS = self.transforma_valor(nf.valor_icms)
- registro_c100.VL_BC_ICMS_ST = self.transforma_valor(nf.valor_bc_icmsst)
- registro_c100.VL_ICMS_ST = self.transforma_valor(nf.valor_icmsst)
+ registro_c100.VL_FRT = self.transforma_valor(
+ nf.valor_frete)
+ registro_c100.VL_SEG = self.transforma_valor(
+ nf.valor_seguro)
+ registro_c100.VL_OUT_DA = self.transforma_valor(
+ nf.valor_despesas)
+ registro_c100.VL_DESC = self.transforma_valor(
+ nf.valor_desconto)
+ registro_c100.VL_DOC = self.transforma_valor(
+ nf.valor_final)
+ registro_c100.VL_BC_ICMS = self.transforma_valor(
+ nf.valor_bc_icms)
+ registro_c100.VL_ICMS = self.transforma_valor(
+ nf.valor_icms)
+ registro_c100.VL_BC_ICMS_ST = self.transforma_valor(
+ nf.valor_bc_icmsst)
+ registro_c100.VL_ICMS_ST = self.transforma_valor(
+ nf.valor_icmsst)
registro_c100.VL_IPI = self.transforma_valor(nf.valor_ipi)
registro_c100.VL_PIS = self.transforma_valor(nf.valor_pis)
- registro_c100.VL_COFINS = self.transforma_valor(nf.valor_cofins)
+ registro_c100.VL_COFINS = self.transforma_valor(
+ nf.valor_cofins)
registro_c100.COD_PART = str(nf.partner_id.id)
lista.append(registro_c100)
return lista
@@ -608,18 +632,20 @@ def query_registroC100(self, doc):
def query_registroC170(self, doc):
lista = []
nfe_line = self.env['invoice.eletronic.item'].search([
- ('invoice_eletronic_id','=', doc),
- ], order='num_item')
+ ('invoice_eletronic_id', '=', doc),
+ ], order='num_item')
n_item = 1
for item in nfe_line:
registro_c170 = registros.RegistroC170()
if item.num_item > 1:
registro_c170.NUM_ITEM = str(item.num_item)
else:
- registro_c170.NUM_ITEM = str(n_item) # str(item.num_item_xml or n_item)
- cprod = item.product_id.default_code #.replace('.','')
+ # str(item.num_item_xml or n_item)
+ registro_c170.NUM_ITEM = str(n_item)
+ cprod = item.product_id.default_code # .replace('.','')
registro_c170.COD_ITEM = cprod
- registro_c170.DESCR_COMPL = self.limpa_caracteres(item.name.strip())
+ registro_c170.DESCR_COMPL = self.limpa_caracteres(
+ item.name.strip())
registro_c170.QTD = self.transforma_valor(item.quantidade)
if item.uom_id.name.find('-') != -1:
unidade = item.uom_id.name[:item.uom_id.name.find('-')]
@@ -633,63 +659,77 @@ def query_registroC170(self, doc):
else:
registro_c170.IND_MOV = '0'
try:
- registro_c170.CST_ICMS = '%s%s' %(str(item.origem), str(item.icms_cst))
+ registro_c170.CST_ICMS = '%s%s' % (
+ str(item.origem), str(item.icms_cst))
except:
- msg_err = 'Sem CST na Fatura %s.
' %(str(resposta.number or resposta.id))
+ msg_err = 'Sem CST na Fatura %s.
' % (
+ str(resposta.number or resposta.id))
#raise UserError(msg_err)
self.log_faturamento += msg_err
if item.cfop:
registro_c170.CFOP = str(item.cfop)
else:
registro_c170.CFOP = '0000'
- #if r_nfe.id == 407:
+ # if r_nfe.id == 407:
# import pudb;pu.db
- registro_c170.COD_NAT = str(item.invoice_eletronic_id.fiscal_position_id.id)
- registro_c170.VL_BC_ICMS = self.transforma_valor(item.icms_base_calculo)
+ registro_c170.COD_NAT = str(
+ item.invoice_eletronic_id.fiscal_position_id.id)
+ registro_c170.VL_BC_ICMS = self.transforma_valor(
+ item.icms_base_calculo)
registro_c170.ALIQ_ICMS = '0'
registro_c170.ALIQ_ICMS = self.transforma_valor(item.icms_aliquota)
-
+
registro_c170.VL_ICMS = self.transforma_valor(item.icms_valor)
- registro_c170.VL_BC_ICMS_ST = self.transforma_valor(item.icms_st_base_calculo)
+ registro_c170.VL_BC_ICMS_ST = self.transforma_valor(
+ item.icms_st_base_calculo)
if item.icms_st_aliquota:
- registro_c170.ALIQ_ST = self.transforma_valor(item.icms_st_aliquota)
- registro_c170.VL_ICMS_ST = self.transforma_valor(item.icms_st_valor)
+ registro_c170.ALIQ_ST = self.transforma_valor(
+ item.icms_st_aliquota)
+ registro_c170.VL_ICMS_ST = self.transforma_valor(
+ item.icms_st_valor)
# TODO incluir na empresa o IND_APUR
registro_c170.IND_APUR = '0'
registro_c170.CST_IPI = item.ipi_cst
- registro_c170.VL_BC_IPI = self.transforma_valor(item.ipi_base_calculo)
+ registro_c170.VL_BC_IPI = self.transforma_valor(
+ item.ipi_base_calculo)
if item.ipi_aliquota:
- registro_c170.ALIQ_IPI = self.transforma_valor(item.ipi_aliquota)
+ registro_c170.ALIQ_IPI = self.transforma_valor(
+ item.ipi_aliquota)
registro_c170.VL_IPI = self.transforma_valor(item.ipi_valor)
registro_c170.CST_PIS = item.pis_cst
- registro_c170.VL_BC_PIS = self.transforma_valor(item.pis_base_calculo)
+ registro_c170.VL_BC_PIS = self.transforma_valor(
+ item.pis_base_calculo)
registro_c170.ALIQ_PIS = self.transforma_valor(item.pis_aliquota)
- #registro_c170.QUANT_BC_PIS = self.transforma_valor(
+ # registro_c170.QUANT_BC_PIS = self.transforma_valor(
registro_c170.VL_PIS = self.transforma_valor(item.pis_valor)
registro_c170.CST_COFINS = item.cofins_cst
- registro_c170.VL_BC_COFINS = self.transforma_valor(item.cofins_base_calculo)
- registro_c170.ALIQ_COFINS = self.transforma_valor(item.cofins_aliquota)
- #registro_c170.QUANT_BC_COFINS = self.transforma_valor(
+ registro_c170.VL_BC_COFINS = self.transforma_valor(
+ item.cofins_base_calculo)
+ registro_c170.ALIQ_COFINS = self.transforma_valor(
+ item.cofins_aliquota)
+ # registro_c170.QUANT_BC_COFINS = self.transforma_valor(
registro_c170.VL_COFINS = self.transforma_valor(item.cofins_valor)
n_item += 1
-
+
lista.append(registro_c170)
return lista
# transporte
- #TODO DEIXAMOS FORA POIS NAO EXISTE NO ATS ADMIN
+ # TODO DEIXAMOS FORA POIS NAO EXISTE NO ATS ADMIN
def query_registroD100(self, doc):
lista = []
resposta_cte = self.env['account.invoice'].browse(fatura)
for resposta in resposta_cte:
- cte = self.env['invoice.eletronic'].search([('invoice_id','=',fatura)])
+ cte = self.env['invoice.eletronic'].search(
+ [('invoice_id', '=', fatura)])
registro_d100 = registros.RegistroD100()
- registro_d100.IND_OPER = '0' # Aquisicao
- registro_d100.IND_EMIT = '1' # Terceiros
+ registro_d100.IND_OPER = '0' # Aquisicao
+ registro_d100.IND_EMIT = '1' # Terceiros
registro_d100.COD_PART = str(resposta.partner_id.id)
- registro_d100.COD_MOD = str(resposta.nfe_modelo) # or resposta_nfe.product_document_id.code).zfill(2)
- #if cte.tp_emiss_cte == '1':
+ # or resposta_nfe.product_document_id.code).zfill(2)
+ registro_d100.COD_MOD = str(resposta.nfe_modelo)
+ # if cte.tp_emiss_cte == '1':
registro_d100.COD_SIT = '00'
"""
elif cte.tp_emiss_cte == '2':
@@ -709,22 +749,29 @@ def query_registroD100(self, doc):
elif cte.tp_emiss_cte == '9':
registro_d100.COD_SIT = '08'
"""
- registro_d100.SER = resposta.nfe_serie[:3] # resposta.product_serie_id.code
+ registro_d100.SER = resposta.nfe_serie[:
+ 3] # resposta.product_serie_id.code
if resposta.nfe_chave:
if len(resposta.nfe_chave) != 44:
- msg_err = 'Tamanho da Chave NFe invalida - Fatura %s.' %(str(resposta.number or resposta.id))
+ msg_err = 'Tamanho da Chave NFe invalida - Fatura %s.' % (
+ str(resposta.number or resposta.id))
#raise UserError(msg_err)
self.log_faturamento += msg_err
- registro_d100.CHV_CTE = str(resposta.nfe_chave) # or resposta_nfe.chave_nfe
- registro_d100.NUM_DOC = self.limpa_formatacao(str(cte.numero)) # or resposta_nfe.numero))
+ # or resposta_nfe.chave_nfe
+ registro_d100.CHV_CTE = str(resposta.nfe_chave)
+ registro_d100.NUM_DOC = self.limpa_formatacao(
+ str(cte.numero)) # or resposta_nfe.numero))
registro_d100.DT_A_P = cte.data_fatura or resposta.date_invoice
registro_d100.DT_DOC = cte.data_emissao or resposta.date_invoice
- #registro_d100.TP_CT-e = '0' # NORMAL
+ # registro_d100.TP_CT-e = '0' # NORMAL
registro_d100.VL_DOC = self.transforma_valor(resposta.amount_total)
- registro_d100.VL_DESC = self.transforma_valor(resposta.total_desconto)
- registro_d100.IND_FRT = '1' # Destinatario
- registro_d100.VL_SERV = self.transforma_valor(resposta.amount_total)
- registro_d100.VL_BC_ICMS = self.transforma_valor(resposta.icms_base)
+ registro_d100.VL_DESC = self.transforma_valor(
+ resposta.total_desconto)
+ registro_d100.IND_FRT = '1' # Destinatario
+ registro_d100.VL_SERV = self.transforma_valor(
+ resposta.amount_total)
+ registro_d100.VL_BC_ICMS = self.transforma_valor(
+ resposta.icms_base)
registro_d100.VL_ICMS = self.transforma_valor(resposta.icms_value)
registro_d100.VL_NT = '0'
registro_d100.COD_INF = ''
@@ -766,7 +813,7 @@ def query_registroD120(self, fatura):
registro_d110.VL_SERV = self.transforma_valor(itens.price_subtotal)
registro_d110.VL_OUT = '0'
item += 1
- """
+ """
# transporte - analitico
def query_registroD190(self, fatura):
@@ -893,8 +940,8 @@ def query_registroM200(self, periodo):
regM210.COD_CONT = '51'
regM210.VL_REC_BRT = self.transforma_valor(resposta[0])
regM210.VL_BC_CONT = self.transforma_valor(resposta[0])
- regM210.VL_AJUS_ACRES_BC_PIS = '0'
- regM210.VL_AJUS_REDUC_BC_PIS = '0'
+ regM210.VL_AJUS_ACRES_BC_PIS = '0'
+ regM210.VL_AJUS_REDUC_BC_PIS = '0'
regM210.VL_BC_CONT_AJUS = self.transforma_valor(resposta[0])
regM210.ALIQ_PIS = self.transforma_valor(resposta[1])
regM210.QUANT_BC_PIS = '0'
@@ -906,7 +953,7 @@ def query_registroM200(self, periodo):
regM210.VL_CONT_DIFER_ANT = '0'
regM210.VL_CONT_PER = self.transforma_valor(resposta[2])
lista.append(regM210)
-
+
return lista
"""
@@ -983,7 +1030,7 @@ def query_registroM410(self, cst_pis, periodo):
registro_M410.NAT_REC = resposta[0]
registro_M410.VL_REC = self.transforma_valor(resposta[1])
registro_M410.COD_CTA = '1.1.06.11.00.00'
- lista.append(registro_M410)
+ lista.append(registro_M410)
return lista
def query_registroM600(self, periodo):
@@ -1035,8 +1082,8 @@ def query_registroM600(self, periodo):
regM610.COD_CONT = '51'
regM610.VL_REC_BRT = self.transforma_valor(resposta[0])
regM610.VL_BC_CONT = self.transforma_valor(resposta[0])
- regM610.VL_AJUS_ACRES_BC_COFINS = '0'
- regM610.VL_AJUS_REDUC_BC_COFINS = '0'
+ regM610.VL_AJUS_ACRES_BC_COFINS = '0'
+ regM610.VL_AJUS_REDUC_BC_COFINS = '0'
regM610.VL_BC_CONT_AJUS = self.transforma_valor(resposta[0])
regM610.ALIQ_COFINS = self.transforma_valor(resposta[1])
regM610.QUANT_BC_COFINS = '0'
@@ -1120,5 +1167,5 @@ def query_registroM810(self, cofins_cst, periodo):
registro_M810.NAT_REC = cod_nat[:3]
registro_M810.VL_REC = self.transforma_valor(resposta[1])
registro_M810.COD_CTA = '1.1.06.11.00.00'
- lista.append(registro_M810)
+ lista.append(registro_M810)
return lista
diff --git a/br_sped_efd_icms_ipi/models/sped_icms_ipi.py b/br_sped_efd_icms_ipi/models/sped_icms_ipi.py
index 1dca6dd8d..623f2e2db 100644
--- a/br_sped_efd_icms_ipi/models/sped_icms_ipi.py
+++ b/br_sped_efd_icms_ipi/models/sped_icms_ipi.py
@@ -48,20 +48,20 @@ class SpedEfdIcmsIpi(models.Model):
_description = "Cria o arquivo para o Sped ICMS / IPI"
_order = "date_start desc"
- date_start= fields.Date(string='Inicio de')
+ date_start = fields.Date(string='Inicio de')
date_end = fields.Date(string='até')
data_vencimento_e316 = fields.Date(string='Vencimento E-316')
-
+
cod_obrigacao = fields.Selection([
('000', 'ICMS a recolher'),
('003', 'Antecipação do diferencial de alíquotas do ICMS'),
('004', 'Antecipação do ICMS da importação'),
('005', 'Antecipação tributária'),
('006', 'ICMS resultante da alíquota adicional dos itens incluídos no Fundo de Combate à Pobreza'),
- ('090', 'Outras obrigações do ICMS'),
- ], string= 'Código Obrigação', dafault='000')
-
- cod_receita = fields.Selection([
+ ('090', 'Outras obrigações do ICMS'),
+ ], string='Código Obrigação', dafault='000')
+
+ cod_receita = fields.Selection([
('046-2', 'Regime Periódico de Apuração'),
('060-7', 'Regime de Estimativa'),
('063-2', 'Outros recolhimentos especiais'),
@@ -98,31 +98,35 @@ class SpedEfdIcmsIpi(models.Model):
('154-5', 'Diferença de estimativa'),
('214-8', 'Mercadoria importada (desembaraçada em outra UF)'),
('246-0', 'Substituição tributária por apuração (contribuinte de outra UF )'),
- ('247-1', 'Substituição tributária por operação (outra UF)'),
- ], string='Código Receita')
-
+ ('247-1', 'Substituição tributária por operação (outra UF)'),
+ ], string='Código Receita')
+
tipo_arquivo = fields.Selection([
('0', 'Remessa do arquivo original'),
('1', 'Remessa do arquivo substituto'),
- ], string='Finalidade do Arquivo', default='0')
+ ], string='Finalidade do Arquivo', default='0')
ind_apur = fields.Selection([
('0', 'Mensal'),
('1', 'Decendial'),
- ], string='Período apuração IPI', default='0')
+ ], string='Período apuração IPI', default='0')
ind_ativ = fields.Selection([
('0', 'Industrial ou equiparado a industrial'),
('1', 'Outros'),
- ], string='Indicador tipo atividade', default='0')
+ ], string='Indicador tipo atividade', default='0')
log_faturamento = fields.Html('Log de Faturamento')
company_id = fields.Many2one('res.company', string='Empresa', required=True,
- default=lambda self: self.env['res.company']._company_default_get('account.account'))
+ default=lambda self: self.env['res.company']._company_default_get('account.account'))
sped_file = fields.Binary(string=u"Sped")
sped_file_name = fields.Char(
string=u"Arquivo Sped")
- vl_sld_cred_ant_difal = fields.Float('Saldo Credor per. ant. Difal', default=0.0)
- vl_sld_cred_transp_difal = fields.Float('Saldo Credor per. seguinte Difal', default=0.0)
- vl_sld_cred_ant_fcp = fields.Float('Saldo Credor per. ant. FCP', default=0.0)
- vl_sld_cred_transp_fcp = fields.Float('Saldo Credor per. seguinte FCP', default=0.0)
+ vl_sld_cred_ant_difal = fields.Float(
+ 'Saldo Credor per. ant. Difal', default=0.0)
+ vl_sld_cred_transp_difal = fields.Float(
+ 'Saldo Credor per. seguinte Difal', default=0.0)
+ vl_sld_cred_ant_fcp = fields.Float(
+ 'Saldo Credor per. ant. FCP', default=0.0)
+ vl_sld_cred_transp_fcp = fields.Float(
+ 'Saldo Credor per. seguinte FCP', default=0.0)
clas_estab_ind = fields.Selection([
('00', 'Industrial - Transformação'),
('01', 'Industrial - Beneficiamento'),
@@ -133,13 +137,14 @@ class SpedEfdIcmsIpi(models.Model):
('06', 'Equiparado a industrial - Importação Direta'),
('07', 'Equiparado a industrial - Por lei específica'),
('08', 'Equiparado a industrial - Não enquadrado nos códigos 05, 06 ou 07'),
- ('09', 'Outros'),
- ], string='Classif. estabelecimento')
+ ('09', 'Outros'),
+ ], string='Classif. estabelecimento')
@api.multi
def create_file(self):
if self.date_start > self.date_end:
- raise UserError('Erro, a data de início é maior que a data de encerramento!')
+ raise UserError(
+ 'Erro, a data de início é maior que a data de encerramento!')
self.log_faturamento = 'Gerando arquivo ..
'
self.registro0000()
if not self.log_faturamento:
@@ -165,7 +170,7 @@ def limpa_caracteres(self, data):
def limpa_formatacao(self, data):
if data:
- replace = ['-', ' ', '(', ')', '/', '.', ':','º']
+ replace = ['-', ' ', '(', ')', '/', '.', ':', 'º']
for i in replace:
data = data.replace(i, '')
return data
@@ -181,24 +186,27 @@ def junta_pipe(self, registro):
def registro0000(self):
arq = ArquivoDigital()
- cod_mun = '%s%s' %(self.company_id.state_id.ibge_code, self.company_id.city_id.ibge_code)
+ cod_mun = '%s%s' % (self.company_id.state_id.ibge_code,
+ self.company_id.city_id.ibge_code)
arq._registro_abertura.COD_VER = self.versao()
arq._registro_abertura.COD_FIN = self.tipo_arquivo
arq._registro_abertura.DT_INI = self.date_start
arq._registro_abertura.DT_FIN = self.date_end
arq._registro_abertura.NOME = self.company_id.legal_name
- arq._registro_abertura.CNPJ = self.limpa_formatacao(self.company_id.cnpj_cpf)
+ arq._registro_abertura.CNPJ = self.limpa_formatacao(
+ self.company_id.cnpj_cpf)
arq._registro_abertura.UF = self.company_id.state_id.code
- arq._registro_abertura.IE = self.limpa_formatacao(self.company_id.inscr_est)
+ arq._registro_abertura.IE = self.limpa_formatacao(
+ self.company_id.inscr_est)
arq._registro_abertura.COD_MUN = self.formata_cod_municipio(cod_mun)
arq._registro_abertura.IM = ''
arq._registro_abertura.SUFRAMA = ''
arq._registro_abertura.IND_PERFIL = 'A'
arq._registro_abertura.IND_ATIV = self.ind_ativ
#reg0001 = Registro0001()
- #if inv:
+ # if inv:
# reg0001.IND_MOV = '0'
- #else:
+ # else:
# reg0001.IND_MOV = '1'
if self.ind_ativ == '0':
reg0002 = Registro0002()
@@ -213,7 +221,7 @@ def registro0000(self):
reg0005.BAIRRO = self.company_id.district
reg0005.FONE = self.limpa_formatacao(self.company_id.phone)
reg0005.EMAIL = self.company_id.email
- arq._blocos['0'].add(reg0005)
+ arq._blocos['0'].add(reg0005)
if self.company_id.accountant_id:
contabilista = Registro0100()
@@ -221,12 +229,12 @@ def registro0000(self):
if len(self.company_id.accountant_id.cnpj_cpf) > 14:
if self.company_id.accountant_id.child_ids:
ctd = self.company_id.accountant_id.child_ids[0]
- else:
+ else:
msg_err = 'Cadastre o contador Pessoa Fisica dentro do Contato da Contabilidade'
raise UserError(msg_err)
contador = ctd.name
cpf = ctd.cnpj_cpf
- cod_mun = '%s%s' %(ctd.state_id.ibge_code, ctd.city_id.ibge_code)
+ cod_mun = '%s%s' % (ctd.state_id.ibge_code, ctd.city_id.ibge_code)
contabilista.NOME = contador
contabilista.CPF = self.limpa_formatacao(cpf)
contabilista.CRC = self.limpa_formatacao(ctd.rg_fisica)
@@ -240,18 +248,18 @@ def registro0000(self):
contabilista.COD_MUN = cod_mun
arq._blocos['0'].add(contabilista)
dt = self.date_start
- dta_s = '%s-%s-%s' %(str(dt.year),str(dt.month).zfill(2),
- str(dt.day).zfill(2))
+ dta_s = '%s-%s-%s' % (str(dt.year), str(dt.month).zfill(2),
+ str(dt.day).zfill(2))
dt = self.date_end
- dta_e = '%s-%s-%s' %(str(dt.year),str(dt.month).zfill(2),
- str(dt.day).zfill(2))
+ dta_e = '%s-%s-%s' % (str(dt.year), str(dt.month).zfill(2),
+ str(dt.day).zfill(2))
periodo = 'date_trunc(\'day\', ie.data_fatura) \
- between \'%s\' and \'%s\'' %(dta_s, dta_e)
+ between \'%s\' and \'%s\'' % (dta_s, dta_e)
com_movimento = '1'
for item_lista in self.query_registro0150(periodo):
com_movimento = '0'
arq.read_registro(self.junta_pipe(item_lista))
-
+
for item_lista in self.query_registro0190(periodo):
arq.read_registro(self.junta_pipe(item_lista))
@@ -263,17 +271,16 @@ def registro0000(self):
# 0220 - Conversão Unidade Medida
for item_unit in self.query_registro0220(item_lista.COD_ITEM, periodo):
arq.read_registro(self.junta_pipe(item_unit))
-
-
+
for item_lista in self.query_registro0400(periodo):
arq.read_registro(self.junta_pipe(item_lista))
-
+
regB001 = RegistroB001()
- #arq._blocos['B'].add(regB001)
-
+ # arq._blocos['B'].add(regB001)
+
regC001 = RegistroC001()
regC001.IND_MOV = com_movimento
- #arq._blocos['C'].add(regC001)
+ # arq._blocos['C'].add(regC001)
query = """
select distinct
ie.id, ie.state, ie.emissao_doc
@@ -301,12 +308,11 @@ def registro0000(self):
if id[2] == '2':
for item_lista in self.query_registroC170(nf):
arq.read_registro(self.junta_pipe(item_lista))
-
+
for item_lista in self.query_registroC190(nf):
arq.read_registro(self.junta_pipe(item_lista))
-
- # TODO BLOCO D - prestações ou contratações de serviços
+ # TODO BLOCO D - prestações ou contratações de serviços
# de comunicação, transporte interestadual e intermunicipa
# TODO D100 - Periodo Apuracao
@@ -329,7 +335,7 @@ def registro0000(self):
registro_D001.IND_MOV = '0'
else:
registro_D001.IND_MOV = '1'
- #arq._blocos['D'].add(registro_D001)
+ # arq._blocos['D'].add(registro_D001)
for cte_id in query_resposta:
for item_lista in self.query_registroD100(cte_id[0]):
@@ -343,24 +349,24 @@ def registro0000(self):
arq._blocos['E'].add(registro_E100)
for item_lista in self.query_registroE110(periodo):
- arq.read_registro(self.junta_pipe(item_lista))
-
+ arq.read_registro(self.junta_pipe(item_lista))
+
for item_lista in self.query_registroE200(periodo):
arq.read_registro(self.junta_pipe(item_lista))
for item in self.query_registroE210(item_lista.UF, periodo):
arq.read_registro(self.junta_pipe(item))
for item_lista in self.query_registroE300(periodo):
- arq.read_registro(self.junta_pipe(item_lista))
+ arq.read_registro(self.junta_pipe(item_lista))
for uf_lista in self.query_registroE310(
- self.company_id.state_id.code,
- item_lista.UF,
- perido):
+ self.company_id.state_id.code,
+ item_lista.UF,
+ perido):
arq.read_registro(self.junta_pipe(uf_lista))
for uf_lista in self.query_registroE316(
- self.company_id.state_id.code,
- item_lista.UF,
- periodo):
+ self.company_id.state_id.code,
+ item_lista.UF,
+ periodo):
arq.read_registro(self.junta_pipe(uf_lista))
if self.ind_ativ == '0':
@@ -379,20 +385,20 @@ def registro0000(self):
registro_K100.DT_INI = self.date_start
registro_K100.DT_FIN = self.date_end
arq._blocos['K'].add(registro_K100)
-
+
# K200
for item_lista in self.query_registroK200():
arq.read_registro(self.junta_pipe(item_lista))
-
+
registro_1001 = Registro1001()
registro_1001.IND_MOV = '0'
- #arq._blocos['1'].add(registro_1001)
+ # arq._blocos['1'].add(registro_1001)
- # TODO Colocar no cadastro da Empresa
+ # TODO Colocar no cadastro da Empresa
registro_1010 = Registro1010()
registro_1010.IND_EXP = 'N'
registro_1010.IND_CCRF = 'N'
- registro_1010.IND_COMB = 'N'
+ registro_1010.IND_COMB = 'N'
registro_1010.IND_USINA = 'N'
registro_1010.IND_VA = 'N'
registro_1010.IND_EE = 'N'
@@ -405,12 +411,13 @@ def registro0000(self):
registro_1010.IND_REST_RESSARC_COMPL_ICMS = 'N'
arq._blocos['1'].add(registro_1010)
arq.prepare()
- self.sped_file_name = 'Sped-%s_%s.txt' % (
+ self.sped_file_name = 'Sped-%s_%s.txt' % (
str(dt.month).zfill(2), str(dt.year))
#arqxx = open('/opt/odoo/novo_arquivo.txt', 'w')
- #arqxx.write(arq.getstring())
- #arqxx.close()
- self.sped_file = base64.encodestring(bytes(arq.getstring(), 'iso-8859-1'))
+ # arqxx.write(arq.getstring())
+ # arqxx.close()
+ self.sped_file = base64.encodestring(
+ bytes(arq.getstring(), 'iso-8859-1'))
def query_registro0150(self, periodo):
query = """
@@ -434,25 +441,30 @@ def query_registro0150(self, periodo):
cod_pais = resposta_participante.country_id.bc_code
registro_0150.COD_PAIS = cod_pais
cpnj_cpf = self.limpa_formatacao(resposta_participante.cnpj_cpf)
- cod_mun = '%s%s' %(resposta_participante.state_id.ibge_code, resposta_participante.city_id.ibge_code)
+ cod_mun = '%s%s' % (resposta_participante.state_id.ibge_code,
+ resposta_participante.city_id.ibge_code)
if cod_pais == '01058':
registro_0150.COD_MUN = self.formata_cod_municipio(cod_mun)
if len(cpnj_cpf) == 11:
registro_0150.CPF = cpnj_cpf
else:
registro_0150.CNPJ = cpnj_cpf
- registro_0150.IE = self.limpa_formatacao(resposta_participante.inscr_est)
+ registro_0150.IE = self.limpa_formatacao(
+ resposta_participante.inscr_est)
else:
registro_0150.COD_MUN = '9999999'
- registro_0150.SUFRAMA = self.limpa_formatacao(resposta_participante.suframa)
+ registro_0150.SUFRAMA = self.limpa_formatacao(
+ resposta_participante.suframa)
registro_0150.END = resposta_participante.street
registro_0150.NUM = resposta_participante.number
registro_0150.COMPL = ''
if resposta_participante.street2:
- registro_0150.COMPL = str(resposta_participante.street2.split())
+ registro_0150.COMPL = str(
+ resposta_participante.street2.split())
registro_0150.BAIRRO = ''
if resposta_participante.district:
- registro_0150.BAIRRO = str(resposta_participante.district.split())
+ registro_0150.BAIRRO = str(
+ resposta_participante.district.split())
lista.append(registro_0150)
return lista
@@ -494,26 +506,27 @@ def query_registro0190(self, periodo):
unidade = id[0]
unidade = unidade[:6]
if un == unidade:
- continue
+ continue
lista_un.append(unidade)
registro_0190.UNID = unidade
desc = id[1]
if not desc:
- msg_err = 'Unidade de medida sem descricao - Un %s.' %(unidade)
+ msg_err = 'Unidade de medida sem descricao - Un %s.' % (
+ unidade)
raise UserError(msg_err)
registro_0190.DESCR = desc.strip()
lista.append(registro_0190)
un = unidade
# adicionar Lista dos itens q tem estoque e nao estao aqui
- data_estoque = '%s 23:59:00' %(datetime.strftime(
- self.date_end, '%Y-%m-%d'))
+ data_estoque = '%s 23:59:00' % (datetime.strftime(
+ self.date_end, '%Y-%m-%d'))
context = dict(self.env.context, to_date=data_estoque)
product = self.env['product.product'].with_context(context)
resposta_inv = product.search([])
produtos = []
for inv in resposta_inv:
if inv.qty_available > 0.0 and \
- inv.l10n_br_sped_type in ('00','01','02','03','04','05','06','10'):
+ inv.l10n_br_sped_type in ('00', '01', '02', '03', '04', '05', '06', '10'):
produtos.append(inv.id)
un = ''
lista_unk = []
@@ -524,11 +537,11 @@ def query_registro0190(self, periodo):
if not resposta_produto:
continue
if un == resposta_produto.uom_id.name:
- continue
- if resposta_produto.uom_id.name in lista_unk:
+ continue
+ if resposta_produto.uom_id.name in lista_unk:
continue
lista_unk.append(resposta_produto.uom_id.name)
- if resposta_produto.uom_id.name.upper() not in lista_un:
+ if resposta_produto.uom_id.name.upper() not in lista_un:
registro_0190 = registros.Registro0190()
registro_0190.UNID = resposta_produto.uom_id.name
registro_0190.DESCR = resposta_produto.uom_id.l10n_br_description
@@ -574,7 +587,8 @@ def query_registro0200(self, periodo):
if resposta_produto.barcode != resposta_produto.default_code:
registro_0200.COD_BARRA = resposta_produto.barcode
if resposta_produto.uom_id.name.find('-') != -1:
- unidade = resposta_produto.uom_id.name[:resposta_produto.uom_id.name.find('-')]
+ unidade = resposta_produto.uom_id.name[:resposta_produto.uom_id.name.find(
+ '-')]
else:
unidade = resposta_produto.uom_id.name
unidade = unidade.strip()
@@ -582,10 +596,11 @@ def query_registro0200(self, periodo):
unidade = unidade[:6]
registro_0200.UNID_INV = unidade[:6]
registro_0200.TIPO_ITEM = resposta_produto.l10n_br_sped_type
- registro_0200.COD_NCM = self.limpa_formatacao(resposta_produto.fiscal_classification_id.code)
+ registro_0200.COD_NCM = self.limpa_formatacao(
+ resposta_produto.fiscal_classification_id.code)
lista.append(registro_0200)
- # adicionar Lista dos itens q tem estoque e nao estao aqui
- data_estoque = '%s 23:59:00' %(datetime.strftime(
+ # adicionar Lista dos itens q tem estoque e nao estao aqui
+ data_estoque = '%s 23:59:00' % (datetime.strftime(
self.date_end, '%Y-%m-%d'))
context = dict(self.env.context, to_date=data_estoque)
product = self.env['product.product'].with_context(context)
@@ -593,26 +608,29 @@ def query_registro0200(self, periodo):
produtos = []
for inv in resposta_inv:
if inv.qty_available > 0.0 and \
- inv.l10n_br_sped_type in ('00','01','02','03','04','05','06','10'):
+ inv.l10n_br_sped_type in ('00', '01', '02', '03', '04', '05', '06', '10'):
produtos.append(inv.id)
for prd in produtos:
- if prd not in lista_item:
+ if prd not in lista_item:
resposta_produto = self.env['product.product'].browse(prd)
if not resposta_produto:
continue
registro_0200 = registros.Registro0200()
cprod = resposta_produto.default_code
registro_0200.COD_ITEM = cprod[:60]
- registro_0200.DESCR_ITEM = unidecode(resposta_produto.name.strip())
+ registro_0200.DESCR_ITEM = unidecode(
+ resposta_produto.name.strip())
if resposta_produto.barcode != resposta_produto.default_code:
registro_0200.COD_BARRA = resposta_produto.barcode
if resposta_produto.uom_id.name.find('-') != -1:
- unidade = resposta_produto.uom_id.name[:resposta_produto.uom_id.name.find('-')]
+ unidade = resposta_produto.uom_id.name[:resposta_produto.uom_id.name.find(
+ '-')]
else:
unidade = resposta_produto.uom_id.name
registro_0200.UNID_INV = unidade[:6].upper()
registro_0200.TIPO_ITEM = resposta_produto.l10n_br_sped_type
- registro_0200.COD_NCM = self.limpa_formatacao(resposta_produto.fiscal_classification_id.code)
+ registro_0200.COD_NCM = self.limpa_formatacao(
+ resposta_produto.fiscal_classification_id.code)
lista.append(registro_0200)
return lista
@@ -621,32 +639,32 @@ def query_registro0205(self, item):
# alteração do item, deverá ser informada no primeiro período \
# em que houver movimentação do item ou no inventário.
lista = []
- # O valor informado deve ser menor que no campo DT_FIN do registro 0000.
+ # O valor informado deve ser menor que no campo DT_FIN do registro 0000.
# tem q buscar a partir do ultimo dia do mes anterior
# pois, se alterou no ultimo dia nao entrou no arquivo anterior
- data_final = datetime.strptime('%s 23:59:00' %(datetime.strftime(
+ data_final = datetime.strptime('%s 23:59:00' % (datetime.strftime(
self.date_end, '%Y-%m-%d')), '%Y-%m-%d %H:%M:%S')
- data_final = data_final - timedelta(days=1)
- #data_final = datetime.strftime(data_final, '%Y-%m-%d %H:%M:%S')
- data_ini = datetime.strptime('%s 01:00:00' %(datetime.strftime(
+ data_final = data_final - timedelta(days=1)
+ #data_final = datetime.strftime(data_final, '%Y-%m-%d %H:%M:%S')
+ data_ini = datetime.strptime('%s 01:00:00' % (datetime.strftime(
self.date_end, '%Y-%m-%d')), '%Y-%m-%d %H:%M:%S')
- data_ini = data_ini - timedelta(days=1)
- #data_ini = datetime.strftime(data_ini, '%Y-%m-%d %H:%M:%S')
+ data_ini = data_ini - timedelta(days=1)
+ #data_ini = datetime.strftime(data_ini, '%Y-%m-%d %H:%M:%S')
resposta_produto = self.env['l10n_br.product.changes'].search([
- ('product_id.default_code','=',item),
+ ('product_id.default_code', '=', item),
('changed_date', '>=', data_ini),
('changed_date', '<=', data_final)
- ],limit=1,order='changed_date desc')
+ ], limit=1, order='changed_date desc')
ultima_alteracao = data_ini
for alterado in resposta_produto:
ultima_mudanca = self.env['l10n_br.product.changes'].search([
- ('product_id.default_code','=',item),
+ ('product_id.default_code', '=', item),
('changed_date', '<', ultima_alteracao)
- ],limit=1,order='changed_date desc')
+ ], limit=1, order='changed_date desc')
if ultima_mudanca:
data_inicio = ultima_mudanca.changed_date
else:
- data_inicio = alterado.product_id.create_date
+ data_inicio = alterado.product_id.create_date
registro_0205 = registros.Registro0205()
if not alterado.old_value:
continue
@@ -720,11 +738,12 @@ def query_registro0220(self, ITEM, periodo):
registro_0220.UNID_CONV = str(resposta[4][:6])
registro_0220.FAT_CONV = conversao
except:
- x_error = 'Erro, fator conversao : %s - %s' %(str(resposta[4][:6]), str(conversao))
+ x_error = 'Erro, fator conversao : %s - %s' % (
+ str(resposta[4][:6]), str(conversao))
raise UserError(x_error)
lista.append(registro_0220)
return lista
-
+
def query_registro0400(self, periodo):
query = """
select distinct
@@ -741,32 +760,33 @@ def query_registro0400(self, periodo):
query_resposta = self._cr.fetchall()
lista = []
for resposta in query_resposta:
- resposta_nat = self.env['account.fiscal.position'].browse(resposta[0])
+ resposta_nat = self.env['account.fiscal.position'].browse(
+ resposta[0])
registro_0400 = registros.Registro0400()
registro_0400.COD_NAT = str(resposta_nat.id)
registro_0400.DESCR_NAT = unidecode(resposta_nat.l10n_br_operation)
lista.append(registro_0400)
- return lista
+ return lista
def transforma_valor(self, valor):
#valor = ("%.2f" % (float(valor)))
- #return str(valor).replace('.', ',')
+ # return str(valor).replace('.', ',')
return valor
def query_registroC100(self, nf):
lista = []
nfe_ids = self.env['invoice.eletronic'].browse(nf)
- for nfe in nfe_ids:
+ for nfe in nfe_ids:
# removendo Emissao de Terceiros canceladas
if nfe.emissao_doc == '2' and nfe.state == 'cancel':
return True
- cancel = False
+ cancel = False
registro_c100 = registros.RegistroC100()
if nfe.tipo_operacao == 'entrada':
registro_c100.IND_OPER = '0'
else:
registro_c100.IND_OPER = '1'
- if nfe.emissao_doc == '1':
+ if nfe.emissao_doc == '1':
registro_c100.IND_EMIT = '0'
else:
registro_c100.IND_EMIT = '1'
@@ -777,14 +797,14 @@ def query_registroC100(self, nf):
elif nfe.finalidade_emissao == '1':
registro_c100.COD_SIT = '00'
elif nfe.finalidade_emissao == '2':
- registro_c100.COD_SIT = '06'
+ registro_c100.COD_SIT = '06'
elif nfe.finalidade_emissao == '4':
- registro_c100.COD_SIT = '00'
- elif nfe.state == 'denied':
- registro_c100.COD_SIT = '04'
+ registro_c100.COD_SIT = '00'
+ elif nfe.state == 'denied':
+ registro_c100.COD_SIT = '04'
if not nfe.state == 'cancel' and nfe.chave_nfe[6:20] != \
- self.limpa_formatacao(nfe.partner_id.cnpj_cpf):
- registro_c100.COD_SIT = '08'
+ self.limpa_formatacao(nfe.partner_id.cnpj_cpf):
+ registro_c100.COD_SIT = '08'
if nfe.serie_documento:
registro_c100.SER = nfe.serie_documento
if nfe.chave_nfe:
@@ -799,7 +819,7 @@ def query_registroC100(self, nf):
registro_c100.DT_E_S = nfe.data_emissao
except:
msg_err = 'Data Emissao Fatura %s , invalida. \
-
' %(str(nfe.numero or nfe.id))
+
' % (str(nfe.numero or nfe.id))
self.log_faturamento += msg_err
if nfe.duplicata_ids:
if len(nfe.duplicata_ids) == 1:
@@ -817,7 +837,7 @@ def query_registroC100(self, nf):
registro_c100.VL_SEG = nfe.valor_seguro
registro_c100.VL_OUT_DA = nfe.valor_despesas
registro_c100.VL_DESC = nfe.valor_desconto
- registro_c100.VL_DOC = nfe.valor_final
+ registro_c100.VL_DOC = nfe.valor_final
registro_c100.VL_BC_ICMS = nfe.valor_bc_icms
registro_c100.VL_ICMS = nfe.valor_icms
registro_c100.VL_BC_ICMS_ST = nfe.valor_bc_icmsst
@@ -826,9 +846,9 @@ def query_registroC100(self, nf):
registro_c100.VL_PIS = nfe.valor_pis
registro_c100.VL_COFINS = nfe.valor_cofins
registro_c100.COD_PART = str(nfe.partner_id.id)
- lista.append(registro_c100)
+ lista.append(registro_c100)
return lista
-
+
def query_registroC101(self, nf):
query = """
select
@@ -853,7 +873,7 @@ def query_registroC101(self, nf):
for id in query_resposta:
registro_c101 = registros.RegistroC101()
registro_c101.VL_FCP_UF_DEST = self.transforma_valor(id[2])
- if id[3] == 'entrada':
+ if id[3] == 'entrada':
registro_c101.VL_ICMS_UF_DEST = self.transforma_valor(id[0])
registro_c101.VL_ICMS_UF_REM = self.transforma_valor(id[1])
else:
@@ -865,8 +885,8 @@ def query_registroC101(self, nf):
def query_registroC170(self, nf):
lista = []
nfe_line = self.env['invoice.eletronic.item'].search([
- ('invoice_eletronic_id','=', nf),
- ], order='num_item')
+ ('invoice_eletronic_id', '=', nf),
+ ], order='num_item')
n_item = 1
for item in nfe_line:
registro_c170 = registros.RegistroC170()
@@ -878,11 +898,13 @@ def query_registroC170(self, nf):
registro_c170.NUM_ITEM = str(n_item)
cprod = item.product_id.default_code
registro_c170.COD_ITEM = cprod
- registro_c170.DESCR_COMPL = self.limpa_caracteres(item.name.strip())
+ registro_c170.DESCR_COMPL = self.limpa_caracteres(
+ item.name.strip())
registro_c170.QTD = self.transforma_valor(item.quantidade)
if not item.uom_id:
- msg_err = 'Sem cadastro UN : %s, NF : %s' %(item.name.strip(), nf.numero)
- raise UserError(msg_err)
+ msg_err = 'Sem cadastro UN : %s, NF : %s' % (
+ item.name.strip(), nf.numero)
+ raise UserError(msg_err)
if item.uom_id.name.find('-') != -1:
unidade = item.uom_id.name[:item.uom_id.name.find('-')]
else:
@@ -897,15 +919,16 @@ def query_registroC170(self, nf):
try:
registro_c170.CST_ICMS = item.product_id.origin + item.icms_cst
except:
- msg_err = 'Sem CST na Fatura %s.
' %(
- str(item.invoice_eletronic_id.numero or
- item.invoice_eletronic_id.id))
+ msg_err = 'Sem CST na Fatura %s.
' % (
+ str(item.invoice_eletronic_id.numero or
+ item.invoice_eletronic_id.id))
self.log_faturamento += msg_err
if item.cfop:
registro_c170.CFOP = str(item.cfop)
else:
registro_c170.CFOP = '0000'
- registro_c170.COD_NAT = str(item.invoice_eletronic_id.fiscal_position_id.id)
+ registro_c170.COD_NAT = str(
+ item.invoice_eletronic_id.fiscal_position_id.id)
registro_c170.VL_BC_ICMS = item.icms_base_calculo
registro_c170.ALIQ_ICMS = '0'
registro_c170.ALIQ_ICMS = item.icms_aliquota
@@ -933,7 +956,7 @@ def query_registroC170(self, nf):
n_item += 1
lista.append(registro_c170)
return lista
-
+
def query_registroC190(self, nf):
query = """
select distinct
@@ -1030,33 +1053,33 @@ def query_registroD100(self, cte):
for cte in cte_ids:
registro_d100 = registros.RegistroD100()
if cte.tipo_operacao == 'entrada':
- registro_d100.IND_OPER = '0' # Aquisicao
+ registro_d100.IND_OPER = '0' # Aquisicao
else:
- registro_d100.IND_OPER = '1' # Prestação
+ registro_d100.IND_OPER = '1' # Prestação
if cte.emissao_doc == 2:
- registro_d100.IND_EMIT = '1' # Terceiros
+ registro_d100.IND_EMIT = '1' # Terceiros
else:
- registro_d100.IND_EMIT = '0' # Propria
+ registro_d100.IND_EMIT = '0' # Propria
registro_d100.COD_PART = str(cte.partner_id.id)
registro_d100.COD_MOD = str(cte.model)
if cte.tp_emiss_cte == '1':
- registro_d100.COD_SIT = '00'
+ registro_d100.COD_SIT = '00'
elif cte.tp_emiss_cte == '2':
- registro_d100.COD_SIT = '01'
+ registro_d100.COD_SIT = '01'
elif cte.tp_emiss_cte == '3':
- registro_d100.COD_SIT = '02'
+ registro_d100.COD_SIT = '02'
elif cte.tp_emiss_cte == '4':
- registro_d100.COD_SIT = '03'
+ registro_d100.COD_SIT = '03'
elif cte.tp_emiss_cte == '5':
- registro_d100.COD_SIT = '04'
+ registro_d100.COD_SIT = '04'
elif cte.tp_emiss_cte == '6':
- registro_d100.COD_SIT = '05'
+ registro_d100.COD_SIT = '05'
elif cte.tp_emiss_cte == '7':
- registro_d100.COD_SIT = '06'
+ registro_d100.COD_SIT = '06'
elif cte.tp_emiss_cte == '8':
- registro_d100.COD_SIT = '07'
+ registro_d100.COD_SIT = '07'
elif cte.tp_emiss_cte == '9':
- registro_d100.COD_SIT = '08'
+ registro_d100.COD_SIT = '08'
registro_d100.SER = cte.serie_documento
if cte.chave_nfe:
registro_d100.CHV_CTE = str(cte.chave_nfe)
@@ -1108,7 +1131,7 @@ def query_registroD120(self, fatura):
registro_d110.VL_SERV = self.transforma_valor(itens.price_subtotal)
registro_d110.VL_OUT = '0'
item += 1
- """
+ """
# transporte - analitico
def query_registroD190(self, nf):
@@ -1160,7 +1183,7 @@ def query_registroD190(self, nf):
return lista
def query_registroE110(self, periodo):
- #SAIDA
+ # SAIDA
query = """
select
sum(COALESCE(ie.valor_icms,0.0)) as VL_ICMS
@@ -1189,7 +1212,7 @@ def query_registroE110(self, periodo):
if id[0]:
sld_icms = id[0]
sld_transp = id[0]
- #ENTRADA
+ # ENTRADA
query = """
select
sum(COALESCE(ie.valor_icms,0.0)) as VL_ICMS
@@ -1210,7 +1233,8 @@ def query_registroE110(self, periodo):
for id in query_resposta:
registro_E110.VL_TOT_CREDITOS = self.transforma_valor(id[0])
if not id[0]:
- registro_E110.VL_ICMS_RECOLHER = self.transforma_valor(sld_icms)
+ registro_E110.VL_ICMS_RECOLHER = self.transforma_valor(
+ sld_icms)
registro_E110.VL_SLD_APURADO = self.transforma_valor(sld_icms)
continue
if id[0] > sld_icms:
@@ -1219,7 +1243,8 @@ def query_registroE110(self, periodo):
registro_E110.VL_SLD_APURADO = '0'
else:
sld_icms = sld_icms - id[0]
- registro_E110.VL_ICMS_RECOLHER = self.transforma_valor(sld_icms)
+ registro_E110.VL_ICMS_RECOLHER = self.transforma_valor(
+ sld_icms)
registro_E110.VL_SLD_APURADO = self.transforma_valor(sld_icms)
sld_transp -= id[0]
if sld_transp > 0.0:
@@ -1234,7 +1259,8 @@ def query_registroE110(self, periodo):
registro_E110.VL_ESTORNOS_DEB = '0'
registro_E110.VL_SLD_CREDOR_ANT = '0'
registro_E110.VL_TOT_DED = '0'
- registro_E110.VL_SLD_CREDOR_TRANSPORTAR = self.transforma_valor(sld_transp)
+ registro_E110.VL_SLD_CREDOR_TRANSPORTAR = self.transforma_valor(
+ sld_transp)
registro_E110.DEB_ESP = '0'
lista.append(registro_E110)
registro_E116 = RegistroE116()
@@ -1242,17 +1268,17 @@ def query_registroE110(self, periodo):
registro_E116.VL_OR = self.transforma_valor(sld_icms)
registro_E116.DT_VCTO = self.data_vencimento_e316
# remover
- #'%s%s%s' %(
- # str(self.data_vencimento_e316.day).zfill(2),
- # str(self.data_vencimento_e316.month).zfill(2),
+ # '%s%s%s' %(
+ # str(self.data_vencimento_e316.day).zfill(2),
+ # str(self.data_vencimento_e316.month).zfill(2),
# str(self.data_vencimento_e316.year))
registro_E116.COD_REC = self.cod_receita
- #registro_E116.NUM_PROC
- #registro_E116.IND_PROC
- #registro_E116.PROC
- #registro_E116.COMPL
- registro_E116.MES_REF = '%s%s' %(
- str(self.date_start.month).zfill(2),
+ # registro_E116.NUM_PROC
+ # registro_E116.IND_PROC
+ # registro_E116.PROC
+ # registro_E116.COMPL
+ registro_E116.MES_REF = '%s%s' % (
+ str(self.date_start.month).zfill(2),
str(self.date_start.year))
lista.append(registro_E116)
return lista
@@ -1362,7 +1388,8 @@ def query_registroE300(self, periodo):
lista.append(registro_e300)
if not uf_emitente and query_resposta:
registro_e300 = registros.RegistroE300()
- registro_e300.UF = self.limpa_formatacao(self.company_id.state_id.code)
+ registro_e300.UF = self.limpa_formatacao(
+ self.company_id.state_id.code)
registro_e300.DT_INI = self.date_start
registro_e300.DT_FIN = self.date_end
lista.append(registro_e300)
@@ -1394,7 +1421,7 @@ def query_registroE310(self, uf_informante, uf_dif, periodo):
and rs.code = '%s'
group by ie.tipo_operacao
""" % (periodo, uf_dif)
- else:
+ else:
# mesmo uf
tipo_mov = '0'
query = """
@@ -1448,11 +1475,12 @@ def query_registroE310(self, uf_informante, uf_dif, periodo):
registro_e310.VL_SLD_CRED_TRANSPORTAR_FCP = '0'
registro_e310.DEB_ESP_FCP = '0'
lista.append(registro_e310)
-
+
registro_e316 = registros.RegistroE316()
if not self.data_vencimento_e316:
- raise UserError('Erro, a data de vencimento (E-316) não informada.')
-
+ raise UserError(
+ 'Erro, a data de vencimento (E-316) não informada.')
+
for id in query_resposta:
registro_e316.COD_OR = self.cod_obrigacao
registro_e316.VL_OR = id[0]+id[2]
@@ -1504,7 +1532,7 @@ def query_registroE316(self, uf_informante, uf_dif):
and %s
group by fp.fiscal_type
""" % (uf_dif, periodo)
- else:
+ else:
# mesmo uf
tipo_mov = '0'
query = """
@@ -1565,7 +1593,7 @@ def query_registroE316(self, uf_informante, uf_dif):
lista.append(registro_e316)
return lista
"""
-
+
def query_registroE510(self, periodo):
query = """
select distinct
@@ -1625,7 +1653,7 @@ def query_registroE520(self, periodo):
registro_E520.VL_DEB_IPI = self.transforma_valor(id[0])
if id[0]:
sld_ipi = id[0]
- registro_E520.VL_SD_ANT_IPI = '0'
+ registro_E520.VL_SD_ANT_IPI = '0'
registro_E520.VL_OD_IPI = '0'
registro_E520.VL_OC_IPI = '0'
query = """
@@ -1644,31 +1672,31 @@ def query_registroE520(self, periodo):
""" % (periodo)
self._cr.execute(query)
query_resposta = self._cr.fetchall()
- for id in query_resposta:
+ for id in query_resposta:
registro_E520.VL_CRED_IPI = self.transforma_valor(id[0])
if id[0] and id[0] > sld_ipi:
- sld_ipi = id[0] - sld_ipi
- registro_E520.VL_SC_IPI = self.transforma_valor(sld_ipi)
- registro_E520.VL_SD_IPI = '0'
+ sld_ipi = id[0] - sld_ipi
+ registro_E520.VL_SC_IPI = self.transforma_valor(sld_ipi)
+ registro_E520.VL_SD_IPI = '0'
else:
- if id[0]:
- sld_ipi = sld_ipi - id[0]
- registro_E520.VL_SD_IPI = self.transforma_valor(sld_ipi)
- registro_E520.VL_SC_IPI = '0'
+ if id[0]:
+ sld_ipi = sld_ipi - id[0]
+ registro_E520.VL_SD_IPI = self.transforma_valor(sld_ipi)
+ registro_E520.VL_SC_IPI = '0'
lista.append(registro_E520)
return lista
def query_registroK200(self):
lista = []
- data_estoque = '%s 23:59:00' %(datetime.strftime(
+ data_estoque = '%s 23:59:00' % (datetime.strftime(
self.date_end, '%Y-%m-%d'))
context = dict(self.env.context, to_date=data_estoque)
product = self.env['product.product'].with_context(context)
resposta_inv = product.search([])
for inv in resposta_inv:
if inv.qty_available > 0.0 and \
- inv.l10n_br_sped_type in ('00','01','02','03','04','05','06','10'):
- registro_K200 = RegistroK200()
+ inv.l10n_br_sped_type in ('00', '01', '02', '03', '04', '05', '06', '10'):
+ registro_K200 = RegistroK200()
registro_K200.DT_EST = self.date_end
registro_K200.COD_ITEM = inv.default_code
registro_K200.QTD = inv.qty_available
diff --git a/requirements.txt b/requirements.txt
index 644d968ce..9db72998d 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -7,4 +7,5 @@ python3-boleto
xmlsec
lxml==4.2.3
pycnab240
-iugu
\ No newline at end of file
+iugu
+unidecode
\ No newline at end of file