Todos os projetos
Sistema operacional sob medidaPrestadora de serviços de campo em telecom

Plataforma de Ordens de Serviço e Repasse

O repasse de uma equipe inteira saiu da planilha e virou processo auditável.

  • Next.js 15
  • React 19
  • TypeScript
  • Tailwind CSS
  • Supabase
  • PostgreSQL
  • Drizzle ORM
  • Zod
  • TanStack Query
  • Recharts
  • Vitest
  • Playwright
  • Vercel
Situação
Em produção desde jun/2026
Sprints entregues
18
Decisões documentadas
21 ADRs
Níveis de acesso
4, isolados por RLS

O problema

O que estava acontecendo

O pagamento dos técnicos era calculado à mão, todo mês, sobre uma planilha exportada do sistema da operadora. A regra não é simples: o valor muda conforme o tipo de ordem de serviço, o motivo de uma visita improdutiva, o dia da semana e a existência de um segundo ponto.

O resultado era previsível. O fechamento consumia dias, ninguém conseguia refazer o cálculo de uma visita específica meses depois, e o técnico não tinha como conferir a própria pontuação. Recebia o valor final e a opção de aceitar.

Qualquer mudança de tabela de preço obrigava a recomeçar a planilha do zero, sem forma de simular o efeito antes de valer.

A solução

O que construímos

Construímos uma plataforma que recebe a planilha, entende a produção e devolve o repasse calculado, com o caminho do cálculo visível em cada visita.

O coração é um motor de regras de preço versionado. A tabela vigente nunca é editada: cria-se uma nova versão em rascunho, simula-se o efeito sobre as visitas que já existem e só então ela é ativada. Nenhuma mudança de regra pega a operação de surpresa.

O fechamento deixou de ser um arquivo e virou um ciclo: a gestão solicita a conferência, o técnico aprova ou contesta ordens específicas com justificativa, a gestão responde, e só então o período é fechado e marcado como pago.

A interface

Como ela se parece

Painel executivo
Painel executivo
Período: mês corrente
7d30d12m
Ordens no período
273
34,1/dia
Taxa de finalização
78,4%
214 concluídas
Ticket médio
R$ 168
por ordem
Improdutividade
21,6%
59 sem sucesso
Produção e valor por dia

Volume, ticket médio e taxa de finalização no topo; abaixo, a série do período cruzando produção e valor.

Recriação da interface, construída com os tokens visuais do projeto. Os números exibidos são ilustrativos, e nenhum dado real de cliente é reproduzido.

Funcionamento

Como funciona na prática

  1. Importação

    A planilha de produção do período é enviada pela plataforma. O parser normaliza os dados, identifica ordens e visitas, e registra o upload com contadores e erros. Se algo vier errado, dá para reprocessar.

  2. Classificação

    Visitas sem sucesso caem numa fila de motivos. A gestão define, por política, quais motivos são pagos e quais não. A decisão vale dali em diante, sem retrabalho manual.

  3. Cálculo

    O motor aplica a tabela de preço vigente a cada visita. O valor de cada linha é rastreável até a regra que o gerou.

  4. Conferência

    O técnico recebe o período no próprio app, confere ordem a ordem e contesta o que discorda, com motivo obrigatório. A gestão responde mostrando a pontuação antes e depois.

  5. Fechamento

    Com a conferência encerrada, o período é aprovado, fechado e marcado como pago. Reabrir deixa registro.

Escopo

O que o sistema faz

Gestão

  • Dashboard executivo: volume diário, ticket médio, taxa de finalização, improdutividade e ranking de equipe
  • Motor de regras de preço com versionamento, simulação e ativação controlada
  • Fila de improdutivas com aprovação e rejeição em lote
  • Fechamento mensal com aprovação, marcação de pagamento e reabertura auditada
  • Histórico de uploads com auditoria e reprocessamento

Indicadores

  • Índice de qualidade e produtividade por técnico, com tendência mensal
  • Distribuição geográfica e motivos de não-conclusão
  • Drill-down do valor não realizado, visita a visita

Campo

  • App do técnico instalável (PWA) e distribuível como APK Android
  • Notificação push com o app fechado
  • Painel pessoal: produção do mês, taxa de sucesso e posição na equipe
  • Contestação de ordem a qualquer momento, com resposta rastreável

Engenharia

Os problemas difíceis

O que exigiu decisão de arquitetura, não apenas código.

Regra de negócio que muda sem quebrar o passado

Preço não pode ser constante no código nem linha editável no banco. Modelamos a tabela como entidade versionada: cada visita guarda a versão que a precificou, então recalcular o passado é uma decisão explícita, nunca um efeito colateral de editar o presente.

Importação idempotente

A mesma planilha é reenviada com frequência, corrigida ou parcial. A ingestão precisa reconhecer o que já existe e atualizar sem duplicar, mantendo o histórico de cada envio auditável.

Isolamento por papel

Quatro níveis de acesso sobre a mesma base. O técnico não pode enxergar dados de outro técnico, nem a margem da empresa. O corte é feito no banco, com políticas de linha, não na interface.

Notificação com o app fechado

O técnico está em campo, com o app em segundo plano. Foi preciso Web Push com chaves VAPID e service worker próprio, além de empacotar a aplicação como APK para instalação direta em Android.

Resultado

O que mudou na operação

  • O fechamento virou um processo com etapas, responsáveis e registro, em vez de um arquivo que passa de mão em mão
  • Cada valor pago é rastreável até a regra que o gerou
  • Mudança de tabela de preço pode ser simulada antes de valer
  • O técnico confere e contesta a própria pontuação, o que tira a discussão do WhatsApp e coloca no sistema
  • A gestão passou a ter indicador de qualidade e produtividade por técnico, com série mensal

Quer uma solução parecida?

Começamos entendendo a sua operação, não vendendo este sistema. Retorno em até 24h úteis. Sem proposta e sem compromisso.

Solicitar diagnóstico gratuito

Continue

Outros projetos

Dashboards e indicadores

Portal de Indicadores Operacionais

Provedor regional de internet

Coletor agendado que extrai um sistema legado de dentro da rede corporativa e um portal na nuvem que consolida seis módulos de indicador, mais um módulo de ações onde o dado nasce no próprio portal.

  • Python
  • Flask
  • Jinja2
  • Supabase
  • PostgreSQL
  • +4
Ver o case
Sistema de gestão completo

ERP, CRM e Field Service em uma plataforma

Empresa de fibra óptica, CFTV e infraestrutura de redes

Plataforma única que cobre o ciclo inteiro: do funil comercial à obra, da obra ao despacho do técnico, do técnico à baixa de material, com controle de acesso por cargo e trilha de auditoria.

  • Next.js 16
  • React 19
  • TypeScript
  • Tailwind CSS v4
  • shadcn/ui
  • +6
Ver o case