Como funciona o dígito de controlo do EAN-13
O 13.º dígito de todos os códigos de barras EAN-13 não é escolhido — é calculado. Aqui está a fórmula, um exemplo resolvido completo, e porque é que importa.
Um código de barras EAN-13 codifica treze dígitos. Os primeiros doze identificam o produto (um prefixo GS1, um prefixo de empresa e uma referência de artigo); o décimo terceiro é um dígito de controlo — um único dígito calculado a partir dos outros doze. A sua única função é detetar erros: se um dígito for mal digitado ou mal lido, o dígito de controlo deixa de corresponder e a leitura é rejeitada.
A fórmula, em termos simples
Lendo os doze dígitos de dados da esquerda para a direita:
- Multiplica os dígitos nas posições ímpares (1.ª, 3.ª, 5.ª …) por 1.
- Multiplica os dígitos nas posições pares (2.ª, 4.ª, 6.ª …) por 3.
- Soma todos os resultados para obter uma soma.
- O dígito de controlo é o que tens de acrescentar a essa soma para chegar ao próximo múltiplo de dez. Em fórmula: controlo = (10 − (soma mod 10)) mod 10.
Esse "mod 10" final importa num caso especial: se a soma já for um múltiplo de dez, o dígito de controlo é 0, não 10.
Um exemplo resolvido
Toma os doze dígitos de dados 400638133393. Dispõe-nos com os seus pesos:
| Dígito | 4 | 0 | 0 | 6 | 3 | 8 | 1 | 3 | 3 | 3 | 9 | 3 |
| Peso | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 |
| Produto | 4 | 0 | 0 | 18 | 3 | 24 | 1 | 9 | 3 | 9 | 9 | 9 |
Os produtos somam 4 + 0 + 0 + 18 + 3 + 24 + 1 + 9 + 3 + 9 + 9 + 9 = 89. O próximo múltiplo de dez acima de 89 é 90, e 90 − 89 = 1. Portanto o dígito de controlo é 1, e o EAN-13 completo é 4006381333931.
Porque é que os leitores dependem dele
Quando um leitor lê um EAN-13, repete exatamente este cálculo nos primeiros doze dígitos e compara o resultado com o décimo terceiro. Se não coincidirem, a leitura é descartada. Este único dígito extra deteta a esmagadora maioria das gralhas de um só dígito e muitos erros de transposição — um seguro barato contra a leitura do produto errado numa caixa.
A mesma matemática move o UPC, o EAN-8 e o GTIN-14
O método do EAN-13 é na verdade o algoritmo GS1 módulo-10, e é partilhado por toda a família: o UPC-A (11 dígitos de dados), o EAN-8 (7 dígitos de dados) e o GTIN-14 / ITF-14 (13 dígitos de dados) usam todos os mesmos pesos alternados de 3 e 1 a partir da direita. Só muda o comprimento; a lógica é idêntica.