======================================== 2.1) LANÇAMENTOS FINANCEIROS ======================================== Tabela: tb_financeiro Status: AJUSTAR (moderado) Objetivo Registrar lançamentos financeiros da empresa (receitas e despesas), com controle de parcelas, vencimento, pagamento e histórico de baixa. Campos essenciais do MVP - id_financeiro | INT, PK, AUTO_INCREMENT (hoje está id) - id_empresa | INT, FK → tb_empresas.id_empresa (substitui id_cliente) - tipo_item | ENUM('receita','despesa') - descricao | VARCHAR(255) - parcela | INT DEFAULT 1 (nº da parcela) - total_parcelas | INT DEFAULT 1 - valor | DECIMAL(10,2) - desconto | DECIMAL(10,2) DEFAULT 0.00 - vencimento | DATE - status | ENUM('aberto','pago','cancelado','atrasado') - criado_em | DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP Campos opcionais (MVP+) - id_item | INT NULL (vínculo com orçamento, serviço, produto, etc.) - forma_pagamento | INT NULL (FK → tb_forma_pagamento) - data_pagamento | DATE NULL - valor_pago | DECIMAL(10,2) NULL - motivo_baixa | VARCHAR(255) NULL - obs | TEXT NULL - atualizado_em | DATETIME NULL - id_usuario | INT FK → tb_usuario.id_usuario (quem lançou/baixou — hoje está user) Campos legados / a ajustar - id_cliente → renomear para id_empresa - user → renomear para id_usuario Observações - Todo lançamento pertence a uma empresa (id_empresa). - Parcelamento: -- cada parcela é uma linha na tabela -- parcela + total_parcelas ajudam na organização e exibição - id_item permite integrar futuramente com: -- orçamentos -- contratos -- serviços recorrentes - status deve ser atualizado automaticamente ao registrar pagamento. Boas práticas recomendadas - Não apagar lançamentos, apenas mudar status. - Registrar alterações relevantes em tb_financeiro_log (próximo passo). - Índices recomendados: -- (id_empresa, vencimento) -- (status) ======================================== 2.2) LOG FINANCEIRO ======================================== Tabela: tb_financeiro_log Status: ESSENCIAL (auditoria) Objetivo Registrar o histórico de ações realizadas sobre um lançamento financeiro, garantindo rastreabilidade e auditoria. Campos essenciais do MVP - id_log | INT, PK, AUTO_INCREMENT (hoje está id) - id_financeiro | INT, FK → tb_financeiro.id_financeiro - acao | VARCHAR(100) (ex: criado, editado, pago, cancelado) - criado_em | DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP (hoje está data_acao) - id_usuario | INT, FK → tb_usuario.id_usuario (hoje está usuario) Campos opcionais (MVP+) - detalhes | TEXT NULL (descrição da ação, valores antigos/novos, observações) Campos legados / a ajustar - data_acao → substituir por criado_em - usuario → renomear para id_usuario Observações - O log deve ser append-only: -- nunca editar -- nunca apagar - Cada ação relevante no financeiro gera um log, como: -- criação -- edição -- baixa -- cancelamento - Usado para: -- auditoria -- relatórios -- segurança (quem fez o quê e quando) ======================================== 2.3) FORMA DE PAGAMENTO ======================================== Tabela: tb_forma_pagamento Status: AJUSTAR (leve) Objetivo Definir as formas de pagamento utilizadas nos lançamentos financeiros (ex: Pix, Boleto, Cartão, Dinheiro). Campos essenciais do MVP - id_forma_pagamento | INT, PK, AUTO_INCREMENT (hoje está id) - forma | VARCHAR(80) (nome da forma de pagamento) - ativo | TINYINT(1) DEFAULT 1 (recomendado) Campos opcionais (MVP+) - descricao | VARCHAR(255) NULL - criado_em | DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP Campos legados / a ajustar - nenhum crítico. Observações - forma deve ser única: UNIQUE(forma) - Pode ser: -- global do sistema (MVP) -- ou customizável por empresa (MVP+) — adicionando id_empresa - Usada como FK em: -- tb_financeiro.forma_pagamento Formas padrão sugeridas (MVP) - Pix - Boleto - Cartão de Crédito - Cartão de Débito - Dinheiro - Transferência