Financeiro

Estrutura de Tabelas SQL

Imagem padrão
Ouvir conteúdo
Clique para ouvir o texto completo

1. Princípios do Modelo de Dados

  1. Débito e Crédito são entidades distintas

  2. Parcelamento e recorrência são atributos, não tabelas separadas

  3. Toda movimentação:

    • Tem data de competência

    • Pode ou não ter data de quitação/recebimento

  4. Relatórios são derivados dos dados, nunca tabelas extras


2. Tabela Central – Categorias Financeiras

Usada para classificar tudo que aparece nos relatórios (modelo do Emilio).

 
CREATE TABLE categorias_financeiras ( id INT AUTO_INCREMENT PRIMARY KEY, codigo VARCHAR(10), nome VARCHAR(100) NOT NULL, tipo ENUM('DEBITO','CREDITO') NOT NULL );

Exemplos:

  • Receitas de Veiculação

  • Energia Elétrica

  • Aluguéis de Pontos

  • Manutenção de Painéis

  • Salários e Comissões

  • Despesas Financeiras


3. Tabela de Débitos (Despesas)

Tabela mais importante do sistema.

 
CREATE TABLE debitos ( id INT AUTO_INCREMENT PRIMARY KEY, categoria_id INT NOT NULL, descricao VARCHAR(255), valor DECIMAL(10,2) NOT NULL, data_competencia DATE NOT NULL, data_vencimento DATE NOT NULL, data_quitacao DATE DEFAULT NULL, tipo ENUM('RECORRENTE','PARCELADO','AVISTA') NOT NULL, parcela_num INT DEFAULT 1, parcela_total INT DEFAULT 1, recorrente BOOLEAN DEFAULT FALSE, contrato_id INT DEFAULT NULL, painel_id INT DEFAULT NULL, venda_id INT DEFAULT NULL, observacoes TEXT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (categoria_id) REFERENCES categorias_financeiras(id) );

Regras importantes:

  • Despesa à vista → parcela_total = 1

  • Despesa parcelada → várias linhas

  • Despesa recorrente → recorrente = true

  • data_quitacao = NULL → em aberto


4. Tabela de Créditos (Receitas)

 
CREATE TABLE creditos ( id INT AUTO_INCREMENT PRIMARY KEY, categoria_id INT NOT NULL, descricao VARCHAR(255), valor DECIMAL(10,2) NOT NULL, data_competencia DATE NOT NULL, data_vencimento DATE NOT NULL, data_recebimento DATE DEFAULT NULL, parcela_num INT DEFAULT 1, parcela_total INT DEFAULT 1, cliente_id INT DEFAULT NULL, venda_id INT DEFAULT NULL, painel_id INT DEFAULT NULL, observacoes TEXT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (categoria_id) REFERENCES categorias_financeiras(id) );

Regras:

  • Venda parcelada → várias linhas

  • Venda à vista → parcela_total = 1

  • data_recebimento = NULL → a receber


5. Tabela de Vendas

Base para geração automática de créditos e comissões.

 
CREATE TABLE vendas ( id INT AUTO_INCREMENT PRIMARY KEY, cliente_id INT NOT NULL, painel_id INT NOT NULL, valor_total DECIMAL(10,2) NOT NULL, parcelas INT NOT NULL, data_venda DATE NOT NULL, percentual_comissao DECIMAL(5,2) DEFAULT 0, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );

6. Tabela de Contratos de Aluguel

Usada para:

  • Aluguel de imóveis

  • Aluguel de pontos

  • Controle de vencimento de contratos

 
CREATE TABLE contratos ( id INT AUTO_INCREMENT PRIMARY KEY, descricao VARCHAR(255), valor DECIMAL(10,2) NOT NULL, data_inicio DATE NOT NULL, data_fim DATE NOT NULL, reajustavel BOOLEAN DEFAULT FALSE, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );

7. Tabela de Painéis

Integra financeiro automaticamente.

 
CREATE TABLE paineis ( id INT AUTO_INCREMENT PRIMARY KEY, identificacao VARCHAR(100), localizacao VARCHAR(255), contrato_id INT DEFAULT NULL, ativo BOOLEAN DEFAULT TRUE, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );

8. Relatórios Gerados a Partir das Tabelas

Sem novas tabelas:

  • Total de vendas

  • Total de recebimentos

  • Lista de quem pagou

  • Boletos não pagos

  • Despesas em aberto

  • Despesas pagas

  • Movimento do mês

  • Fechamento mensal

  • Previsão do próximo mês

  • Vencimento de contratos

  • Resultado operacional


9. Compatibilidade com o Relatório do Emilio

Cada linha do relatório do Emilio é:

  • Uma categoria

  • Um débito ou crédito

  • Com data, valor e classificação

Nenhuma despesa ficou fora do modelo.


10. Encerramento do Manual Financeiro

Com os 5 artigos, o Publis possui:

  • Modelo conceitual

  • Modelo operacional

  • Modelo analítico

  • Modelo técnico (SQL)

  • Base sólida para evolução

Tire suas dúvidas

Cecília Romani
Cecília Romani

Especialista em Numismática

Tire suas dúvidas com Cecília Romani sobre este capítulo pelo WhatsApp.

Falar com Cecília

Comentários

Área de comentários em breve...