Propósito: apresentar de ponta a ponta o funcionamento do módulo de Gestão de Portfolio para audiência de negócio. Cobre desde o setup inicial da empresa até o ciclo operacional de contratos, parcelas, baixas, inadimplência e visão de clientes na carteira. Cada fluxo traz o diagrama visual + regras de negócio chave.
| Entidade | O que é |
|---|---|
| Empresa | A pessoa jurídica dona da carteira (cliente da Nagro). |
| Portfolio (Carteira) | Agrupamento de carteiras. Uma empresa pode ter várias. |
| Carteira | Agrupamento obrigatório dentro de um portfolio. Onde os contratos vivem efetivamente (nome técnico: SubPortfolio). |
| Template de Contrato | Molde que define como os contratos serão preenchidos. |
| Dictionary | Catálogo da plataforma com os campos base de cada tipo de instrumento. |
| Contrato | Instrumento jurídico-financeiro com participantes, parcelas e garantias. |
| Participante | Credor, devedor ou garantidor do contrato (sempre um Client). |
| Parcela (Pagamento) | Obrigação de pagamento individual com vencimento. |
| Baixa | Registro de recebimento de uma parcela. |
| Colateral | Garantia (real ou fidejussória) vinculada ao contrato. |
| Client | Pessoa física ou jurídica cadastrada no AgRisk, que aparece nos contratos. |
| Princípio | Implicação |
|---|---|
| Template é um snapshot | O template captura as camadas 1 e 2 do Dictionary no momento da criação. Fica autocontido — não consulta o Dictionary depois. |
| Mudanças no Dictionary não afetam templates existentes | Quando o AgRisk evolui o Dictionary, só novos templates capturam a mudança. |
| Refresh opcional do snapshot | A empresa pode optar por atualizar um template existente para a versão mais nova do Dictionary, preservando a camada 3 (customizações próprias). |
| Tipo OTHER | Quando o template é do tipo OTHER, a camada 2 fica vazia — toda especificidade vem da camada 3. |
OVERDUE move parcelas PENDING ou PARTIALLY_PAID com dueDate ultrapassado para OVERDUE.PARTIALLY_PAID vai para OVERDUE, o histórico de baixas anteriores é preservado (no campo receivedAmount acumulado).DEFAULTED lê o daysToDefault do contrato (configurável por contrato) e move parcelas em atraso há mais de N dias.daysToDefault não estiver configurado no contrato, a transição automática para DEFAULTED não ocorre — só manual.| Campo | Origem | Significado |
|---|---|---|
calculatedInterestAmount | Sistema | Juros que o sistema calculou (baseado em dailyInterestPercentage × dias de atraso). Imutável. |
chargedInterestAmount | Usuário | Juros efetivamente cobrados. Pode ser igual ou diferente do calculado. |
calculatedFineAmount / chargedFineAmount | Mesma lógica | Multa calculada vs. cobrada. |
calculatedDiscountAmount / chargedDiscountAmount | Mesma lógica | Desconto calculado vs. concedido. |
| Cenário | Recomendação |
|---|---|
Cliente comunica formalmente que não vai pagar antes do prazo daysToDefault | Manual — gestor marca DEFAULTED imediatamente. |
| Cliente apenas atrasou, ainda há expectativa de regularização | Deixa o automático rodar — gestor não interfere. |
| Operação está em processo de renegociação | Manual — gestor marca RENEGOTIATED quando o novo contrato é criado. |
| Erro operacional (parcela criada errada) | Manual — gestor marca CANCELLED. |
DEBTOR em pelo menos um contrato não cancelado.collectionStatus:Cliente → collectionStatus) avalia e detecta transições, emitindo eventos de domínio (ex.: cliente entrou em CRITICAL) para consumo futuro por módulos de cobrança/notificação."Cada empresa organiza seus contratos em um ou mais portfolios (silos isolados, geralmente por safra, filial ou tipo de operação). Dentro de cada portfolio existem uma ou mais carteiras — é onde os contratos efetivamente vivem (por gestor, região, produto, etc.). Quem vê o quê é controlado por atribuição direta ao portfolio ou à carteira — não há mágica."
"Cada tipo de contrato (CPR, CCB, duplicata) tem campos pré-definidos pela plataforma, e a empresa adiciona campos próprios conforme sua operação. Quando o template é criado, ele captura uma fotografia dos campos base — se a plataforma evoluir depois, contratos antigos continuam funcionando. A empresa decide quando atualizar."
"Em vez de um único 'cliente', cada contrato tem participantes tipados: credores, devedores e garantidores. Suporta cessão, cofinanciamento, devedores solidários e avalistas — situações comuns em crédito agro."
"Quando uma baixa é registrada, o sistema captura dois snapshots: o que ele calculou (multa, juros) e o que foi efetivamente cobrado. Isso permite registrar acordos comerciais (desconto, perdão de mora) sem perder rastreabilidade."
"Baixas são imutáveis após criação. Para corrigir erros, cancela e cria nova — modelo padrão da indústria financeira. Garante auditoria completa."
"O sistema monitora automaticamente (job noturno) quando parcelas vencem, calcula encargos diariamente e propaga o status para o contrato. Em paralelo, o gestor pode intervir manualmente quando reconhece formalmente uma inadimplência ou registra uma renegociação."
"A visão de clientes mostra quem deve, quanto deve, há quanto tempo. Calculado em tempo de leitura — sempre reflete o estado atual. Detecta transições (ex.: cliente entrou em CRITICAL) e fica pronto para integrar com módulos futuros de cobrança e notificação."