Files
sigrhapf/Documents/sigfip/sigefp/ANALISE_ESPECIFICACAO_TESOURO.md
T
2026-05-19 11:41:28 +00:00

287 lines
8.5 KiB
Markdown

# 📊 Análise Comparativa: Especificação vs Implementação - Módulo Tesouro
**Data:** 2025-01-XX
**Objetivo:** Comparar especificação de requisitos com implementação atual e identificar gaps
---
## 📋 Resumo Executivo
| Requisito | Status | Prioridade | Complexidade |
|-----------|--------|------------|--------------|
| Hierarquia CUT | ❌ Não implementado | 🔴 Crítico | Alta |
| Atributos de Conta (IBAN, SWIFT, etc.) | ❌ Parcial | 🔴 Crítico | Baixa |
| Plano de Tesouraria (PT) | ❌ Não implementado | 🔴 Crítico | Média |
| Retenção de Impostos | ❌ Não implementado | 🟡 Alta | Média |
| Nivelamento Automático | ❌ Não implementado | 🟡 Alta | Alta |
| Importação MT940/CAMT.053 | ⚠️ Parcial | 🟡 Média | Média |
| Geração XML ISO 20022 | ❌ Não implementado | 🟡 Média | Alta |
| Dashboard KPIs | ❌ Não implementado | 🟢 Baixa | Baixa |
---
## 🔍 Análise Detalhada
### 1. Arquitetura de Dados: Estrutura da CUT
#### ✅ O que temos:
- `CashAccount` com campos básicos (code, name, type, accountNumber, branchCode)
- Suporte a `orgUnitId` (vínculo com unidade orgânica)
- Saldos (`currentBalance`, `availableBalance`)
#### ❌ O que falta (CRÍTICO):
**1.1 Hierarquia Virtual de Contas**
- ❌ Campo `parentAccountId` para hierarquia
- ❌ Tipo de conta: CUT Principal (BCEAO), Correspondente, Trânsito
- ❌ Agregação automática de saldos hierárquicos
**1.2 Atributos Obrigatórios**
-`iban` (IBAN da conta)
-`swiftCode` (Código SWIFT)
-`accountingCode` (Código Contabilístico - Classe 5)
-`accountType` (Receita/Despesa/Mista)
-`overdraftLimit` (Limite de descoberto)
**Impacto:** Sem hierarquia, não é possível consolidar saldos da CUT. Sem atributos, não há integração com sistemas bancários.
---
### 2. Processos Core
#### 2.1 Gestão do Plano de Tesouraria (PT)
**Especificação:**
- Criar planos mensais e semanais
- Previsões de receita + cronograma de despesas
- Validar se total de ordens do dia não excede teto aprovado
**Status Atual:**
-**Não implementado**
- ❌ Não há entidade `TreasuryPlan`
- ❌ Não há validação de tetos diários
**Impacto:** Sem planejamento, não há controle preventivo de liquidez.
---
#### 2.2 Execução de Pagamentos
**Especificação:**
- Gatilho: Despesa "Liquidada e Pronta a Pagar"
- Verificação de liquidez (subconta + CUT global)
- Transferência Eletrónica (STAR/SICA) - XML ISO 20022
- Pagamentos de Massa (folha de salário)
- Assinatura Digital (múltiplos níveis)
**Status Atual:**
- ✅ Verificação de liquidez básica (implementado)
- ✅ Pagamentos de massa (via PayrollRun)
- ✅ Aprovação hierárquica (implementado)
- ❌ Geração XML ISO 20022 (não implementado)
- ❌ Assinatura digital com certificados (não implementado)
**Impacto:** Sem XML ISO 20022, não há integração com STAR/SICA do BCEAO.
---
#### 2.3 Arrecadação e Nivelamento
**Especificação:**
- Integração com SYDONIA (Alfândegas) e CONTRIB (Impostos)
- Monitorização de saldos em bancos comerciais
- Regra de Ouro UEMOA: Alerta se saldo em Conta de Trânsito > 0 no fim do dia
**Status Atual:**
-**Não implementado**
- ❌ Não há integração com sistemas externos
- ❌ Não há processo de nivelamento automático
- ❌ Não há alertas de nivelamento pendente
**Impacto:** Sem nivelamento, não há conformidade com Regra de Ouro UEMOA.
---
### 3. Requisitos Técnicos
#### 3.1 Conciliação Bancária
**Especificação:**
- Importação automática MT940 ou CAMT.053
- Matching automático (valor, data, referência)
- Conciliação manual de exceções
- Geração automática de lançamentos contabilísticos
**Status Atual:**
- ✅ Estrutura básica de conciliação (implementado)
- ✅ Matching básico (implementado)
- ⚠️ Importação de extratos (parcial - apenas manual)
- ❌ Importação automática MT940/CAMT.053 (não implementado)
- ❌ Geração automática de lançamentos contabilísticos (não implementado)
**Impacto:** Sem importação automática, processo é manual e propenso a erros.
---
#### 3.2 Integração com Contabilidade
**Especificação:**
- Cada movimento gera lançamento automático
- Débito: Classe 6/2 (Despesa)
- Crédito: Classe 5 (Tesouraria)
**Status Atual:**
-**Não implementado**
- ❌ Não há módulo de Contabilidade
- ❌ Não há geração automática de lançamentos
**Impacto:** Sem integração contabilística, não há conformidade com Diretiva UEMOA.
---
### 4. Regras de Negócio
#### RN01 - Unidade de Caixa
**Especificação:** Nenhuma conta bancária do Estado pode existir fora da visibilidade do módulo Tesouro.
**Status Atual:**
- ⚠️ **Parcial**
- ✅ Contas registradas no sistema
- ❌ Não há validação que todas as contas do Estado estão registradas
- ❌ Não há processo de auditoria
**Impacto:** Risco de contas não registradas.
---
#### RN02 - Validação de Saldo
**Especificação:** Impedir ordens se não houver saldo suficiente na CUT, exceto com autorização de "Adiantamento do Banco Central".
**Status Atual:**
- ✅ Validação básica de saldo (implementado)
- ❌ Não considera hierarquia CUT (soma de subcontas)
- ❌ Não há tratamento de "Adiantamento do Banco Central"
**Impacto:** Validação incompleta sem considerar CUT global.
---
#### RN03 - Retenção de Impostos
**Especificação:** Ao pagar fornecedor, reter automaticamente IVA/Imposto Industrial, gerando dois fluxos (líquido + imposto).
**Status Atual:**
-**Não implementado**
- ❌ Não há cálculo de retenção
- ❌ Não há divisão de fluxos (líquido + imposto)
**Impacto:** Não há conformidade fiscal automática.
---
### 5. Segurança
**Especificação:** Autenticação Multifator (MFA) para todas as movimentações financeiras.
**Status Atual:**
-**Não implementado**
- ❌ Não há MFA
- ✅ Aprovação hierárquica (implementado)
**Impacto:** Risco de segurança sem MFA.
---
### 6. Dashboard KPIs
**Especificação:**
- Posição Global de Caixa (BCEAO + Bancos Comerciais)
- Pipeline de Pagamentos (faturas liquidadas aguardando)
- Rácio de Cobertura (Liquidez / Despesas Semanais)
- Mapa de Nivelamento (bancos com saldo não transferido)
**Status Atual:**
-**Não implementado**
- ❌ Não há dashboard
- ❌ Não há KPIs calculados
**Impacto:** Falta visibilidade gerencial.
---
## 🎯 Plano de Implementação
### Fase 1: Crítico (Prioridade Alta)
1. **Hierarquia CUT**
- Adicionar `parentAccountId` em `CashAccount`
- Adicionar `accountCategory` (CUT_PRINCIPAL, CORRESPONDENT, TRANSIT)
- Implementar agregação de saldos hierárquicos
2. **Atributos de Conta**
- Adicionar `iban`, `swiftCode`, `accountingCode`, `accountType`, `overdraftLimit`
- Atualizar DTOs e validações
3. **Plano de Tesouraria (PT)**
- Criar entidade `TreasuryPlan`
- Criar `TreasuryPlanService`
- Implementar validação de tetos diários em `PaymentOrderService`
### Fase 2: Alta Prioridade
4. **Retenção de Impostos**
- Adicionar campos de retenção em `PaymentOrder`
- Implementar cálculo automático
- Criar dois fluxos (líquido + imposto)
5. **Nivelamento Automático**
- Criar processo de nivelamento
- Implementar alertas de nivelamento pendente
- Agendar job diário
6. **Importação MT940/CAMT.053**
- Criar parser para MT940
- Criar parser para CAMT.053
- Integrar com `BankReconciliationService`
### Fase 3: Média Prioridade
7. **Geração XML ISO 20022**
- Criar gerador de XML ISO 20022
- Integrar com STAR/SICA
- Adicionar endpoint para download
8. **Dashboard KPIs**
- Criar `TreasuryDashboardService`
- Implementar cálculos de KPIs
- Criar frontend do dashboard
9. **Integração Contabilística**
- Criar módulo de Contabilidade (ou integração)
- Implementar geração automática de lançamentos
- Mapear para Plano de Contas UEMOA
---
## 📊 Matriz de Impacto vs Esforço
| Requisito | Impacto | Esforço | Prioridade |
|-----------|---------|---------|------------|
| Hierarquia CUT | 🔴 Alto | 🔴 Alto | 1 |
| Atributos Conta | 🔴 Alto | 🟢 Baixo | 1 |
| Plano Tesouraria | 🔴 Alto | 🟡 Médio | 1 |
| Retenção Impostos | 🟡 Médio | 🟡 Médio | 2 |
| Nivelamento | 🟡 Médio | 🔴 Alto | 2 |
| Importação MT940 | 🟡 Médio | 🟡 Médio | 2 |
| XML ISO 20022 | 🟡 Médio | 🔴 Alto | 3 |
| Dashboard KPIs | 🟢 Baixo | 🟢 Baixo | 3 |
| Integração Contábil | 🔴 Alto | 🔴 Alto | 3 |
---
**Documento gerado em:** 2025-01-XX
**Versão:** 1.0