Venda direta, Representante, Portal, Marketplace, Locação, Balcão — cada canal cobra diferente pelo mesmo item. Em vez de seis catálogos ou seis planilhas de preço, existe um catálogo e um motor de preço que decide na hora, conforme o canal de quem está vendendo.
Sem isso, "preço" vira uma coisa que cada canal guarda do seu jeito: o representante negocia por fora, o portal de autoatendimento tem uma tabela fixa, a locação cobra por dia/semana/mês, e ninguém sabe qual dessas quatro versões é a verdadeira quando o cliente liga reclamando de uma cobrança.
Aqui existe uma fonte de verdade para "o que existe" (o Catálogo) e uma fonte de verdade para "quanto custa, pra quem, em qual canal" (a Política Comercial). O vendedor nunca digita preço de cabeça — ele monta a proposta, e o sistema resolve.
resolverPreco().
resolverPreco(), que casa a Política Comercial certa; o preço final sai congelado na linha da proposta — mudanças futuras no catálogo não reescrevem propostas já montadas.| Canal | Onde já é usado | O que muda |
|---|---|---|
| Direto | Proposta comercial (CRM), sem representante | Preço padrão do canal — o mais "de tabela" |
| Representante | Portal do Representante e, agora, Propostas com representante vinculado | Margem/comissão própria da rede |
| Portal | Reservado pra autoatendimento/checkout futuro | Preço fixo, sem negociação manual |
| Marketplace | Reservado pra canal de terceiros | Preço já líquido da comissão do marketplace |
| Locação | Contratos de Locação de Ativos | Tarifa por dia/semana/mês em vez de preço fechado |
| Balcão | Reservado pra venda presencial/PDV | Preço à vista, sem prazo |
Uma PoliticaComercial sem canal definido vale pra qualquer um — é o "coringa". Uma com canal definido só entra na conta daquele canal específico.
PropostaItem.catalogoItemId aponta pro item do catálogo. A descrição e a recorrência vêm de lá — o vendedor só ajusta quantidade.precoTabela e custoUnitSnap ficam gravados no instante da montagem. Se o catálogo mudar de preço depois, a proposta já enviada ao cliente não muda sozinha — ela é fotografia, não espelho.solicitar-desconto pro gestor decidir.Catálogo (o quê) + Canal (por onde) → resolverPreco() escolhe a Política Comercial certa → preço final entra congelado na Proposta (ou no Contrato, no caso de Locação).