Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[12.0] Relatórios contábeis: DRE, Balanço Patrimonial #798

Merged
merged 22 commits into from
Oct 25, 2020

Conversation

mileo
Copy link
Member

@mileo mileo commented Feb 29, 2020

Depends:

Reports:

  • Balanço Patrimonial
  • DRE
  • DMPL
  • DVA
  • DFC

Copy link

@jpcarassato jpcarassato left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Efetuado testes funcionais dos relatório DRE e BP e os mesmo funcionaram perfeitamente..

@mileo
Copy link
Member Author

mileo commented Sep 28, 2020

Efetuado testes funcionais dos relatório DRE e BP e os mesmo funcionaram perfeitamente..

Aprova o PR por favor então.

Copy link

@jpcarassato jpcarassato left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok!

@marcelsavegnago
Copy link
Member

@mileo parabéns pelo trabalho e ficou muito bom mesmo. Só não aprovo de imediato por conta dos tipos personalizados apesar de entender que são necessários. Sendo assim, antes de aprovar eu gostaria de um comentário do @renatonlima sobre isto. Lembro que eu havia visto algum módulo que dependia deste tipo mas não tenho certeza se era relevante.

@mileo
Copy link
Member Author

mileo commented Sep 28, 2020

@mileo parabéns pelo trabalho e ficou muito bom mesmo. Só não aprovo de imediato por conta dos tipos personalizados apesar de entender que são necessários. Sendo assim, antes de aprovar eu gostaria de um comentário do @renatonlima sobre isto. Lembro que eu havia visto algum módulo que dependia deste tipo mas não tenho certeza se era relevante.

Obrigado pela revisão. Para ser possível fazer o merge deste PR, faltam os seguintes detalhes:

  • Revisar os tipos de conta de ambos os planos de contas;
  • Criar um Issue sobre o DMPL, DFC e DVA para ser abordado depois, provavelmente em um outro módulo, pois exigem a customização do mis_builder;
  • Colocar noupdate=1 nos arquivos do relatório;
  • Verificar se o sinal e expressões das linhas do relatório estão corretos.
  • Criar dados de demonstração;

Nosso time vai trabalhar nisso esta semana.

@mileo mileo force-pushed the feature/relatorios-contabeis branch from ad5d79b to 7d900f4 Compare October 8, 2020 03:39
@mileo mileo changed the title [12.0] Relatórios contábeis: DRE, Balanço Patrimonial, DMPL, DFC, DVA [12.0] Relatórios contábeis: DRE, Balanço Patrimonial Oct 8, 2020
@mileo mileo force-pushed the feature/relatorios-contabeis branch from 20cf7e5 to 46ea4c2 Compare October 8, 2020 04:32
@rvalyi rvalyi self-assigned this Oct 8, 2020
@rvalyi rvalyi self-requested a review October 8, 2020 13:10
@mileo
Copy link
Member Author

mileo commented Oct 8, 2020

O PR em questão adiciona alguns tipos de conta e reclassifica os planos de contas com elas, para que seja possível emitir o DRE e o BP com zero configuração.

Facilita também a criação de planos customizados para clientes, pois basta você configurar os tipos de conta para o respectivo plano de contas e o DRE e o PB estarão funcionando.

Os relatórios em questão foram feitos baseados no ITG-1000 e foram feitos de forma a manter a simplicidade, para um cliente mais exigente, pode ser necessário a criação de mais tipos de contas e a reconfiguração dos relatórios. Entretanto isso fica a cargo da consultoria pois foge do escopo.

Copy link
Member

@rvalyi rvalyi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Parabens pelo trabalho @mileo . Porem parece que os ultimos trabalhos de refator nao foram concluidos correctamente.
Eu tentei criar um relatorio do Balanço Patrimonial no Runbot e deu esse erro:

  File "/.repo_requirements/odoo/odoo/api.py", line 746, in _call_kw_multi
    result = method(recs, *args, **kwargs)
  File "/home/odoo/dependencies/mis-builder/mis_builder/models/mis_report_instance.py", line 817, in compute
    kpi_matrix = self._compute_matrix()
  File "/home/odoo/dependencies/mis-builder/mis_builder/models/mis_report_instance.py", line 796, in _compute_matrix
    aep = self.report_id._prepare_aep(self.query_company_ids, self.currency_id)
  File "/home/odoo/dependencies/mis-builder/mis_builder/models/mis_report.py", line 560, in _prepare_aep
    aep.parse_expr(expression.name)
  File "/home/odoo/dependencies/mis-builder/mis_builder/models/aep.py", line 186, in parse_expr
    _, mode, acc_domain, ml_domain = self._parse_match_object(mo)
  File "/home/odoo/dependencies/mis-builder/mis_builder/models/aep.py", line 165, in _parse_match_object
    acc_domain = tuple(safe_eval(account_sel, domain_eval_context))
  File "/.repo_requirements/odoo/odoo/tools/safe_eval.py", line 373, in safe_eval
    pycompat.reraise(ValueError, ValueError('%s: "%s" while evaluating\n%r' % (ustr(type(e)), ustr(e), expr)), exc_info[2])
  File "/.repo_requirements/odoo/odoo/tools/pycompat.py", line 86, in reraise
    raise value.with_traceback(tb)
  File "/.repo_requirements/odoo/odoo/tools/safe_eval.py", line 350, in safe_eval
    return unsafe_eval(c, globals_dict, locals_dict)
  File "", line 1, in <module>
  File "/.repo_requirements/odoo/odoo/api.py", line 864, in ref
    return self['ir.model.data'].xmlid_to_object(xml_id, raise_if_not_found=raise_if_not_found)
  File "/.repo_requirements/odoo/odoo/addons/base/models/ir_model.py", line 1443, in xmlid_to_object
    t = self.xmlid_to_res_model_res_id(xmlid, raise_if_not_found)
  File "/.repo_requirements/odoo/odoo/addons/base/models/ir_model.py", line 1427, in xmlid_to_res_model_res_id
    return self.xmlid_lookup(xmlid)[1:3]
  File "<decorator-gen-25>", line 2, in xmlid_lookup
  File "/.repo_requirements/odoo/odoo/tools/cache.py", line 93, in lookup
    value = d[key] = self.method(*args, **kwargs)
  File "/.repo_requirements/odoo/odoo/addons/base/models/ir_model.py", line 1416, in xmlid_lookup
    raise ValueError('External ID not found in the system: %s' % xmlid)
ValueError: <class 'ValueError'>: "External ID not found in the system: l10n_br_coa.data_account_type_depreciation" while evaluating
"[('user_type_id', '=', ref('l10n_br_coa.data_account_type_depreciation').id)]"

Parece que la no l10n_br_coa vc passou a usar o tipo nativo account.data_account_type_depreciation em vez de definir esse l10n_br_coa.data_account_type_depreciation que vc ta usando no relatorio.

Ai tb no l10n_br_coa vc muda o nome desse tipo de conta. Sera se ta certo fazer isso? Imagina uma instalaçao multi-empresas que tb usa esse tipo de conta num outro pais. Nao seria melhor apenas traduzir esse tipo? Sobre esse ultimo ponto eu nao sei, apenas tou levantando o ponto. cc @renatonlima @marcelsavegnago

@mileo
Copy link
Member Author

mileo commented Oct 13, 2020

Parabens pelo trabalho @mileo . Porem parece que os ultimos trabalhos de refator nao foram concluidos correctamente.
Eu tentei criar um relatorio do Balanço Patrimonial no Runbot e deu esse erro:

  File "/.repo_requirements/odoo/odoo/api.py", line 746, in _call_kw_multi
    result = method(recs, *args, **kwargs)
  File "/home/odoo/dependencies/mis-builder/mis_builder/models/mis_report_instance.py", line 817, in compute
    kpi_matrix = self._compute_matrix()
  File "/home/odoo/dependencies/mis-builder/mis_builder/models/mis_report_instance.py", line 796, in _compute_matrix
    aep = self.report_id._prepare_aep(self.query_company_ids, self.currency_id)
  File "/home/odoo/dependencies/mis-builder/mis_builder/models/mis_report.py", line 560, in _prepare_aep
    aep.parse_expr(expression.name)
  File "/home/odoo/dependencies/mis-builder/mis_builder/models/aep.py", line 186, in parse_expr
    _, mode, acc_domain, ml_domain = self._parse_match_object(mo)
  File "/home/odoo/dependencies/mis-builder/mis_builder/models/aep.py", line 165, in _parse_match_object
    acc_domain = tuple(safe_eval(account_sel, domain_eval_context))
  File "/.repo_requirements/odoo/odoo/tools/safe_eval.py", line 373, in safe_eval
    pycompat.reraise(ValueError, ValueError('%s: "%s" while evaluating\n%r' % (ustr(type(e)), ustr(e), expr)), exc_info[2])
  File "/.repo_requirements/odoo/odoo/tools/pycompat.py", line 86, in reraise
    raise value.with_traceback(tb)
  File "/.repo_requirements/odoo/odoo/tools/safe_eval.py", line 350, in safe_eval
    return unsafe_eval(c, globals_dict, locals_dict)
  File "", line 1, in <module>
  File "/.repo_requirements/odoo/odoo/api.py", line 864, in ref
    return self['ir.model.data'].xmlid_to_object(xml_id, raise_if_not_found=raise_if_not_found)
  File "/.repo_requirements/odoo/odoo/addons/base/models/ir_model.py", line 1443, in xmlid_to_object
    t = self.xmlid_to_res_model_res_id(xmlid, raise_if_not_found)
  File "/.repo_requirements/odoo/odoo/addons/base/models/ir_model.py", line 1427, in xmlid_to_res_model_res_id
    return self.xmlid_lookup(xmlid)[1:3]
  File "<decorator-gen-25>", line 2, in xmlid_lookup
  File "/.repo_requirements/odoo/odoo/tools/cache.py", line 93, in lookup
    value = d[key] = self.method(*args, **kwargs)
  File "/.repo_requirements/odoo/odoo/addons/base/models/ir_model.py", line 1416, in xmlid_lookup
    raise ValueError('External ID not found in the system: %s' % xmlid)
ValueError: <class 'ValueError'>: "External ID not found in the system: l10n_br_coa.data_account_type_depreciation" while evaluating
"[('user_type_id', '=', ref('l10n_br_coa.data_account_type_depreciation').id)]"

Parece que la no l10n_br_coa vc passou a usar o tipo nativo account.data_account_type_depreciation em vez de definir esse l10n_br_coa.data_account_type_depreciation que vc ta usando no relatorio.

Ai tb no l10n_br_coa vc muda o nome desse tipo de conta. Sera se ta certo fazer isso? Imagina uma instalaçao multi-empresas que tb usa esse tipo de conta num outro pais. Nao seria melhor apenas traduzir esse tipo? Sobre esse ultimo ponto eu nao sei, apenas tou levantando o ponto. cc @renatonlima @marcelsavegnago

Quando o @DiegoParadeda estava trabalhando neste PR ele acabou criando alguns tipos. Depois que eu retomei eu tentei utilizar o maior número de tipos do core. E esse ai acabou passando sem querer.

Se vcs quiserem dar uma olhada os tipos criados estão aqui:
https://github.com/odoo-brazil/l10n-brazil/blob/feature/relatorios-contabeis/l10n_br_coa/data/account_type_data.xml

Alem dos criados alguns foram renomeados, sempre mantendo a forma como cada um deles deve aparecer no relatório Brasileiro.

Ativo / Circulante / Caixa e Equivalentes de Caixa
Ativo / Circulante / Contas a Receber
Ativo / Circulante / Perdas Estimadas com Créditos duvidosos
Ativo / Não Circulante / Realizável a Longo Prazo
Ativo / Não Circulante / Investimentos
etc

Por exemplo a Odoo SA só classifica como, pois o relatório P&L é bem mais simples.

Ativo / Circulante
Ativo / Não Circulante
etc

Enfim a ideia desse PR não é servir como Bala de Prata para resolver todos os problemas e nem lidar com implementações queiram tirar relatórios de empresas brasileiras e estrangeiras.

Renomeando os termos com os mesmos nomes dos termos no BP e DRE facilitamos para que os usuários com pouco treinamento usem ele.

DiegoParadeda and others added 19 commits October 25, 2020 11:20
Signed-off-by: Luis Felipe Mileo <mileo@kmee.com.br>
Signed-off-by: Luis Felipe Mileo <mileo@kmee.com.br>
Signed-off-by: Luis Felipe Mileo <mileo@kmee.com.br>
Signed-off-by: Luis Felipe Mileo <mileo@kmee.com.br>
Signed-off-by: Luis Felipe Mileo <mileo@kmee.com.br>
Signed-off-by: Luis Felipe Mileo <mileo@kmee.com.br>
Signed-off-by: Luis Felipe Mileo <mileo@kmee.com.br>
Signed-off-by: Luis Felipe Mileo <mileo@kmee.com.br>
Signed-off-by: Luis Felipe Mileo <mileo@kmee.com.br>
Signed-off-by: Luis Felipe Mileo <mileo@kmee.com.br>
Signed-off-by: Luis Felipe Mileo <mileo@kmee.com.br>
Signed-off-by: Luis Felipe Mileo <mileo@kmee.com.br>
Signed-off-by: Luis Felipe Mileo <mileo@kmee.com.br>

Signed-off-by: Luis Felipe Mileo <mileo@kmee.com.br>
Signed-off-by: Luis Felipe Mileo <mileo@kmee.com.br>
Signed-off-by: Luis Felipe Mileo <mileo@kmee.com.br>
Signed-off-by: Luis Felipe Mileo <mileo@kmee.com.br>
Signed-off-by: Luis Felipe Mileo <mileo@kmee.com.br>
@mileo mileo force-pushed the feature/relatorios-contabeis branch from 5829479 to b001a49 Compare October 25, 2020 14:21
@mileo
Copy link
Member Author

mileo commented Oct 25, 2020

/ocabot merge minor

@OCA-git-bot
Copy link
Contributor

What a great day to merge this nice PR. Let's do it!
Prepared branch 12.0-ocabot-merge-pr-798-by-mileo-bump-minor, awaiting test results.

@OCA-git-bot
Copy link
Contributor

Congratulations, your PR was merged at d5e1cdf. Thanks a lot for contributing to OCA. ❤️

@OCA-git-bot OCA-git-bot changed the title [12.0] Relatórios contábeis: DRE, Balanço Patrimonial [12.0] Relatórios contábeis: DRE, Balanço Patrimonial Oct 25, 2020
@OCA-git-bot OCA-git-bot merged commit 52d19cc into OCA:12.0 Oct 25, 2020
@mileo mileo deleted the feature/relatorios-contabeis branch October 25, 2020 17:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants