feature · observed
Painel financeiro
Indicadores de liquidez, projeções e controles do módulo financeiro.
Visão Geral
O Dashboard atua como a central nervosa diária do usuário (FinanceDashboardService). Ele foca no tempo presente, fornecendo uma visão instantânea da liquidez e do que está prestes a acontecer nos próximos dias. Ele centraliza informações complexas utilizando consultas otimizadas e lógica de projeção.
Fluxo de Processamento (Motor)
O serviço do Dashboard utiliza uma estratégia de agregação que coleta dados de diversas origens (Tabelas) para fornecer uma resposta rápida à interface:
Diagram Design · Mermaid · arraste para mover · Ctrl/⌘ + scroll para zoom
Renderizando diagrama declarativo…
Leitura semântica
O controller solicita dados ao serviço do painel; a coleta reúne contas, cartões, faturas e transações antes de calcular projeções, KPIs e o James Radar.
diagrams/sources/finance-dashboard-flow.mmdRegras de Negócio e Componentes
Indicadores KPI (Liquidez e Saldos)
O serviço consolida quatro indicadores principais baseados no "aqui e agora":
- Saldo Líquido (Net Balance):
Saldo de Contas - Dívidas Abertas (Faturas Cartão) - Despesas Pendentes de outras fontes. - Saldo Bruto: Simples soma do patrimônio nas contas correntes/investimentos configurados.
- Receitas: Total efetivado no mês.
- Despesas: Total efetivado no mês.
Nota: O usuário possui a opção (includeInvestments) de somar ou remover contas do tipo "Investimento" deste cálculo, para isolar a liquidez do dia-a-dia do dinheiro imobilizado.
Projeção de Fluxo de Caixa (Mês Vigente e Seguinte)
Esta funcionalidade consolida transações reais postadas, transações reais pendentes e transações virtuais geradas a partir de recorrências ativas. O algoritmo de extrapolação (getCashFlowProjections):
- Captura o saldo em conta corrente atual.
- Soma as
incomespendentes eincomesoriundos de recorrências do mês atual. - Subtrai as
expensespendentes, o montante devido em Faturas de Cartão eexpensesoriundos de recorrências do mês atual. - Retorna a previsão de Saldo Final para o Mês Atual.
- Usa essa previsão como base e repete o processo 2-3 para o Mês Seguinte, retornando a Previsão do Próximo Mês.
James Radar (O que vem a seguir)
O James Radar é o assistente inteligente que lista as próximas obrigações e receitas em ordem cronológica a partir de "Hoje" até os próximos 30 dias. Para fazer isso, ele constrói uma coleção híbrida, instanciando classes em memória:
- Transações Pendentes reais (exclui transferências).
- Recorrências Ativas cujo
next_processing_dateestá no intervalo. - Faturas de Cartão Abertas cujos dias de vencimento estão no intervalo.
Todas essas entidades assumem um "formato de pato" (duck typing), atuando perante a UI como se fossem Transações normais pendentes, facilitando a renderização na tabela sem código duplicado na View.
Controles Otimizados de Fatura
O cálculo de qual fatura o usuário deve ver no Dashboard (resolveReferenceMonth) não bate no banco de dados para buscar a melhor data; ele usa lógica pura computando dias de fechamento (closing_day) em relação a hoje e injeta dinamicamente o status e total diretamente no model retornado (card->current_invoice_total).