Documentação/Processos e operação
Administração, auditoria e suporte
3 min de leitura

Reconstrução histórica de metas 2025-2026

Escopo

Reconstrução executada na base de homologação do GV - Gestor de Vendas em 30/07/2026, abrangendo janeiro/2025 até agosto/2026.

  • 20 meses;
  • 11 lojas ativas;
  • 220 ciclos de meta publicados;
  • 2.505 metas mensais por vendedor;
  • 73.902 metas diárias por vendedor;
  • 6.587 fechamentos diários de loja.

Todas as 36 metas anteriores foram removidas, inclusive registros de teste e ciclos fora do período solicitado.

Regra dos valores

As metas foram calculadas do zero. Nenhum valor de meta anterior foi reutilizado.

  1. Quando há vendas no mês, a Meta principal corresponde às vendas da loja mais 5%, arredondada para centenas de reais.
  2. Quando o mês de 2026 ainda não possui vendas, é usado o mesmo mês de 2025 mais 5%, preservando a sazonalidade.
  3. Sem vendas no mês e no mesmo mês do ano anterior, é usada a última meta gerada para a loja.
  4. Sem qualquer referência anterior, é usada a meta de demonstração de R$ 120.000.
  5. Meta 2 corresponde a 115% da Meta principal.
  6. Meta 3 corresponde a 130% da Meta principal.

Origem dos 220 ciclos:

OrigemCiclos
Vendas do próprio mês + 5%171
Vendas do mesmo mês do ano anterior + 5%41
Última meta gerada para a loja7
Valor inicial de demonstração1

Regra de distribuição

O processamento segue o mesmo fluxo do assistente administrativo:

  1. divide a meta mensal da loja entre os dias elegíveis, com fechamento exato em centavos;
  2. remove dias em que a loja não opera;
  3. remove feriados e pontos facultativos configurados para sair da meta;
  4. identifica os vendedores disponíveis em cada data;
  5. divide a meta daquele dia somente entre esses vendedores;
  6. agrega os valores diários para formar a meta mensal de cada vendedor.

O processamento bloqueia a execução se qualquer loja ficar sem dia elegível ou se qualquer dia com meta ficar sem vendedor disponível.

Elegibilidade histórica

Foram verificados vínculo, loja, transferências, coberturas, férias, ausências, feriados e dias de operação. Vendedores técnicos com código 000001 ou SEM_CODIGO não recebem meta.

O cadastro possuía 87 vendedores cuja admissão estava registrada em julho/2026, apesar de existirem vendas anteriores. A admissão foi corrigida para a primeira venda comprovada antes da distribuição.

MêsVendedores com meta
2025-0182
2025-0287
2025-0390
2025-0496
2025-05103
2025-06112
2025-07118
2025-08123
2025-09129
2025-10132
2025-11139
2025-12142
2026-01142
2026-02142
2026-03142
2026-04144
2026-05144
2026-06144
2026-07147
2026-08147

Backup e evidências

Backup anterior à alteração:

backups/before_historical_goals_20260730_183742.sql.gz

SHA-256:

1ac95e6e3aaefb0af0e117ccfb5c7bcfb5e4b7e234fad611b613b294f14ae613

Relatórios completos mantidos na conta da API:

  • backups/historical_goals_2025-01_2026-08_dry-run.json;
  • backups/historical_goals_2025-01_2026-08_execute.json.

O relatório contém a relação nominal dos vendedores elegíveis por loja/mês, dias disponíveis, origem do valor e totais.

Rotina reutilizável

Prévia:

npm run rebuild:goals:history -- \
  --from 2025-01 \
  --to 2026-08 \
  --company-id company_technos \
  --report /caminho/seguro/previa.json

Execução, somente depois de backup e conferência da prévia:

npm run rebuild:goals:history -- \
  --from 2025-01 \
  --to 2026-08 \
  --company-id company_technos \
  --backup-label nome-do-backup.sql.gz \
  --report /caminho/seguro/execucao.json \
  --execute

Validações concluídas

  • 20 meses com exatamente 11 lojas em cada mês;
  • 220 ciclos publicados e nenhum ciclo fora do intervalo;
  • fechamento exato da loja contra os vendedores;
  • fechamento exato de cada vendedor contra seus dias;
  • fechamento exato de cada dia contra a meta diária da loja;
  • 73.902 atribuições conferidas contra admissão, desligamento, loja, lotação, ausência, operação e feriado;
  • matriz de gerenciamento exibindo as 220 metas;
  • edição de ciclo reconstruído validada sem gravar alterações;
  • nenhuma ocorrência no console do navegador durante o smoke test.