Entidade: Meta Comercial
Camada: Domínio — Define o que o objeto é, seus atributos e relacionamentos.
Regras de comportamento: ver
Regras de Negócio/Módulo 13: Dashboard & Relatórios
1. Definição
Uma Meta Comercial é o alvo financeiro ou operacional estabelecido para um consultor ou para um time de vendas em um período de tempo específico (geralmente mensal). As metas são utilizadas pelos dashboards comerciais para calcular taxas de atingimento e rendimento (% de meta realizada).
Metas podem ser medidas por volume de fechamentos ou por montante financeiro gerado em taxas de adesão ou novas mensalidades.
2. Atributos Principais
| Campo | Tipo | Obrigatório | Notas |
|---|---|---|---|
id | UUID | Sim | Gerado pelo sistema |
tenant_id | UUID | Sim | FK → Tenant |
tipo_alvo | enum | Sim | USUARIO (Consultor) ou TIME (Equipe) |
alvo_id | UUID | Sim | FK → Usuário ou Time conforme tipo_alvo |
tipo_periodo | enum | Sim | MENSAL, DIARIO, SEMANAL, CAMPANHA_RELAMPAGO |
nome | string | Não | Título da meta/campanha de incentivo (ex: "Campanha Black Friday"). Requerido se tipo_periodo = CAMPANHA_RELAMPAGO |
data_inicio | date | Sim | Data de início da contagem da meta (inclusive) |
data_fim | date | Sim | Data de término da contagem da meta (inclusive) |
tipo_metrica | enum | Sim | QUANTIDADE_CONTRATOS, RECEITA_ADESAO, RECEITA_MENSALIDADE. Ver Tipos de Métricas |
valor_alvo | decimal | Sim | Valor total a ser alcançado (ex: quantidade de contratos ou R$) |
created_at | timestamp | Sim | Registra o momento da criação do alvo comercial/meta |
updated_at | timestamp | Sim | Registra o momento da última modificação dos dados da meta |
3. Tipos de Métricas de Meta
As metas podem ser configuradas sob três formatos de medição:
QUANTIDADE_CONTRATOS: Mede a meta por número bruto de novos contratos ativados (ex: atingir 15 novos contratos).RECEITA_ADESAO: Mede a meta pelo somatório das taxas de adesão cobradas nas ativações (ex: somar R$ 3.000,00 em taxas de adesão).RECEITA_MENSALIDADE: Mede a meta pelo somatório do valor de mensalidade líquida adicionada à carteira (ex: adicionar R$ 2.500,00 em faturamento recorrente mensal).
4. Comportamento de Metas Concorrentes (Acumulação e Campanhas)
Diferente do faturamento, que é exclusivo, as metas de vendas no CRM podem ser concorrentes e acumulativas a nível de cálculo de rendimento.
Quando um consultor realiza uma venda (ativação de plano) em uma data específica D, esse fechamento é computado automaticamente em todas as metas ativas daquele mesmo consultor cujo intervalo [data_inicio, data_fim] compreenda a data D.
Exemplo Prático (Gincana de Vendas):
- Meta A (Mensal de Maio): Vigência de
2026-05-01a2026-05-31. Tipo:QUANTIDADE_CONTRATOS. Alvo: 15.- Meta B (Campanha Relâmpago Fim de Mês): Vigência de
2026-05-29a2026-05-31. Tipo:QUANTIDADE_CONTRATOS. Alvo: 3.- Cenário: Um consultor ativa 1 veículo no dia
2026-05-30.- Resultado: Este contrato soma
+1na contagem da Meta A (Mensal) E soma+1na contagem da Meta B (Campanha Relâmpago), permitindo a participação concomitante em gincanas e metas institucionais.
5. Relacionamentos
Meta_Comercial ──── pertence a ────── Tenant (N:1)
Meta_Comercial ──── atribuída a ───── Alvo (Usuário) (N:1 — se tipo_alvo = USUARIO)
Meta_Comercial ──── atribuída a ───── Alvo (Time) (N:1 — se tipo_alvo = TIME)
Legenda de Cardinalidade:
N:1(Muitos para Um): Múltiplos registros deste domínio apontam para um mesmo registro de destino (ex: várias metas pertencem ao mesmo tenant, ou várias metas de campanhas e períodos distintos podem ser atribuídas ao mesmo usuário/time).
6. Invariantes (Restrições Absolutas)
- A data final (
data_fim) deve ser maior ou igual à data inicial (data_inicio). - Não é permitido criar mais de uma meta institucional (
tipo_periodocomoMENSAL,DIARIOouSEMANAL) com o mesmotipo_metricapara o mesmoalvo_idcuja vigência se sobreponha (evitando duplicidade de metas padrão no mesmo período). - É permitido haver sobreposição de período apenas se ao menos uma das metas concorrentes for do tipo
CAMPANHA_RELAMPAGO(viabilizando gincanas de vendas concomitantes). - O
valor_alvodeve ser um número decimal estritamente positivo (maior que zero). - Uma meta atrelada a um
TIMEconsolidará as produções de todos os membros do time na contagem, mas a entidade de meta é única e associada ao ID do Time. - O campo
nomeé obrigatório para identificação nos relatórios e dashboards apenas quandotipo_periodo = CAMPANHA_RELAMPAGO. Se for meta padrão (ex:MENSAL), o sistema autogera a nomenclatura (ex: "Meta Mensal - Maio/2026").