Propostas
Propostas são documentos comerciais enviados a clientes ou prospects com itens, preços e condições de pagamento.
Ciclo de Vida
draft → sent → viewed → accepted
↓
rejected
| Status | Descrição |
|---|---|
| draft | Rascunho, editável |
| sent | Enviada ao cliente |
| viewed | Visualizada pelo cliente |
| accepted | Aceita — assinatura e fatura criadas automaticamente |
| rejected | Rejeitada pelo cliente (motivo armazenado) |
| expired | Expirou sem resposta |
| canceled | Cancelada pela organização |
Campos da Proposta
| Campo | Descrição |
|---|---|
| Código | Identificador único gerado automaticamente |
| Título | Título da proposta (padrão: "Proposta Comercial") |
| Descrição | Detalhes da proposta |
| Conta de cobrança | Para clientes existentes |
| Prospect | Para novos clientes (Person tipo customer) |
| Cupom | Cupom de desconto aplicado |
| Template | Template de documento para geração de PDF |
| Data de expiração | Configurável (padrão: conforme billing settings) |
| Notas | Observações internas |
Itens da Proposta
Cada proposta contém itens com produtos e preços:
| Campo | Descrição |
|---|---|
| Produto | Produto cotado |
| Preço | Variante de preço selecionada |
| Quantidade | Quantidade (padrão: 1) |
| Valor unitário (subcents) | Preço por unidade |
Restrição: Não é permitido duplicar o mesmo produto em uma proposta.
Cálculo de Preços
O sistema calcula automaticamente os preços por ciclo de cobrança:
| Ciclo | Desconto Padrão |
|---|---|
| Mensal | 0% |
| Trimestral | 5% |
| Semestral | 10% |
| Anual | 15% |
Os descontos por ciclo são configuráveis nas configurações de cobrança da organização.
Para cada ciclo, o sistema calcula:
- Subtotal (soma dos itens recorrentes × meses)
- Desconto do ciclo
- Desconto do cupom
- Total com descontos
- Preço por mês
- Primeiro pagamento (incluindo taxas únicas/setup)
Operações
Enviar (draft → sent)
Requer pelo menos 1 item. Registra sentAt.
Despublicar (sent/viewed → draft)
Permite reeditar uma proposta já enviada.
Aceitar
Quando o cliente aceita:
- Status muda para
accepted - Assinatura é criada automaticamente com os itens da proposta
- Fatura é criada e finalizada
- O ciclo de cobrança é escolhido pelo cliente no momento da aceitação
Rejeitar
O cliente pode rejeitar informando um motivo opcional.
Desfazer Aceitação
Reverte a proposta de accepted para sent e deleta a assinatura vinculada.
Cancelar
Disponível em qualquer estado exceto accepted e canceled.
PDF e Documento
Invalidação Automática
Quando itens são alterados após a geração do PDF, o campo pdfOutdatedAt é definido, sinalizando que o PDF precisa ser regenerado.
Propostas no Portal
Clientes acessam propostas pelo portal usando o código único. Podem visualizar, aceitar ou rejeitar.
Capturas de tela
Lista de propostas
A tela /dashboard/proposals lista todas as propostas comerciais com filtros por status (draft, sent, viewed, accepted, declined, expired), cliente, prazo de validade e valor. Cada linha mostra cliente, valor, dias para expirar e ações (enviar, duplicar, cancelar, baixar PDF).

Detalhe da proposta
A página /dashboard/proposals/[id] reúne itens (planos e produtos com quantidade e valor), descontos, totais, condições, prazo de validade, timeline de eventos (enviada, visualizada, aceita) e ações para reenviar, duplicar ou converter manualmente em assinatura.
