Em 2019, entrei num armazém de e-commerce em Fontana com uma divergência de inventário de 1.8%, e o dono não dormia por causa disso. Passamos uma semana caçando. Sem furto. Sem bug de sistema. A causa raiz: os separadores ouviam a localização B-14-06 como B-14-09. Folhas de separação manuscritas, conferências verbais, e 6 parece muito com 9. Milhares de separações erradas por um único caractere ao ano.
Meu veredito é simples: adicionar um dígito verificador ao final do seu código de localização é o anti-erro mais barato do armazém inteiro. Cem vezes mais barato que scanners novos, dez vezes mais confiável que contratar auditores.
O que um dígito verificador realmente faz
A ideia vem dos códigos de barras. O último dígito do código de barras de um produto não é aleatório — é calculado a partir de todos os dígitos anteriores, um código de verificação embutido. Faça o mesmo com os códigos de localização: acrescente um caractere, calculado do resto por um algoritmo fixo. Quando um operador digita ou escaneia uma localização, o sistema recalcula e rejeita tudo que não confere. A tarefa trava na hora.
Um exemplo. A localização A-03-12 calcula um dígito verificador de 7, então o código completo é A-03-12-7. Um separador erra na digitação e coloca A-03-21. O sistema recalcula, espera 4 em vez de 7, e dispara um erro imediatamente. O erro morre no momento em que acontece em vez de aparecer na contagem cíclica.
Você não precisa inventar o algoritmo. O cavalo de batalha é o módulo 10 ponderado: multiplique cada dígito por pesos alternados (1, 3, 1, 3…), some-os, pegue o último dígito, subtraia de 10. A maioria dos WMS aceita regras de verificação configuráveis; se o seu não aceitar, algumas dezenas de linhas de código resolvem. O único requisito é consistência — um algoritmo, em todo lugar.
Arrume o esquema de codificação primeiro, ou o dígito verificador é inútil
Um dígito verificador evita erros de digitação. Ele não conserta um esquema caótico. Então, antes de adicionar o dígito, arrume as regras de codificação de localizações. O esquema que passo aos clientes tem quatro segmentos: zona-corredor-nível-posição, como A-03-2-12 para zona A, corredor 3, nível 2, posição 12.
Algumas regras duras:
Números primeiro, letras só para o segmento de zona, e banam os sósias. I contra 1, O contra 0, S contra 5, Z contra 2 — todos fora. Uma vez vi um armazém usando B e 8 como códigos de zona. Os operadores confundiam diariamente até tudo ser renomeado.
Comprimento fixo por segmento. Números de corredor sempre com dois dígitos (03, não 3), nível com um dígito, posição com dois dígitos. Comprimento fixo mantém o algoritmo de verificação estável e permite aos operadores notar um caractere faltante de relance.
Nunca use pinyin, nomes de pessoas ou nomes de produtos como localizações. Parece simpático e é um desastre. A "zona do Lao Wang" e a "zona dos SKUs quentes" não significam nada para o próximo contratado, e nenhum sistema pode validá-las. Códigos de localização servem a máquinas e processos, não à nostalgia.
Modernizar um armazém antigo não assusta. Os passos: gere a tabela completa de novas localizações, imprima folhas de conversão antigo-para-novo e afixe nas entradas dos corredores; rode em modo duplo por um mês — ambos os códigos funcionam, mas o sistema registra o novo; depois de um mês, aposente os códigos antigos e deixe os scanners aceitarem apenas os novos. Gaste extra em impressão durante a transição. Vale a pena.
Configurando no WMS, pegando no scanner
Quanto mais cedo a validação disparar, melhor. O ideal é a validação em tempo real no próprio scanner: o operador escaneia o código de barras da localização, o dispositivo verifica o dígito verificador na hora, e um código errado recebe vibração mais luz vermelha. Isso ganha de escanear-sincronizar-erro, e ganha de descobrir o problema na contagem de inventário.
No lado do WMS, três passos: adicione um campo de dígito verificador ao mestre de localizações e gere em massa; adicione a lógica de validação à etapa de confirmação das tarefas de separação, recebimento e contagem cíclica; defina o fluxo de exceção — falha de validação suspende a tarefa e a encaminha a um supervisor, que pode aprovar à força mas precisa informar um motivo.
Essa aprovação forçada precisa existir, porque etiquetas se danificam e existem localizações temporárias. Mas o campo de motivo é obrigatório. Eu vi os dados: em armazéns onde as aprovações forçadas passam de 5%%, oito em cada dez vezes a causa raiz é má qualidade de impressão das etiquetas — troque a impressora e o problema some. Dados falam, mas só se você registrá-los.
Algo que a maioria perde: contagens cíclicas também precisam do dígito. Um contador que escaneia a localização errada lança a contagem no slot de outro, e as divergências se acumulam. Depois que os dígitos verificadores entram no ar, a divergência de contagem costuma cair um terço ou mais.
As contas: o que uma separação errada realmente custa
Uma separação errada custa mais que a mão de obra da nova separação. A conta completa: o separador descobre e devolve andando, 15 minutos de mão de obra; se não for pega, chega ao cliente — 20 minutos de atendimento, frete de reenvio, frete de devolução, e o produto pode nunca voltar. Para pacotes pequenos de e-commerce, uma separação errada custa em média de $15 a $35.
Um armazém com 20,000 pedidos por mês a uma taxa de separações erradas de 0.3%% são 60 separações erradas por mês — mais de $10,000 por ano em custo direto, sem contar os clientes perdidos.
E o dígito verificador? Zero hardware. Armazéns novos constroem desde o primeiro dia; os existentes gastam um fim de semana gerando códigos e imprimindo etiquetas. O único custo real é meio dia de configuração do WMS e um treinamento de 30 minutos para os operadores. Não consigo pensar em ROI melhor em armazém.
A lista de cuidados:
- Documente o algoritmo numa pasta compartilhada. O treinamento de novos contratados precisa cobri-lo em 30 minutos. Não deixe virar uma caixa-preta que só a TI entende.
- Localizações temporárias também precisam de códigos. "Temporário" é exatamente quando os erros acontecem — não as isente da validação.
- Pule caracteres especiais. Hífens demais confundem os scanners; um hífen entre segmentos basta.
- Na primeira semana após o go-live, leia diariamente o log de falhas de validação. Falhas concentradas em poucas localizações geralmente significam slots mal etiquetados — vá até lá e olhe.

O que você pode fazer hoje à noite
Exporte sua tabela de localizações e filtre: você tem "localizações gêmeas" que diferem por um caractere, como A-03-16 e A-03-19, ou B-14-06 e B-14-09? Se sim, renomeie-as primeiro para criar distância, depois adicione o dígito verificador. Faça esses dois passos e eu aposto um jantar que sua taxa de separações erradas cai pela metade.
Codificação de localizações é daquelas coisas em que ninguém pensa até quebrar. Um dígito verificador é um seguro para o seu esquema de codificação — o prêmio é quase zero, e na hora de acionar você vai ficar feliz por ter contratado.
Traduzido do inglês. Em caso de divergência, prevalece a versão em inglês.







