Negócios / Deals de Crédito
Pré-requisitos de acesso
- Permissão (módulo):
viewCredits(acesso à listagem). Aprovar/rejeitar exigecreditDealApprove/creditDealReject; cancelar usacreditDealReject. - Licença/Feature:
CREDIT_INVESTMENTShabilitada na licença do tenant (Vault). - Contêiner do menu: TOKENIZAÇÃO → grupo Crédito Tokenizado
O que é / quando usar
A tela de Negócios / Deals é o centro da operação de crédito: cada deal é uma operação de antecipação/cessão de recebíveis que reúne um originador (cedente), um ou mais recebíveis, um investidor (ou pool de investidores na modalidade fracionada), o template de precificação e a cascata de liquidação. É aqui que o operador acompanha o ciclo de vida da operação — de rascunho a liquidada — e executa as decisões de aprovação, rejeição e cancelamento.
Use esta tela no dia a dia para aprovar operações que passaram pela avaliação de risco, rejeitar as que não devem prosseguir e cancelar operações já em andamento (com motivo registrado). A criação típica é feita pelo originador no Midas-Web; o BackOffice oferece o botão Criar para casos manuais.
Pré-condições
- Permissão:
viewCreditspara ver a lista;creditDealApprove/creditDealRejectpara as ações (permissão dupla — enum estático CPM no backend + módulo dinâmico no DB que controla os*ngIf/*appHasPermissiondos botões; ambos precisam estar ativos). - Licença/Feature:
CREDIT_INVESTMENTShabilitada. Sem ela, o grupo Crédito Tokenizado nem aparece no menu. - Dependências de outras telas: o originador e o investidor devem existir como Partes aprovadas; os Recebíveis precisam estar cadastrados/aprovados; idealmente já existem Templates de Precificação, Cascata e Fontes de Funding.
Passo a passo
- Acesse o menu Crédito Tokenizado → Negócios / Deals.
- Use a busca para localizar por número do deal/originador/investidor.
- Clique numa linha (ou no menu ⋮ → Visualizar) para abrir os detalhes do deal.
- Para operações em status PENDING, use ⋮ → Aprovar ou ⋮ → Rejeitar.
- Para operações já em andamento (não DRAFT/CANCELLED/SETTLED), use ⋮ → Cancelar e preencha o motivo/tipo de cancelamento no diálogo.
Filtros e colunas
| Coluna | O que mostra | Origem do dado |
|---|---|---|
| Número do Deal | Código identificador da operação (dealNumber) | Deal.dealNumber |
| Originador | Cedente da operação (ID/nome, truncado em 8 chars na lista) | Deal.originatorId (resolvido para nome quando disponível) |
| Investidor | Investidor titular; — se ainda em captação fracionada | Deal.investorId |
| Status | Estágio do ciclo: DRAFT, PENDING, APPROVED, FUNDED, DISBURSED, PARTIALLY_SETTLED, SETTLED, CANCELLED, FULLY_FUNDED, OPEN_FOR_INVESTMENT | Deal.status |
| Valor Bruto | Valor de face dos recebíveis | Deal.grossAmount (BigNumber no backend) |
| Valor Líquido | Desembolso líquido ao originador (bruto − desconto − taxas) | Deal.netDisbursement |
| Tokenização | Se a operação foi tokenizada e quantas unidades emitidas | Deal.tokenizationStatus / tokenizedUnits |
| Criado em | Data/hora de criação | Deal.createdAt |
A busca filtra a lista; o status não tem dropdown próprio nesta tela — use a busca e a coluna Status para triagem.
Ações e modais
- Visualizar: abre os detalhes completos do deal (
credit-deals/view/:id), incluindo recebíveis, precificação, contrato, tokenização e abas relacionadas. - Editar: disponível apenas em DRAFT (
credit-deals/edit/:id). Operações já submetidas não são editáveis pela lista. - Aprovar: roda
approveDeal(id)após confirmação (bottom-sheet). Move o deal dePENDINGparaAPPROVED, disparando a avaliação das Políticas de escopo DEAL. Só aparece comcreditDealApprove. - Rejeitar: roda
rejectDeal(id)após confirmação. Encerra a operação como rejeitada. Só aparece comcreditDealReject. - Cancelar: abre o diálogo de cancelamento (motivo + tipo de cancelamento), depois confirma via bottom-sheet e chama
cancelDeal(id, userId, motivo, tipo). OuserIddo operador logado é gravado como responsável. Disponível para qualquer status exceto DRAFT, CANCELLED e SETTLED.
Por serem decisões financeiras sensíveis, aprovar/rejeitar/cancelar podem disparar step-up (re-autenticação senha + MFA, header X-Step-Up-Token, janela de 5 min) conforme a configuração do ambiente. Step-up não é aprovação 4-eyes — apenas reconfirma a identidade do operador.
Regras de negócio / cuidados
Atenção
- Aprovação dispara avaliação de risco. Ao aprovar, as Políticas de escopo DEAL são avaliadas; uma política com ação
REJECTreprovada pode barrar a operação ou forçar revisão. - Editar só em DRAFT. Depois de submetida, a operação não volta a ser editável pela lista — corrija via cancelamento + nova operação se necessário.
- Cancelamento exige motivo e tipo. O diálogo obriga preencher
cancellationReasonecancellationType; isso alimenta o eventual fluxo de reembolso (refundAmount/refundStatus). - Modalidade fracionada. Em deals com
targetAmount/raisedAmount, o investidor pode estar vazio até a captação fechar (FULLY_FUNDED); a coluna Investidor mostra—nesse intervalo.
Irreversível
- Aprovação aciona o fluxo financeiro a jusante (funding → desembolso → tokenização). Não há "desaprovar"; reverter exige cancelamento com reembolso, que é um novo evento financeiro auditado.
- Valores financeiros:
grossAmount,netDisbursement,discountAmount,feesAmountsão tratados como BigNumber no backend — a doc e a UI exibem formatado, mas nunca arredonde ao conferir; confira as casas decimais da moeda do tenant. - Status APPROVED dos participantes: o desembolso ao originador exige Party com status aprovado; veja Partes.
Exemplos
Cenário 1 — Aprovar uma operação simples investidor-único
- O originador criou o deal no Midas-Web; ele chega como
PENDING. - Operador localiza pela busca, abre Visualizar, confere recebíveis e precificação.
- ⋮ → Aprovar → confirma. As Políticas de DEAL rodam; passando, o deal vai para
APPROVEDe segue para funding/desembolso.
Cenário 2 — Cancelar operação já desembolsada
- Deal está em
DISBURSED; surgiu fraude no recebível. - ⋮ → Cancelar → preenche motivo "recebível inválido" e tipo de cancelamento.
- Confirma; o sistema registra
cancelledBy(operador),cancellationReason/cancellationTypee prepara reembolso (refundStatus). Considere abrir também uma Recompra.
Cenário 3 — Operação fracionada em captação
- Deal está em
OPEN_FOR_INVESTMENTcomtargetAmountdefinido; coluna Investidor mostra—. - Conforme investidores aportam,
raisedAmountcresce; ao atingir o alvo o status viraFULLY_FUNDED. - Só então o fluxo de desembolso fica liberado.