portal_publico/portal_api/dashboard_contabil/README.md

4.3 KiB

Relatório Contábil (Relatórios > Contabilidade)

Ver CLAUDE.md nesta mesma pasta para o detalhamento técnico (extração do PDF, regras de auditoria, models). Ver CLAUDE.md na raiz para arquitetura geral/transversal do Portal. Chamado de "Dashboard Contábil" até uma rodada anterior — renomeado a pedido do usuário (rótulo visível só, nomes técnicos internos continuam dashboard_contabil/Contabil*).

Otimiza a conferência de balancetes hoje feita manualmente pelo Fisco/Contábil: o contador anexa o PDF de Balancete + DRE de uma empresa (mesmo relatório hoje enviado ao cliente, gerado pelo Questor ou pelo Contabit; o modelo é detectado sozinho, e no Contabit o código da empresa vem do nome do arquivo, ex. "1512 - Balancete 082026.pdf"), a ferramenta extrai as contas automaticamente e roda um conjunto de checagens de auditoria (saldos negativos de caixa, contas transitórias/genéricas com saldo, contas que deveriam estar zeradas, diferença débito/crédito, lucro do balancete diferente da DRE, variações atípicas na DRE) — o contador revisa os achados, marca contas/linhas como validadas, registra observações por conta/linha (thread inline na própria tabela, com um toggle "mostrar ao cliente" que nasce desmarcado), escreve um resumo livre do fechamento (considerações/análises, texto rico com imagem) e conclui a análise. As observações não morrem com a competência: cada uma fica no histórico daquela empresa + conta, reaparecendo na análise do mês seguinte assinada por quem escreveu e com a data, travada pra edição, até o contador encerrá-la para as próximas execuções. Quando o PDF traz a seção "Demonstração Mensal (Análise Vertical)" (histórico de 3 meses, valor+variação percentual por linha), ela também é extraída e ganha sua própria aba de revisão (mesmos recursos de observação/validado/ocultar do Balancete/D.R.E.). Se o arquivo original estava errado/incompleto, o botão "Reprocessar" reanexa um PDF novo pra mesma empresa/competência sem perder nada já registrado — conta/linha sem mudança mantém observação e validação, a que mudou volta pra "não validada" com um alerta, e achado já tratado nunca é apagado ou tem sua justificativa sobrescrita. O botão "Gerar Relatório" gera um relatório HTML autocontido (resumo do fechamento, indicadores financeiros, DRE/Balancete/Análise Vertical agrupados, observações do contador) com a marca do escritório, pronto pra enviar ao administrador da empresa — a aba "Resumo" desse relatório também pode ser exportada avulsa em PDF (resumo do fechamento + indicadores + observações, sem o resto do relatório).

Relatório Contábil - De Paula (seção Diretoria do menu): a mesma ferramenta para as empresas do próprio escritório. Regras e cadastro de indicadores compartilhados com a original; análises, histórico, observações e permissão totalmente separados (quem tem acesso só ao Relatório Contábil não acessa esta). Liberada manualmente por perfil em Perfis de Acesso.

Ainda fora de escopo: indicadores para empresas do Contabit (a seção fica oculta nesse modelo); consolidação entre várias empresas/competências ao mesmo tempo (é sempre uma apuração por vez).

Onde mexer

  • portal_api/dashboard_contabil/ — parser.py (extração do PDF Questor via pdfplumber e detecção do modelo), parser_contabit.py (extração do PDF Contabit), regras.py (motor de regras de auditoria), indicadores.py (indicadores financeiros do relatório), pipeline.py (orquestração), modelos.py (dataclasses), chaves.py (chave natural de conta/linha), exportacao.py (Balancete/DRE em XLSX), resumo_pdf.py (Resumo do Fechamento + Indicadores + Observações em PDF, avulso).
  • ContabilApuracao/ContabilConta/ContabilLinhaDre/ContabilLinhaAnaliseVertical/ContabilAchado/ContabilObservacao/ContabilObservacaoEdicao (portal_api/models.py).
  • As mesmas classes com sufixo DePaula para o Relatório Contábil - De Paula (cada model é uma base abstrata + duas concretas).
  • dashboard-contabil.html / dashboard-contabil-de-paula.html / static/js/dashboard-contabil.js (parametrizado por PID_DC_CONFIG) / static/css/dashboard-contabil.css.
  • dashboard-contabil-relatorio.html (relatório em si) / portal_api/templatetags/contabil_extras.py (filtros de formatação).