287 lines
8.5 KiB
Markdown
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
|
|
|