Financeiro Avançado
Visão Geral
O módulo financeiro foi reestruturado com 6 sub-módulos especializados que se conectam via Movimentação Financeira (hub central). Permite análise DRE por centro de custo, gestão de contas e duplicatas, e detalhamento item-a-item de transações.
Arquitetura
Atendimento/Orçamento
↓
MovimentacaoFinanceira ←—— hub central
├→ RegistroFinanceiro (detalhe item-a-item)
├→ Duplicatas (parcelas + vencimentos)
└→ DescontoFinanceiro
↑
CentroDeCusto / CategoriaPagamento / ContaCaixa (cadastros mestre)
1. Centro de Custo
Análise por unidade, departamento ou projeto. Toda movimentação vinculada.
| Método | Endpoint |
|---|---|
| GET | /centro-custo/:id? |
| POST | /centro-custo/ |
| PUT | /centro-custo/:id |
| DELETE | /centro-custo/:id |
Frontend: /portal/financeiro/centro-de-custo → ListCentroDeCusto.tsx + FormCentroDeCusto.tsx
2. Categoria de Pagamento
Categorias hierárquicas (Receitas vs Despesas). Base para DRE.
| Método | Endpoint | Permissão |
|---|---|---|
| POST | /categoria-pagamento/ | CATEGORIAS DE PAGAMENTOS / CREATE |
| GET | /categoria-pagamento/:id? | VIEW |
| PUT | /categoria-pagamento/:id | UPDATE |
| DELETE | /categoria-pagamento/:id | DELETE |
Frontend: /portal/financeiro/categorias-de-pagamento
3. Conta Caixa
Contas bancárias, caixas físicos, carteiras digitais. Com histórico e saldo corrente.
| Método | Endpoint |
|---|---|
| GET | /conta-caixa/filter/unidades |
| GET | /conta-caixa/filter |
| GET | /conta-caixa/:id? |
| GET | /conta-caixa/historico/:id? |
| POST | /conta-caixa/ |
| PUT | /conta-caixa/:id |
| DELETE | /conta-caixa/:id |
Frontend:
/portal/financeiro/contas-caixa— ListContasCaixa.tsx/portal/financeiro/contas-caixa/criar— FormInfoContasCaixa.tsx/portal/financeiro/historico-contas— HistoricoContas.tsx
4. Movimentação Financeira (Hub Central)
TODA entrada e saída financeira. Vincula categoria + centro custo + conta + paciente/fornecedor.
| Método | Endpoint | Função |
|---|---|---|
| GET | /movimentacao-financeira/filter | Listar com filtros |
| GET | /movimentacao-financeira/:id? | Detalhe |
| POST | /movimentacao-financeira/ | Criar |
| PUT | /movimentacao-financeira/:id | Atualizar |
| POST | /movimentacao-financeira/desconto | Validar permissão desconto |
Campos obrigatórios
- contasCaixaId (FK)
- categoriaDePagamentoId (FK)
- centroDeCustoId (FK)
- tipoFinanceiroId (PAGAMENTO ou RECEBIMENTO)
- data + valor
- Origem: paciente OU fornecedor OU outra (exatamente uma)
Parcelamento
Campo parcelas > 1 + intervalo + tipoIntervalo (DIA/SEMANA/MES) gera N Duplicatas automaticamente.
Frontend
/portal/financeiro/registros— ListRegistrosFinanceiros/portal/financeiro/registros/pagar/criar— FormPagamento/portal/financeiro/registros/receber/criar— FormRecebimento
5. Registro Financeiro (Detalhe item-a-item)
Detalha cada item de uma Movimentação (ex: compra de produtos). Vincula a estoque.
| Método | Endpoint |
|---|---|
| POST | /registro-financeiro/ |
| GET | /registro-financeiro/filter |
| GET | /registro-financeiro/:id? |
| DELETE | /registro-financeiro/:id |
Atualiza PosicaoEstoque automaticamente:
- Entrada (RECEBIMENTO) → soma quantidade
- Saída (PAGAMENTO consumo) → subtrai
6. Duplicatas
Controle de duplicatas a pagar/receber com vencimento, parcelamento, anexos.
| Método | Endpoint |
|---|---|
| POST | /duplicatas/ |
| GET | /duplicatas/:id? |
Validação de Desconto (especial)
POST /movimentacao-financeira/desconto valida se colaborador tem permissão para o nível de desconto solicitado, conforme ParametrosDeDesconto:
- Nivel 1 (até 5%) — Recepcionista
- Nivel 2 (até 10%) — Coordenador
- Nivel 3 (até 20%) — Gerente
- Sem limite — Diretor
Desconto acima do limite → bloqueia + exige aprovação superior.
Relatórios DRE
- Por Centro de Custo (receita vs despesa por unidade/setor)
- Por Categoria (top categorias de gasto)
- Fluxo de caixa (movimentação por dia/mês)
- Inadimplência (duplicatas vencidas)
- Movimentação por produto (RegistroFinanceiro × Estoque)