8.5 KiB
📊 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:
CashAccountcom 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
parentAccountIdpara 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)
-
Hierarquia CUT
- Adicionar
parentAccountIdemCashAccount - Adicionar
accountCategory(CUT_PRINCIPAL, CORRESPONDENT, TRANSIT) - Implementar agregação de saldos hierárquicos
- Adicionar
-
Atributos de Conta
- Adicionar
iban,swiftCode,accountingCode,accountType,overdraftLimit - Atualizar DTOs e validações
- Adicionar
-
Plano de Tesouraria (PT)
- Criar entidade
TreasuryPlan - Criar
TreasuryPlanService - Implementar validação de tetos diários em
PaymentOrderService
- Criar entidade
Fase 2: Alta Prioridade
-
Retenção de Impostos
- Adicionar campos de retenção em
PaymentOrder - Implementar cálculo automático
- Criar dois fluxos (líquido + imposto)
- Adicionar campos de retenção em
-
Nivelamento Automático
- Criar processo de nivelamento
- Implementar alertas de nivelamento pendente
- Agendar job diário
-
Importação MT940/CAMT.053
- Criar parser para MT940
- Criar parser para CAMT.053
- Integrar com
BankReconciliationService
Fase 3: Média Prioridade
-
Geração XML ISO 20022
- Criar gerador de XML ISO 20022
- Integrar com STAR/SICA
- Adicionar endpoint para download
-
Dashboard KPIs
- Criar
TreasuryDashboardService - Implementar cálculos de KPIs
- Criar frontend do dashboard
- Criar
-
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