quinta-feira, julho 10, 2008

Código de Barras - EAN-13

Como vimos no post anterior, a simbologia EAN-13 corresponde a uma expansão da simbologia UPC-A americana para o resto do mundo. Um código EAN-13 é dividido em 4 partes:


  • sistema de numeração (dois ou três dígitos)
  • código da empresa responsável (quatro a seis dígitos)
  • código do produto (três a cinco dígitos)
  • dígito de controle (um dígito)
O sistema de numeração é definido mundialmente e identifica quem é responsável pela atribuição do código da empresa. Por exemplo, o sistema 789 é o prefixo para os códigos controlados pela GS1 Brasil. Um código UPC-A é convertido em um EAN-13 simplesmente colocando um zero à esquerda, desta forma os sistemas 00 a 09 correspondem ao códigos americanos.

A divisão entre o código de empresa e código de produto pode ser variavel dentro de um sistema de numeração. Isto suporta um número pequeno de empresas com muitos produtos em conjunto com um número grande de empresas com poucos produtos.

O dígito de controle é calculado da seguinte forma:
  • Multiplique cada dígito do código por 1 (1o, 3o, 5o, 7o, 9o e 11o dígitos) ou por 3 (2o, 4o, 6o, 8o, 10o e 12o dígitos)
  • Some os produtos
  • Divida a soma por 10
  • Se o resto da divisão for 0, o dígito é zero senão é 10 - resto
Por exemplo, considerando o código 7897833700053:
  • (7*1 + 8*3 + 9*1 + 7*3 + 8*1 + 3*3 + 3*1 + 7*3 + 0*1 + 0*3 + 0*1 + 5*3) = 117
  • Resto da divisão por 10 é 7
  • O dígito é 10 - 7 = 3
Uma outra forma de descrever a mesma operação é:
  • Some os dígitos "pares" (1o, 3o, etc)
  • Some os dígitos "ímpares" (2o, 4o, etc) e multiplique por três
  • Some os dois resultados anteriores
  • O dígito é o valor que somado ao total resulte em um múltiplo de dez
A mesma fórmula vale para o UPC-A, lembrando que o primeiro dígito é zero.

A codificação em barras é ligeiramente confusa devido à necessidade de compatibilidade com o UPC-A. Um código EAN-13 possui a seguinte estrutura básica:
  • A marca de início, 101
  • O grupo da esquerda, composto pelos 2o, 3o, 4o, 5o, 6o e 7o dígitos
  • a marca central, 01010
  • O grupo da direita composto pelos 8o, 90, 10o, 11o, 12o e 13o dígitos
  • A marca de fim, 101
onde 0 corresponde a espaço e 1 corresponde a barra.

Note que na descrição acima não está incluído o primeiro dígito, que é o dígito adicional do EAN-13 em relação ao UPC-A. Este dígito é codificado como um bit de paridade dos dígitos do grupo da esquerda:

(I = Impar, P = Par)

A codificação dos dígitos em barra é diferente conforme o grupo em que ele está e, no caso dos dígitos no grupo esquerdo, da paridade definida pelo primeiro dígito; em todos os casos cada dígito ocupa 7 módulos:


Notar que com esta codificação cada dígito resulta em duas barras e dois espaços, com o tamanho a largura das barras e espaços variando de 1 a 4 módulos.

Exemplificando com o código 7897833700053:

  • O primeiro dígito é 7, o que corresponde à paridades I P I P I P
  • Marca de início é 101
  • O segundo dígito é 8, com paridade I, 0110111
  • O terceiro dígito é 9, com paridade P, 0010111
  • O quarto dígito é 7, com paridade I,0111011
  • O quinto dígito é 8, com paridade P, 0001001
  • O sexto dígito é 3, com paridade I, 0111101
  • O sétimo dígito é 3, com paridade P, 0100001
  • Marca central é 01010
  • O oitavo dígito é 7, 1000100
  • O nono dígito é 0, 1110010
  • O décimo dígito é 0, 1110010
  • O décimo-primeiro dígito é 0, 1110010
  • O décimo-segunto dígito é 5,1001110
  • O décim-terceiro dígito é 3, 1000010
  • Marca de fim é 101
O tamanho de um código EAN-13 ou UPC-A é de 3 + 6*7 + 5 + 6*7 + 3 = 95 módulos.

Um último detalhe é a forma tradicional de apresentação do código de barras, que pode ser visto no início do post. As barras das marcas de início, centro e fim se prolongam um pouco mais para baixo que as demais. Na representação em texto (o chamado humano-legível) o primeiro dígito é colocado à esquerda da marca de início e os demais abaixo das respectivas barras.

Um comentário:

Sofia Mir disse...

Oi
por favor, eu tenho o numero do código de barras. Como eu faço para descobrir que produto é esse?
Em que site?
Obrigada
Tania