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¶
- 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. - 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.
- 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 viaanalise_iddivergiu da proposta escolhida. Só então abre o chooser de bancarizadora. BancarizadorChooserDialog— escolha entre FIDEM e FIDUCIA. Ao escolher, abre o dialog específico do provedor (BancarizacaoDialogpara FIDEM,FiduciaContactRegisterDialogpara FIDUCIA).- 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.tsxdomains/comercial/negocios/hooks/use-propostas-negocio.ts(usePropostasCandidatasNegocio,useVincularProposta)domains/credito/bancarizacao/components/{BancarizadorChooserDialog,BancarizacaoDialog}.tsxcomponents/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).