Como funcionam os códigos de barras UPC

Olá pessoal,

achei esse artigo na net muito show, sobre códigos de barras, para quem não conhece como funciona, e precisar implementar algum sistema que se utilize dessa solução, fica ai o conhecimento.
por Marshall Brain – traduzido por HowStuffWorks Brasil
Introdução

Se você for olhar em sua geladeira ou despensa agora, descobrirá que todas as embalagens têm um código de barras UPC impresso. Na realidade, quase todos os itens que você compra em um supermercado, loja de departamentos e hipermercado têm um código de barras UPC.

Você já imaginou de onde estes códigos vêm e o que eles significam? Neste artigo, resolveremos este mistério, assim você poderá decodificar qualquer código UPC que você encontrar!


O código de barras de um xampu anticaspa 

O que é um código de barras UPC

“UPC” significa código universal de produtos. Os códigos de barras UPC foram originalmente criados para ajudar os mercados a aumentar a velocidade do processo de verificação na saída e melhorar o controle de inventário, porém o sistema estendeu-se rapidamente a todos os outros produtos de varejo por ser tão eficiente.

Os códigos UPC originaram-se em uma empresa chamada Uniform Code Council ,UCC (em inglês). Um fabricante solicita permissão para a UCC para entrar no sistema UPC. Para isso o fabricante paga uma taxa anual. Em troca, a UCC emite ao fabricante um número de identificação de fabricação de seis dígitos e fornece diretrizes de como usá-lo. Você pode ver o número de identificação do fabricante em todos os códigos UPC padrão de 12 dígitos, como este mostrado na parte de trás do livro “The Teenager’s Guide to the Real World,” (em inglês) publicado pela BYG Publishing (em inglês)

Você pode ver que este símbolo UPC impresso em uma embalagem tem duas partes:

  • O código de barras legível por máquinas
  • O número UPC de 12 dígitos legível por humanos

O número de identificação de fabricação da BYG Publishing são os seis primeiros dígitos do número UPC – 639382. Os cinco números seguintes – 00039 – são os números de ítem. Um funcionário da empresa, chamado coordenador UPC, é responsável pela alocação do número de item em produtos, garantindo que o mesmo código não seja utilizado em mais de um produto, retirando códigos à medida que produtos são retirados de linha, etc. Geralmente, cada item que um fabricante vende, assim como todos os tamanhos de embalagens e todas as novas embalagens deste item, necessitam de um código diferente. Então uma lata de Coca-Cola de 354ml necessita de um código de item diferente do que uma garrafa de Coca-Cola de 473ml, assim como um pacote de 6 latas de 354ml, um pacote com 12, uma caixa de 24 latas, e assim por diante. É tarefa do coordenador UPC manter todos estes números corretos.

O último dígito de um código UPC é chamado de dígito de verificação. Este dígito permite que o scanner determine se este número foi escaneado corretamente ou não. Aqui está como é calculado o dígito de verificação para os outros 11 dígitos do código, usando o código 63938200039, conforme do “The Teenager’s Guide to the Real World” exemplificado acima:

  1. some o valor de todos os dígitos em posições ímpares (dígitos 1, 3, 5, 7 e 9).
    6 + 9 + 8 + 0 + 0 + 9 = 32
  2. multiplique esse número por 3.
    32 x 3 = 96
  3. some o valor de todos os dígitos em posições pares (dígitos 2, 4, 6, 8 e 10).
    3 + 3 + 2 + 0 + 3 = 11
  4. some este valor ao valor no passo 2.
    96 + 11 = 107
  5. para criar o código verificador, determine o número que, quando adicionado ao número do passo 4, seja múltiplo de 10.
    107 + 3 = 110Dessa forma, o dígito verificador é 3.

Cada vez que o scanner lê o código de barras de um item, ele executa este cálculo. Se o dígito de verificação calculado for diferente do dígito de verificação lido, o scanner sabe que algo saiu errado e que este item deve ser escaneado novamente.

Como o preço é determinado

Como você pode ver, não existe informação de preço codificada em um código de barras. Quando o scanner na verificação de saída escaneia um produto, a caixa registradora envia o número UPC ao computador central POS(ponto de venda) da loja para verificar o número UPC. O computador central envia de volta o preço real deste item neste exato momento.

Este método permite que a loja mude o preço quantas vezes quiser, por exemplo para refletir preços de venda. Se o preço estiver codificado no código de barras, os preços jamais podem mudar. Por outro lado, não codificar um preço fixo permite à loja uma maneira fácil de enganar clientes. Quando você ouve sobre “fraude do scanner” no noticiário, é sobre isto que o jornalista está dizendo. É inacreditavelmente fácil para uma loja elevar os preços por engano ou propositalmente.

Algo que você irá notar quando começar a olhar os códigos UPC em detalhes é que uma grande empresa tem as identificações da empresa com vários zeros. Aqui estão alguns:

  • Post – 043000
  • General Mills – 016000
  • Del Monte – 024000
  • Aveia Quaker – 030000

Aqui está o código de barras de uma garrafa de 3 litros de Coca-Cola diet:

Você pode ver que a identificação da empresa Coca-Cola é 049000. Porém, se você olhar em uma lata de Coca-cola ou a maioria das garrafas de 2 litros, você verá que o código UPC é menor – apenas oitos dígitos no total. Aqui está o código de barras de uma garrafa de 2 litros de Sprite:

Estes pequenos códigos de barras são chamados de números com zeros suprimidos. Existe um conjunto de regras sobre a criação destes números com zeros suprimidos a partir dos números completos, porém a idéia básica é omitir um conjunto de quatro dígitos, todos zeros. No caso do código UPC da Sprite, o 049 no começo são os três primeiros dígitos de identificação da empresa Coca-cola 049000. O 551 é o número de item desta garrafa de Sprite, abreviado de 00551. O zero no penúltimo dígito é o quarto dígito da identificação da empresa Coca-Cola. O dígito final é o dígito de verificação normal. O principal motivo para a existência dos números com zeros suprimidos é criar códigos de barras menores, para produtos com embalagens menores, como as latas de 354ml.

O primeiro dígito do número de identificação de fabricação é especial. Ele é chamado de caractere de sistema de números. A tabela a seguir mostra o que diferentes sistemas de números de caracteres significam:

0
número UPC padrão
(devem ter um zero para os números com zeros suprimidos)
1
reservado
2
itens de peso-aleatório
(frutas, vegetais, carnes, etc.)
3
farmacêuticos
4
marcas em estoque para varejistas
(Uma loja pode montar seus códigos próprios, porém nenhuma outra loja irá entendê-los.)
5
cupons
6
números UPC padrão
7
números UPC padrão
8
reservado
9
reservado

Aqui está um exemplo de código de barras farmacêutico (caractere de sistema de número 3). Este é um frasco de 118ml de xampu anticaspa Selsun Blue:

Aqui está o exemplo de marca em estoque (caractere de sistema de número 4), neste caso de um vale presentes de R$ 21,50 da Toys R Us:

Como a Toys R Us é a única loja que sempre usa este código de barras – este é o único lugar onde os vales-presentes podem ser resgatados – a Toys R Us montou seu próprio código UPC para vales-presentes e então usa o sistema de número 4 para fazê-lo.

O que é código de cupom

O código de cupom é interessante (caractere de sistema de número 5). Se você já imaginou como um scanner pode ler um cupom e rejeitá-lo se você não tiver comprado o produto, aqui está a sua explicação. Aqui está um código de barras UPC de uma caixa de Post Honey Nut Shredded Wheat:

Aqui está o cupom do mesmo produto:

Você pode ver que o código de barras deste cupom começa com um 5 indicando que isto é um cupom. O número 43000 é a identificação da empresa Post. Os próximos três dígitos (186) são chamados de código família. Os próximos dois dígitos (70) são um código de valor. O dígito final é o código de verificação normal.

O código família e o código de valor são colocados arbitrariamente pelo coordenador UPC da empresa. Isto é feito porque um cupom é  usado por toda uma família de produtos. Por exemplo, um cupom talvez sirva para quatro diferentes tipos de sabonetes feitos pela mesma empresa. Da mesma forma, o código de valor representa, arbitrariamente, o valor do cupom. A empresa envia ao varejista os dados que contam ao computador do varejista exatamente quais produtos se ajustam ao código de família, e exatamente quantos remover. Quando o cupom é escaneado, o computador POS:

  1. decodifica o código família
  2. verifica para garantir que o cliente comprou um item da família
  3. decodifica o código de valor
  4. envia o desconto novamente à máquina registradora

Na próxima vez em que você for a uma loja, pegue um produto – qualquer produto. Olhe para o seu código UPC: agora você já sabe o que significa!

Como posso decodificar as barras

Então, digamos que você gostaria de decodificar as barras atuais dos códigos de barras e mapear seus números. Isso será algo que o deixará vesgo, porém pode ser feito.

Em primeiro lugar, examine qualquer código de barras de 12 dígitos. Ele é composto por barras pretas e espaços brancos entre as barras. Suponhamos que a mais fina barra ou espaço que você vê (por exemplo, a primeira barra a esquerda) possa ser chamada de “uma unidade largura”. As barras e espaços podem então ser vistos como tendo larguras proporcionais de uma, duas, três ou quatro unidades. Se você examinar qualquer código de barras pode ver exemplos destas quatro larguras.

O começo de qualquer código de barras é “1-1-1”. Isto é, partindo da esquerda, você encontra uma unidade de largura de barra preta seguida de uma unidade de largura de espaço branco seguido por uma unidade de largura de barra preta (barra-espaço-barra). Seguindo o começo do código, os dígitos são codificados assim:

 0 = 3-2-1-1 1 = 2-2-2-1 2 = 2-1-2-2
 3 = 1-4-1-1 4 = 1-1-3-2 5 = 1-2-3-1
 6 = 1-1-1-4 7 = 1-3-1-2 8 = 1-2-1-3
 9 = 3-1-1-2 
       0 = 3-2-1-1       1 = 2-2-2-1       2 = 2-1-2-2
       3 = 1-4-1-1       4 = 1-1-3-2       5 = 1-2-3-1
       6 = 1-1-1-4       7 = 1-3-1-2       8 = 1-2-1-3
       9 = 3-1-1-2

(Algo a observar: todas essas codificações apresentam a soma igual a 7).

Então vamos pegar esse código de barras como um exemplo:

o código embutido nas barras é 043000181706:

  • o código de barras começa com o código padrão inicial de 1-1-1 (barra-espaço-barra).
  • o zero é 3-2-1-1 (espaço-barra-espaço-barra).
  • o quatro é 1-1-3-2 (espaço-barra-espaço-barra).
  • o três é 1-4-1-1 (espaço-barra-espaço-barra).
  • os próximos três zeros são 3-2-1-1 (espaço-barra-espaço-barra).
  • no meio existe um padrão 1-1-1-1-1 padrão (espaço-barra-espaço-barra-espaço), que é muito importante pois significa que os números à direita estão visualmente invertidos!
  • o um é 2-2-2-1 (barra-espaço-barra-espaço).
  • o oito é 1-2-1-3 (barra-espaço-barra-espaço).
  • o um é 2-2-2-1 (barra-espaço-barra-espaço).
  • o sete é 1-3-1-2 (barra-espaço-barra-espaço).
  • o zero é 3-2-1-1 (barra-espaço-barra-espaço).
  • o seis é 1-1-1-4 (barra-espaço-barra-espaço).
  • o último caractere é um 1-1-1 (barra-espaço-barra).

Divirta-se decodificando códigos de barras de 12 dígitos!

.::Leonardo

1 Comments

Leave a Reply to Barcodebrasil

Clique aqui para cancelar a resposta.

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="">

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.