Como fazer um sistema de entregas com rota e comprovante
O caminho técnico de um sistema de entregas: roteirizar paradas, app do motorista que funciona offline, comprovante com foto e rastreio para o cliente.
Um sistema de entregas tem quatro partes: a roteirização que ordena as paradas, o aplicativo do motorista que precisa funcionar sem internet, o comprovante digital com foto, assinatura e coordenada, e o acompanhamento para o cliente. A parte crítica é o offline, porque a rua tem sinal instável.
Um sistema de entregas com rota e comprovante se divide em quatro partes que podem ser construídas em ordem: roteirização das paradas, aplicativo do motorista que funciona sem internet, comprovante digital com foto e coordenada, e acompanhamento para o cliente final. A parte que mais derruba projeto não é o algoritmo de rota, é o offline: a rua tem sinal instável e um app que depende de conexão vira papel de novo em uma semana.
Parte 1: da lista de pedidos para a rota do dia
A roteirização recebe uma lista de paradas e devolve uma ordem. Para isso, cada parada precisa de dados mínimos:
- Endereço completo com CEP, convertido em latitude e longitude.
- Janela de horário em que o cliente aceita receber.
- Tempo estimado de permanência no local (descarregar leva mais que entregar envelope).
- Peso e volume da carga.
- Restrições, como caminhão que não entra em determinada rua.
A conversão de endereço em coordenada, chamada de geocodificação, é onde aparece o primeiro problema real. Endereço brasileiro tem abreviação inconsistente, número aproximado e complemento em campo livre. O padrão é geocodificar no cadastro, não no dia da entrega, e guardar a coordenada validada. Quando a geocodificação retorna baixa confiança, o endereço vai para uma fila de conferência humana com mapa na tela.
Depois, o problema de ordenar paradas com restrição de capacidade e janela de horário é conhecido em pesquisa operacional e não tem solução exata rápida para dezenas de pontos. Na prática se usa heurística: monta uma solução inicial pelo vizinho mais próximo e melhora com trocas sucessivas até acabar o tempo de cálculo. Existem bibliotecas maduras para isso, e o esforço de implementação está mais em modelar as restrições certas do que no algoritmo.
Um detalhe que muda o resultado: distância em linha reta engana bastante em cidade. Use matriz de distância por via real para os pares de pontos relevantes, e guarde em cache, porque essa consulta costuma ser cobrada por chamada.
Parte 2: o app do motorista precisa sobreviver sem sinal
Este é o ponto que decide se o sistema vai ser usado. Requisitos que não são opcionais:
- Baixar a rota inteira do dia ao sair, incluindo endereços, telefones, itens e observações.
- Gravar tudo localmente primeiro, em banco no próprio aparelho, e só depois tentar enviar.
- Fila de sincronização que envia em segundo plano quando a conexão volta, com retentativa.
- Foto comprimida antes de enviar, porque foto de 6 MB em rede fraca não sobe.
- Tela grande e poucos toques, porque o motorista usa em pé, com uma mão, no sol.
- Consumo de bateria controlado, evitando GPS ligado continuamente.
Tecnicamente, um aplicativo web instalável resolve boa parte dos casos com armazenamento local e trabalhador de segundo plano. Quando é necessário acesso mais profundo ao aparelho ou operação longa em segundo plano, o aplicativo nativo ou híbrido compensa.
O ponto delicado do offline é o conflito: o motorista marcou entregue sem sinal, e enquanto isso o escritório cancelou o pedido. A regra precisa ser explícita, e o mais comum é a ação de campo prevalecer, com o conflito indo para uma lista de conferência.
Parte 3: o comprovante que resolve discussão
Um comprovante digital útil junta, em um só registro:
| Elemento | Para que serve |
|---|---|
| Foto do local ou da mercadoria entregue | Prova visual, resolve reclamação |
| Assinatura na tela | Aceite de quem recebeu |
| Nome e documento do recebedor | Identifica a pessoa |
| Coordenada e horário do aparelho | Confirma onde e quando |
| Motivo, quando não entregou | Alimenta a análise de insucesso |
Os motivos de não entrega precisam ser uma lista curta e padronizada, com campo de observação opcional: ausente, endereço não localizado, recusa, avaria, estabelecimento fechado, cliente pediu remarcação. Texto livre puro impede qualquer análise depois.
Vale também padronizar a foto: uma orientação simples na tela sobre o que fotografar reduz muito a quantidade de imagem inútil.
Parte 4: o cliente acompanhando sozinho
Cada entrega ganha um link com código não sequencial, enviado por WhatsApp ou SMS. A página mostra a situação, uma janela estimada e, quando o pedido está próximo, a posição aproximada.
Isso reduz ligação para a central, que costuma ser o custo escondido da operação. Duas cautelas: não exponha telefone nem endereço de outros clientes na mesma tela, e faça o link expirar depois da conclusão.
O que precisa existir no escritório
- Painel do dia, com entregas planejadas, concluídas, em rota e com problema.
- Reatribuição, para mover uma parada de um motorista para outro sem refazer tudo.
- Fila de exceção, com as não entregues e o que fazer com cada uma.
- Histórico por cliente, para descobrir o endereço que sempre dá errado.
- Indicadores: entregas por rota, tempo médio por parada, taxa de sucesso na primeira tentativa, quilometragem por entrega.
A taxa de sucesso na primeira tentativa costuma ser o número que mais dinheiro representa, porque cada nova tentativa custa combustível, hora de motorista e uma vaga na rota do dia seguinte.
Integrações comuns
| Sistema | O que troca |
|---|---|
| ERP ou emissor de nota | Pedidos e documentos fiscais que viram paradas |
| Estoque | Baixa na saída e retorno de mercadoria não entregue |
| Aviso de saída para entrega e link de acompanhamento | |
| Mapas | Geocodificação e matriz de distância |
| Financeiro | Cobrança na entrega e conferência de valores recebidos |
Onde os projetos costumam travar
- Cadastro de endereço ruim. Sem limpeza inicial, a roteirização produz rota impossível. Vale rodar a geocodificação em toda a base antes de começar e tratar as exceções.
- Motorista sem celular adequado. Definir o aparelho mínimo e quem paga o pacote de dados é decisão de projeto, não detalhe.
- Resistência da equipe. Se o app for percebido só como fiscalização, o uso será mínimo. Funciona melhor quando ele também facilita a vida de quem dirige, evitando ligar para a central e reduzindo papelada.
- Roteirizar sem considerar a realidade. Rota ótima no papel que ignora almoço, abastecimento e trânsito de horário de pico é abandonada no segundo dia.
Por onde começar
Começar pela roteirização é tentador e costuma ser errado. O caminho mais rápido para valor é: primeiro o app do motorista com comprovante digital e ordem manual das paradas, depois o painel de exceções, depois o link de acompanhamento do cliente, e só então a roteirização automática, quando já existe histórico de tempo real por parada para calibrar o cálculo.
Perguntas frequentes
Preciso de GPS rastreando o motorista o tempo todo?
Na maioria dos casos não. Registrar a coordenada no momento da entrega e da tentativa já resolve a comprovação e a análise de rota. Rastreamento contínuo consome bateria, gera muito dado e envolve questões de privacidade do trabalhador que devem ser tratadas com apoio jurídico.
O comprovante digital substitui o canhoto assinado?
Para a operação interna e para resolver reclamação de cliente, funciona muito bem. Para efeitos fiscais e de comprovação formal de entrega de mercadoria, as regras variam conforme o documento e o setor, então essa decisão deve ser validada com o contador ou o jurídico da empresa.
Vale usar a API do Google Maps para roteirizar?
Para calcular distância e tempo entre pontos, sim, e é o caminho mais rápido. Para ordenar dezenas de paradas com janelas de horário e capacidade de veículo, é preciso um algoritmo de roteirização por cima, porque o cálculo de rota simples não resolve o problema de ordem ótima.
Tem um processo que consome o time?
Me conta como funciona hoje. Se der para automatizar, eu te digo por onde começar — a conversa de diagnóstico não é cobrada.
Natiam Gabriel é AI Engineer & Full-Stack Developer e fundador da Retti Tech, estúdio de desenvolvimento de software que atende empresas em todo o Brasil. Constrói sistemas web sob medida, automações e integrações, com ou sem inteligência artificial, do levantamento de requisitos até a operação em produção. Mais de 20 empresas usam em produção os sistemas que desenvolveu.