
A visita vira pedido de serviço ainda no pátio do cliente — com ou sem sinal de internet
A Reticar Motores retifica motores da linha pesada em Chapecó há mais de 40 anos, e sua equipe comercial vive na estrada — transportadora, mecânica diesel, cooperativa agrícola, no oeste de SC, norte do RS e sudoeste do PR. O app antigo travava exatamente onde não podia: na sincronização. A Epicora construiu o substituto — app mobile offline-first (iOS e Android) e painel web completo —, migrou 3.819 clientes e costurou o que estava solto: a visita com check-in georreferenciado vira pedido de serviço com foto da peça, no mesmo lugar e no mesmo minuto.
- Cliente
- Reticar Motores (Chapecó/SC)
- Setor
- Automotivo · Retífica de motores da linha pesada
- O que fizemos
- Substituição completa do sistema comercial de campo — app mobile offline-first do vendedor + painel administrativo web, com migração de toda a base
- Plataforma
- App iOS e Android (React Native · Expo) · Web (React 19 · Vite) · API NestJS · MongoDB · AWS
O ponto de partida
A Reticar não estava começando do zero — e é isso que torna o caso mais difícil, não mais fácil. Ela já tinha um aplicativo, feito sob medida anos antes, que a equipe comercial usava todo dia. O problema é que esse app havia parado no tempo: código legado, sem quem sustentasse, com bugs recorrentes concentrados justamente na parte que uma equipe de campo não pode perder — a sincronização de dados. Quando a sincronização trava, o vendedor não fica com um app feio; ele fica sem poder trabalhar.
E o trabalho da Reticar é de estrada. A equipe comercial atende retíficas, mecânicas diesel, transportadoras e cooperativas agropecuárias espalhadas pelo interior de três estados — lugares onde o sinal de celular é uma hipótese, não um fato. O vendedor chega ao cliente, avalia um cabeçote trincado no pátio, precisa consultar o histórico daquela conta, registrar o que viu e abrir o pedido de serviço. Se qualquer uma dessas quatro coisas depender de internet, o processo quebra e vira anotação para digitar depois — com o atraso e o retrabalho que isso carrega.
- **Sincronização que travava o app inteiro** — enquanto rodava, bloqueava até ações básicas, e rodava toda vez que alguém abria o aplicativo.
- **Código legado sem manutenção:** nenhuma funcionalidade nova entrava sem risco, e ninguém era dono do que já existia.
- **A visita e o pedido de serviço viviam separados** — o que foi visto no cliente não virava documento no mesmo movimento.
- **O vendedor enxergava o que não era dele:** a estrutura comercial por região não estava refletida no sistema.
- **Nenhuma prova de presença física** no cliente — nem horário, nem localização.
A virada
A decisão de partida foi tratar o app do vendedor como um sistema que funciona sozinho e só depois conversa com o servidor — não como uma tela que consulta uma API. O aplicativo carrega um banco de dados local no próprio celular e trabalha em cima dele: os 3.819 clientes ficam no aparelho, a busca é local, o mapa é local, o cadastro é local. Quando o sinal volta, a fila sobe. É a diferença entre "o app tem modo offline" e "o app é offline por desenho". Isso mudou também quando a sincronização acontece: no app antigo ela disparava a cada abertura e travava tudo; aqui ela deixou de ser um pedágio na entrada — cada registro criado offline mostra seu próprio indicador de sincronizado, e o trabalho continua enquanto a fila drena.
A segunda decisão foi tirar o teclado do caminho. Registrar visita digitando, em pé no pátio de uma transportadora, não acontece — e o que não acontece vira nota mental perdida. Então a descrição da visita passou a ser falada: o vendedor grava e o reconhecimento de voz do próprio aparelho transcreve para o campo de texto, com limite de duração. Não sobe áudio para servidor nenhum e não depende de serviço externo de transcrição — é o recurso nativo do celular, o que mantém o recurso disponível em campo e o custo em zero.
A terceira foi fazer o sistema enxergar a estrutura comercial real da Reticar. Território virou uma hierarquia de quatro níveis — Estado, Macro-região, Micro-região e Cidade —, e o vendedor é vinculado a regiões, não a uma lista de clientes. Quem atende a macro-região de Chapecó vê os clientes de Chapecó; quem atende Passo Fundo vê os de Passo Fundo. Cada concessão e cada revogação desse vínculo entra no log de auditoria como evento próprio.
A decisão que destravou
**O check-in é o que conclui a visita** — não é um botão de status a mais. Quando o vendedor chega ao cliente e faz check-in, o app grava horário e **geolocalização**, muda a visita de *Agendada* para *Realizada*, e imediatamente pergunta: *"Deseja criar uma Ordem de Serviço para este cliente agora?"*. O pedido já nasce com cliente e vendedor preenchidos e guarda a referência da visita que o originou. Foi isso que fechou o buraco entre "estive lá" e "vendi isso" — e tudo funciona offline, porque é exatamente na porta do cliente que o sinal costuma faltar.
O que entregamos
O app do vendedor, que trabalha sem internet
iOS e Android, publicados nas duas lojas. Agenda do dia, mapa com todos os clientes agrupados por proximidade, lista de clientes com busca local sobre a base inteira, ordens de serviço e perfil — tudo lendo de um banco local no aparelho. Cadastro de cliente com CPF/CNPJ validado e endereço por CEP, criação de visita na hora (para quando o vendedor chega sem agendamento) e tema claro, escuro ou do sistema.
A visita com check-in georreferenciado
A visita nasce agendada e só vira Realizada pelo check-in, que grava horário e localização — a prova de presença física que antes não existia. A descrição entra por voz transcrita no aparelho. Um check-in por visita, sem repetição; reverter é ação restrita ao administrador e fica registrada. E o histórico de remarcações e cancelamentos fica guardado inteiro, porque numa operação comercial o que não aconteceu também é informação.
O pedido de serviço que nasce da visita
Assistente de seis passos no celular: peças para coleta com foto tirada na hora — o cabeçote trincado, o alternador, o que for —, serviços do catálogo por categoria, peças por SKU, mídias, e as perguntas que a operação de retífica realmente faz: devolver peças antigas? é bônus? Além dos dados do veículo (placa, marca, modelo, ano, combustível, quilometragem, número do motor). No painel web, o mesmo pedido abre completo e exporta em PDF na identidade da Reticar.
O painel administrativo web completo
Clientes, usuários, agenda em calendário ou lista, peças e coletas, serviços e categorias, regiões nos quatro níveis e pedidos de serviço — todos com busca, filtros, paginação e exportação. Três perfis com alçadas distintas — Administrador, Operador e Vendedor —, e a estrutura que separa quem é responsável pela conta de quem é o vendedor dela: é o que permite a célula interna de pré-venda abrir o pedido e o vendedor externo continuar dono do cliente.
Como garantimos
Trocar o sistema de uma operação viva, sem parar a operação
A entrega não foi um "vai no ar na segunda". Foi um plano de sete etapas com período de uso em paralelo: durante os testes, a equipe da Reticar rodou o app novo ao lado do antigo, com treinamento presencial na sede em Chapecó, apoio contínuo por WhatsApp e uma rodada formal de feedback presencial antes da virada. Só depois disso os acessos foram repassados e o sistema antigo saiu. Hoje a Reticar opera 100% no novo — e o projeto seguiu com quadro de demandas e manutenção ativa, não entregue-e-abandonado.
A base inteira migrada, com o histórico junto
3.819 clientes foram migrados do sistema antigo mantendo os identificadores originais e as datas de cadastro — há registros de 2019 na base atual. Isso não é detalhe de infraestrutura: é o que faz o vendedor abrir o app e reconhecer a própria carteira, em vez de encontrar um sistema vazio pedindo para ele redigitar sete anos de relacionamento. Migração validada antes da virada, e o mapa de clientes prova a distribuição real da operação — Chapecó concentrando o maior cluster, com os demais espalhados pelo interior dos três estados.
Rastreabilidade em vez de confiança
Ação sensível não se apaga, se registra. Remoções são soft delete — cliente, peça, serviço e região saem de circulação sem sumir do histórico —, transição de status de pedido e de visita fica logada com autor, estado anterior e novo, e concessão ou revogação de acesso a região entra como evento próprio de auditoria. O check-in não pode ser refeito, e desfazer um exige perfil de administrador. Somado ao acesso por região, é o que torna auditável uma operação que acontece a 300 km da matriz.
O resultado
A prova de que o sistema pegou não é a data do go-live: é que os pedidos de serviço continuam entrando todo dia. Entre 16 de julho e 4 de agosto de 2026 — as primeiras três semanas em produção —, a equipe abriu 76 pedidos, os mais recentes no próprio dia desta verificação. Um sistema que a equipe não adota fica com o contador parado; este não parou.
E a troca foi integral. A Reticar não mantém o app antigo rodando em paralelo "por segurança", que é o desfecho mais comum quando se substitui um sistema em uso: os sete vendedores externos, a célula interna de pré-venda e a administração estão todos no novo. Antes disso, o app novo conviveu de propósito com o antigo durante os testes — a confiança foi construída em cima do uso real, não pedida antecipadamente.
Soluções relacionadas
Cases relacionados
Sua equipe de campo depende de um sistema que trava quando o sinal cai?
A Epicora constrói app que funciona offline por desenho — e substitui sistema em uso sem parar a operação: o novo roda ao lado do antigo até a equipe confiar nele.