Kod UPC (ang. Universal Product Code) był pierwszym kodem kreskowym zastosowanym na szeroką skalę. Za jego narodziny przyjmuje się datę 3 kwietnia 1973, kiedy to przemysł spożywczy w USA formalnie zatwierdził UPC jako standard oznaczania produktów w sprzedaży. Twórcą tego kodu jest George J. Laurer.
Zainteresowanie poza granicami USA kodem UPC doprowadziło do powstania kodu EAN w 1976 roku. Powstał on na bazie kodu UPC.
Obecnie jest pięć różnych wersji kodów UPC (A, B, C, D, E). Do 2005 roku wszyscy sprzedawcy detaliczni w USA będą musieli być w stanie zeskanować wszystkie rodzaje kodów EAN/UPC.
Kod UPC został początkowo stworzony, aby przyśpieszyć proces sprzedaży w sklepach spożywczych, a także, aby prowadzić inwentarz towarów. W krótkim czasie system ten zaczął być stosowany w całym handlu detalicznym.
Kod UPC może być drukowany na opakowaniach różnego typu. Format dopuszcza skanowanie kodu w dowolnej orientacji paczki. Kod może być skanowany przy użyciu skanerów ręcznych i może być drukowany przez sklep. Typ UPC-A ma współczynnik poprawnego zeskanowania za pierwszym razem na poziomie 99%. Błąd podczas skanowania występuje rzadziej niż raz na 10000 prób.
Kod UPC może być drukowany stosując różne techniki drukarskie. Ilość użytego atramentu zależy od prasy drukarskiej, ciężaru i lepkości atramentu oraz innych czynników, które są trudne do kontrolowania. Kod UPC jest dekodowany poprzez mierzenie odległości pomiędzy krawędziami pasków. Ważne jest, aby drukowane czarne paski nie były za szerokie i nie zachodziły nadmiernie na przestrzenie między nimi gdyż może to powodować trudności w odkodowywaniu.
Piecze nad kodem UPC sprawuje UCC (ang. Uniform Code Council). Producenci zwracają się do UPC po zezwolenie na przystąpienie do systemu UPC. Producenci płacą roczną opłatę za korzystanie z systemu. W zamian UCC przydziela producentowi 6-cyfrowy identyfikator i daje wytyczne jak go używać. Kod producenta można zobaczyć na dowolnym typie standardowego dwunastoznakowego kodu UPC.
Budowa
Kod kreskowy drukowany na opakowaniach produktów składa się z dwóch części:
odczytywany przez urządzenie kod kreskowy
zrozumiały dla człowieka 12-cyfrowy numer UPC
Znak jest kodowany jako sekwencja dwóch pasków i dwóch odstępów. Każda sekwencja ma szerokość siedmiu modułów. Szerokość pasków i odstępów może mieć 1, 2, 3 lub 4 szerokości modułu. Daje to w sumie 20 kombinacji. Dziesięć jest używanych do lewej nieparzystej części i dziesięć jest używanych do prawej parzystej części. Lewe znaki zawsze zaczynają się od odstępu, a prawe od paska.
Kod UPC-A posiada na środku wartownik, który się wyróżnia dłuższymi paskami. Rozdziela to kod na dwie części: lewą i prawą. Ten podział umożliwia skanowanie kodu w dowolnej orientacji. Wysokość kodu kreskowego powinna być przynajmniej połową jego długości. Czasami jednak wysokość kodu jest skracana, aby dopasować ją do projektu opakowania. Takie skrócenie wysokości powoduje obniżenie zdolności do skanowania w dowolnej orientacji i przez to obniża wartość współczynnika poprawnego zeskanowania za pierwszym razem. Pomimo tego, że UPC jest kodem ciągłym to jego lewa i prawa połowa może być dekodowana niezależnie.
Po lewej i prawej stronie kodu kreskowego powinien być pusty margines o szerokości 9 modułów. Kod też może zawierać dwa lub pięć dodatkowych znaków. Te dodatkowe cyfry używane są głównie na czasopismach i książkach.
Kod UPC-A jest podzielony na cztery obszary:
Numer systemu (1 znak)
Kod producenta (5 znaków)
Kod produktu (5 znaków)
Cyfra kontrolna (1 znak)
Numer systemu jest drukowany po lewej stronie kodu kreskowego, a cyfra kontrolna po prawej stronie. Kod producenta i produktu drukowane są pod kodem.
Numer systemu jest pojedynczą cyfrą, która określa rodzaj produktu. Poniższa tabela prezentuje, co każdy symbol oznacza.
Numer systemu
Opis
0
Zwykły kod UPC
1
Zarezerwowany
2
Waga artykułów oznaczana w sklepach
3
Lekarstwa
4
Nie ma szczególnych zastosowań, w sklepach używane do artykułów nie będących żywnością
5
Kupony
6
Zarezerwowany
7
Zwykły kod UPC
8
Zarezerwowany
9
Zarezerwowany
Kod producenta jest unikalnym kodem przydzielonym przez UCC dla każdego producenta albo firmy, której towary zawierają kod UPC-A. Wszystkie towary sprzedawane przez daną firmę będą posiadać ten sam kod producenta.
Wszystkich możliwych kodów producentów jest 99999. Wynika to z długości kodu producenta. Zatem każda firma, która posiada swój kod producenta może oznakować 99999 swoich produktów.
Kod produktu jest unikalnym kodem przydzielonym przez producenta. Inaczej niż kod producenta, który musi być przydzielony przez UCC, producent ma wolną rękę w przydzielaniu numerów produktów bez konieczności konsultacji z UCC lub inną organizacją. Każdy towar sprzedawany przez producenta i każda wielkość opakowania musi mieć swój unikalny numer UPC. Np. kawa w opakowaniu 0.5 kg musi mieć inny kod od tej samej kawy w opakowaniu 0.25 kg. Odkąd UCC czuwa nad tym, aby kod producenta się nie powtarzał, producent musi tylko pilnować, aby nie powtarzał swoich kodów produktów.
Każdy producent ma do dyspozycji 99999 kodów produktów. Jest mało prawdopodobne, że jakiś producent miałby aż tyle produktów do sprzedaży, więc daje to im dużą swobodę.
Cyfra kontrolna jest dodatkową cyfrą służącą weryfikacji, czy kod został bezbłędnie rozkodowany. Sprawdzanie poprawności skanowania jest przydatne, gdyż skanery mogą podawać błędne dane (nieodpowiednia szybkość skanowania, zła jakość druku kodu).
Cyfra kontrolna jest obliczana na podstawie 11 pierwszych znaków. Poniżej przedstawiony jest sposób obliczeń wraz z przykładem dla kodu 63938200039.
Zsumować wartości wszystkich cyfr na nieparzystych pozycjach (tzn. cyfry na pozycjach: 1, 3, 5, 7, 9, 11)
6 + 9 + 8 + 0 + 0 + 9 = 32
Przemnożyć otrzymany wynik przez liczbę 3
32 * 3 = 96
Zsumować wartości wszystkich cyfr na parzystych pozycjach (tzn. cyfry na pozycjach: 2, 4, 6, 8, 10)
3 + 3 + 2 + 0 + 3 = 11
Dodać wartość otrzymaną w kroku 2 do wartości w kroku 3
96 + 11 = 107
Należy wziąć liczbę otrzymaną w punkcie 4 i podzielić całkowicie przez 10
107 mod 10 = 7
Od liczby 10 odjąć wynik otrzymany w punkcie 5
10 - 7 = 3
Wynik otrzymany po tych operacjach jest cyfrą kontrolną (3). Jeżeli wynikiem byłaby liczba 10 to cyfrą kontrolną byłoby 0.
Za każdym razem podczas skanowania skaner oblicza cyfrę kontrolną. Jeżeli obliczona cyfra kontrolna jest różna od tej zeskanowanej to znaczy, że coś zostało źle zeskanowane i należy powtórzyć skanowanie.
Kod UPC-A jest podzbiorem bardziej ogólnego kodu EAN. Kod UPC jest kodem EAN-13 z pierwszą cyfrą (kodem systemu) o wartości 0. Oznacza to, że każdy program lub urządzenie przystosowane do czytania EAN-13 będzie także czytać kod UPC-A. Ale potrafiące odczytywać kody UPC-A nie koniecznie muszą potrafić odczytywać kody EAN-13.
Zastosowanie
Oznaczania artykułów sprzedawanych detalicznie w USA i w Kanadzie. Kod ten jednoznacznie identyfikuje producenta i towar.