Pular para conteúdo

📋 Regras de Negócio - ecosif-moviments

📋 Visão Geral

Este documento descreve as principais regras de negócio implementadas no serviço ecosif-moviments.


💰 Regras Contábeis

Partidas Dobradas

Regra: Cada documento deve ter soma de débitos igual à soma de créditos.

Validação: Automática ao criar/editar lançamentos.

Exemplo:

Débito:  1000.00
Crédito: 1000.00
✅ Válido (soma = 0)

Débito:  1000.00
Crédito:  500.00
❌ Inválido (soma ≠ 0)


Períodos Contábeis

Regra: Só é possível criar lançamentos em períodos abertos e não consolidados.

Validações: - Período deve estar no calendário - Período não pode estar consolidado - Período não pode estar fechado


Ordem de Consolidação

Regra: Só é possível consolidar um período se todos os anteriores estiverem consolidados.

Validação: Verifica períodos anteriores antes de consolidar.


📝 Regras de Lançamentos

Valores

  • Regra: Valores devem ser positivos
  • Precisão: 21 dígitos, 2 casas decimais
  • Validação: JSR-303 + validação de negócio

Contas Contábeis

  • Regra: Conta deve existir e estar ativa
  • Validação: Verifica status da conta
  • Regra: Conta deve estar no plano de contas da empresa

Dia de Referência

  • Regra: Dia deve estar entre 01 e 31
  • Validação: Valida formato e range
  • Regra: Dia deve ser válido para o mês (ex: não pode ser 31/02)

🔄 Regras de Importação

Formato CSV

  • Regra: Deve ter cabeçalho correto
  • Validação: Verifica colunas obrigatórias
  • Regra: Valores numéricos devem estar em formato válido

Formato IPL

  • Regra: Linha deve ter exatamente 156 caracteres
  • Regra: Caractere 17 deve ser 1 (crédito) ou 2 (débito)
  • Regra: Caractere 18 deve ser espaço

Processamento

  • Regra: Arquivos de erro são salvos em S3
  • Regra: Arquivos processados são movidos para pasta imported/

💼 Regras de Consolidação

Pré-requisitos

  • Todos os períodos anteriores devem estar consolidados
  • Período deve estar aberto no calendário
  • Deve ter lançamentos para consolidar

Processamento

  • Regra: Consolidação é assíncrona
  • Regra: Atualiza saldos de todas as contas
  • Regra: Marca período como consolidado no calendário

💰 Regras de Cotas

Pré-requisitos

  • Mês deve estar consolidado
  • Deve ter dia livre no calendário
  • Deve ter contas PL configuradas
  • Patrimônio líquido deve ser positivo

Cálculo

  • Regra: Valor da cota = Patrimônio Líquido / Número de Cotas
  • Regra: Cota só é salva se confirmada (confirmed=true)
  • Regra: Cota calculada é salva em QuotaDetails

🗑️ Regras de Purging

Enviar para Histórico (doSend=true)

  • Regra: Período final deve ser >= período base
  • Regra: Todos os períodos devem estar consolidados
  • Regra: Dados são movidos para tabelas de histórico
  • Regra: Dump é salvo em S3

Restaurar do Histórico (doSend=false)

  • Regra: Deve existir histórico para restaurar
  • Regra: Período final deve ser > período base
  • Regra: Dados são restaurados das tabelas de histórico

⚠️ Validações Implementadas

  1. ✅ Partidas dobradas
  2. ✅ Períodos abertos
  3. ✅ Contas contábeis válidas
  4. ✅ Valores positivos
  5. ✅ Dias válidos
  6. ✅ Ordem de consolidação
  7. ✅ Formato de arquivos
  8. ✅ Pré-requisitos de operações

Última Atualização: 2025-11-27