Pular para conteúdo

Cadastrar CCB (bancarização)

O que é

Primeiro passo da formalização na Mesa F2: vincular a proposta certa ao negocio e cadastrar a Cédula de Crédito Bancário (CCB) na bancarizadora escolhida — FIDEM ou FIDUCIA. É o dialog que abre a partir do botão "Cadastrar CCB" na coluna Cadastrar CCB do board Mesa F2, dentro do kanban-comercial.

Como funciona

  1. O dialog lista todas as propostas do contato (não só as já vinculadas ao negócio pelo analise_id) — porque o vínculo automático pode ter quebrado ou o card ter chegado por override manual.
  2. Trava de negócio: só a proposta aceita pode ser cadastrada (botão desabilitado nas outras, com tooltip explicando). Exceção: se nenhuma proposta do contato está aceita (legado/sem backfill), a trava é suspensa e um aviso amarelo pede para confirmar com o comercial qual proposta o cliente fechou.
  3. Ao clicar "Cadastrar CCB" numa proposta: primeiro vincula a proposta ao negócio (POST /v2/comercial/negocios/:id/vincular-proposta, idempotente — não-op se o vínculo já está correto), destravando o card quando o vínculo automático via analise_id divergiu da proposta escolhida. Só então abre o chooser de bancarizadora.
  4. BancarizadorChooserDialog — escolha entre FIDEM e FIDUCIA. Ao escolher, abre o dialog específico do provedor (BancarizacaoDialog para FIDEM, FiduciaContactRegisterDialog para FIDUCIA).
  5. Sucesso → emite proposta.ccb-cadastrada, que move o card para Mesa F2/Enviar Documentos (ver aguardando-documentacao para o passo seguinte). A invalidação cruza os dois pipes (Mesa atualiza a coluna F2; Comercial atualiza o ghost "Em formalização").

Regras de negócio

⚠️ A documentar. Esta tela ainda não tem as regras de negócio levantadas do código.

O que entra aqui: invariante (o que nunca pode acontecer), permissão (quem pode fazer o quê), bloqueio (o que impede a ação e a mensagem que o usuário vê), cálculo (fórmula e arredondamento) e efeito colateral (o que mais muda quando isso acontece).

Regra só entra aqui com origem no código — arquivo e linha. Regra que alguém "acha que é assim" é pior que seção vazia, porque vira decisão de produto baseada em memória.

Onde vive no código

  • apps/crm-menos-juros/client/src/pages/comercial/kanban/components/CadastrarCcbDialog.tsx
  • domains/comercial/negocios/hooks/use-propostas-negocio.ts (usePropostasCandidatasNegocio, useVincularProposta)
  • domains/credito/bancarizacao/components/{BancarizadorChooserDialog,BancarizacaoDialog}.tsx
  • components/FiduciaContactRegisterDialog.tsx
  • API: POST /v2/comercial/negocios/:id/vincular-proposta, GET /v2/comercial/negocios/:id/propostas-candidatas

Relacionado

kanban-comercial · proposta · negocio · avanco-do-negocio-comercial · aguardando-documentacao · mesa

Histórico

  • 2026-07-10: primeira ingestão, a partir do código atual (CadastrarCcbDialog.tsx).