diff --git a/docs/regras_comprovantes.md b/docs/regras_comprovantes.md new file mode 100644 index 0000000..629f41c --- /dev/null +++ b/docs/regras_comprovantes.md @@ -0,0 +1,94 @@ +# Regras de Negócio - Comprovantes + +## 1. Estrutura do Comprovante + +### 1.1 Dados Básicos +- Todo comprovante deve ter: + - Militante associado (obrigatório) + - Data do comprovante (obrigatório) + - Forma de pagamento (obrigatório) + - Campanha financeira (opcional) + +### 1.2 Formas de Pagamento +- As formas de pagamento aceitas são: + - PIX + - Transferência/DOC + - Depósito + - Maquininha + +## 2. Centralizações + +### 2.1 Tipos de Centralização +- Cada comprovante pode ter uma ou mais centralizações +- Os tipos de centralização são: + - Cota + - Jornal + - Assinatura + +### 2.2 Valores +- Cada centralização deve ter: + - Tipo (obrigatório) + - Valor (obrigatório, maior que zero) + +## 3. Transações PIX + +### 3.1 Dados da Transação +- Para pagamentos via PIX, o comprovante deve incluir: + - Chave PIX + - Valor + - Data de geração + - Data de pagamento + - Status (Pendente, Pago, Expirado) + - QR Code (quando aplicável) + +## 4. Validações + +### 4.1 Obrigatoriedades +- Um comprovante deve ter pelo menos uma centralização +- O valor total do comprovante deve ser igual à soma das centralizações +- A data do comprovante não pode ser futura + +### 4.2 Restrições +- Não é permitido excluir comprovantes com centralizações já registradas +- Não é permitido alterar valores de centralizações após confirmação +- O militante associado deve estar ativo no sistema + +## 5. Permissões + +### 5.1 Acesso +- Apenas usuários com permissão `MANAGE_MATERIALS` podem: + - Criar comprovantes + - Editar comprovantes + - Excluir comprovantes + - Visualizar lista de comprovantes + +### 5.2 Restrições +- Usuários só podem editar comprovantes de sua própria célula/setor/CR +- Apenas administradores podem editar comprovantes de qualquer nível + +## 6. Relacionamentos + +### 6.1 Militante +- Todo comprovante deve estar associado a um militante +- O militante deve estar ativo no sistema +- O militante deve pertencer a uma célula/setor/CR válido + +### 6.2 Campanha Financeira +- O comprovante pode estar associado a uma campanha financeira +- A campanha deve estar ativa no período do comprovante +- O valor do comprovante é contabilizado no total da campanha + +## 7. Histórico + +### 7.1 Registro +- Todas as alterações em comprovantes devem ser registradas +- O sistema mantém histórico de: + - Data de criação + - Usuário que criou + - Data de alteração + - Usuário que alterou + +### 7.2 Auditoria +- Os comprovantes são auditáveis +- O sistema mantém logs de todas as operações +- As alterações podem ser rastreadas por usuário e data \ No newline at end of file