miniatura|Codi de barres UPC El Codi Universal de Producte (UPC en anglés) és una simbologia de codi de barres que s'utilitza àmpliament als Estats Units, el Canadà, Regne Unit, Austràlia, Nova Zelanda, Europa i altres països per a rastrejar articles comercials a les botigues.

UPC (tècnicament es refereix a UPC-A) consta de 12 dígits numèrics, que s'assignen de manera única a cada article comercial. Juntament amb el codi de barres EAN relacionat, l'UPC és el codi de barres utilitzat principalment per a l'escaneig d'articles comercials en el punt de venda, segons les especificacions GS1. Les estructures de dades de la UPC són un component dels GTIN i segueixen l'especificació global del GS1 que es basa en estàndards internacionals. Però alguns detallistes (roba, mobles) no usen el sistema GS1 (més aviat altres simbologies de codis de barres o sistemes de nombres d'articles). D'altra banda, alguns detallistes utilitzen la simbologia de codis de barres EAN / UPC, però sense utilitzar un GTIN (només per a productes venuts en les seves pròpies botigues).

Història El 1932 Wallace Flint va proposar un sistema de pagament automatitzat utilitzant targetes perforades. Bernard Silver i Norman Joseph Woodland, un estudiant graduat de l'Institut de Tecnologia Drexel (ara Universitat de Drexel), van desenvolupar un codi d'estil bull's-eye (d'ull de bou) i van sol·licitar la patent el 1949.

En la dècada de 1960, els ferrocarrils van experimentar amb un codi de barres multicolor per a rastrejar vagons, però finalment es va abandonar.

Un grup d'associacions comercials de la indústria de comestibles va formar el Consell Uniforme de Codi de Productes de Comestibles que, juntament amb els consultors Larry Russell i Tom Wilson de McKinsey & Company, van definir el format numèric del Codi Uniforme de Productes. Les empreses de tecnologia com Charegon, IBM, Litton-Zellweger, Pitney Bowes-Alpex, Plessey-Anker, RCA, Scanner Inc., Singer, i Dymo Industries/Data General van proposar representacions alternatives de símbols per al consell. Al final, el Comitè de selecció de símbols va triar modificar lleugerament, canviant la font en l'àrea llegible per humans, la proposta d'IBM dissenyada per George J. Laurer.

El primer article marcat UPC que es va escanejar en una venda minorista va ser en el supermercat Marsh en Troy, Ohio, a les 8.01 a. m. del 26 de juny de 1974 i era un paquet de 10 (50 cartutxos) de xiclets «Wrigley's Juicy Fruit». El comprador va ser Clyde Dawson i la caixera, Sharon Buchanan, va realitzar el primer escaneig UPC. La caixa registradora de NCR va registrar un augment de 67 centaus.Alfred, Randy, "June 26, 1974: By Gum! There's a New Way to Buy Gum" Wired magazine 06.26.08 Tot el carro de la compra també tenia articles amb codi de barres, però el xiclet va ser el primer recollit. Aquest article es va exhibir en el Museu Nacional d'Història Estatunidenca de l'Institut Smithsonian a Washington D. C.Scanning Species, Harvard Magazine, September - October 2005

Proposta d'IBM i desenvolupament del codi miniatura|Adhesius que contenen codis de barres originals tipus "ull de bou" de RCA. Cap a finals de 1969, IBM en Research Triangle Park (RTP) a Carolina del Nord va assignar a George Laurer la tasca de determinar com fer un escàner i una etiqueta de supermercat. A finalitats de 1970, Heard Baumeister va proporcionar equacions per calcular els caràcters per polzada que es podien obtenir mitjançant dos codis de barra d'IBM, Delta-A i Delta-B. Al febrer de 1971, Baumeister es va unir a Laurer.

A mitjans de 1971, William "Bill" Crouse va inventar un nou codi de barres anomenat Delta-C. Va aconseguir quatre vegades els caràcters per polzada que Delta-B. Delta-B va comparar els amples de barra amb l'ample de l'espai per a codificar els bits. Això era extremadament sensible a l'extensió de la tinta on massa tinta o pressió causarien que totes dues vores d'una barra s'estenguessin cap a fora i massa poc per a fer que s'encongissin. Per a empitjorar les coses, els espais de barres es reduïen i viceversa. Delta-C va aconseguir el major rendiment en usar únicament vores d'entrada o de sortida de tal forma que no es veien veure afectats per la dispersió uniforme de la tinta. El codi proporcionava el millor rendiment quan tenia un joc de caràcters definit a una distància de referència fixa que abastava la majoria o preferiblement tot el caràcter. L'agost de 1971, Crouse es va unir a l'esforç de l'escàner. Després de diversos mesos, no van progressar. Estaven al corrent de l'etiqueta d'ull de bou de RCA que es podia escanejar amb un escàner làser de línia recta simple, però l'etiqueta llegible era massa grossa. Encara que Litton Industries va proposar un símbol d'ull de bou tallat a la meitat per a reduir l'àrea, continuava sent massa grossa i presentava els mateixos problemes d'impressió de tinta que el símbol RCA. La redundància i la capacitat de comprovació es van eliminar per complet. També coneixien les nombroses propostes de tot el món, cap de les quals era factible.

En la primavera de 1972, Baumeister va anunciar un gran avanç. Va proposar una etiqueta amb barres que eren una mica més llargues que la distància en totes les barres que necessitaven llegir-se en una sola passada. Aquesta etiqueta es podia escanejar amb un simple escàner "X", només una mica més complex que l'escàner làser de línia recta. L'endemà, Baumeister va suggerir que si l'etiqueta es dividia en dues meitats, la longitud de les barres podria reduir-se gairebé a la meitat. Aquestes dues propostes van reduir l'àrea de l'ull de bou en un terç i després en un sisè. La imatge a la dreta mostra l'etiqueta proposada per Baumeister. Ell no va especificar cap codi de barres específic, ja que això s'entenia bé. Excepte per la codificació de barres i els deu dígits, l'etiqueta d'UPC avui és la seva proposta. Poc després, Baumeister es va transferir a una altra àrea de RTP.

Laurer va procedir a definir els detalls de l'etiqueta i a escriure una proposta. N.J. Woodland va ser assignat com a planificador per al projecte i va ajudar a Laurer a escriure la seva proposta.

El primer intent de Laurer amb un codi de barres va usar Delta-B. La grandària resultant de l'etiqueta era aproximadament 15,2 cm per 7,6 cm, que era massa grossa. Crouse va suggerir que Laurer usés el seu codi de barres Delta-C i va proporcionar una còpia de la seva patent que tenia un conjunt de caràcters alfanumèrics de mostreig i regles per a generar alfabets d'altres mides. Això va reduir la mida de l'etiqueta a aproximadament 3,8 cm per 2,3 cm. Més tard, Laurer va demanar ajuda a Crouse sobre com l'escàner podria detectar una etiqueta. Junts van definir barres de protecció i una definició de com detectar l'etiqueta. Les barres de protecció també van proporcionar identificació per a la meitat de la discriminació d'etiquetes i barres d'entrenament per als circuits de llindar de l'escàner. Laurer tenia una definició d'etiqueta completa i va procedir a escriure la seva proposta.

Anteriorment, Crouse tenia una idea per a una vareta simple que s'usava com un anell i una polsera. Va decidir desenvolupar aquesta vareta per a fer una demostració de l'etiqueta.

L'1 de desembre de 1972, IBM va presentar la proposta de Laurer al Comitè de Supermercats en Rochester, Minnesota, la ubicació on IBM desenvoluparia l'escàner. Durant la presentació, Crouse va realitzar una demostració de laboratori en la qual va llegir etiquetes tipus UPC amb la seva vareta màgica. A més de llegir les etiquetes normals, va llegir l'etiqueta grossa de dues pàgines en el fullet de la proposta. Després va passar a una pàgina que mostrava una foto d'articles etiquetats. Les etiquetes eren petites i defectuoses a causa de la resolució de la foto impresa, però la vareta va llegir moltes d'elles. Aquesta demostració va mostrar la solidesa del codi Delta-C pur. Finalment la proposta va ser acceptada.

Un mes després, l'1 de gener de 1973, Crouse es va transferir novament al grup de Tecnologia Avançada d'IBM i Laurer es va quedar amb la plena responsabilitat de l'etiqueta.

Dymo Industries, fabricants de dispositius d'impressió portàtils, va insistir que el codi havia de ser independent del caràcter, de manera que els dispositius d'impressió poguessin imprimir el codi de barres a la botiga si els articles no en tenien de codis de barres en origen. La proposta de Dymo va ser acceptada per IBM i incorporada en l'última proposta d'IBM.

Es va decidir que les dues meitats de l'etiqueta haurien de tenir un conjunt diferent de caràcters numèrics. El conjunt de caràcters Laurer derivat de la patent Delta-C va utilitzar set increments o unitats imprimibles en els quals s'imprimirien dues barres i dos espais. Això va produir vint combinacions de caràcters, però va haver-hi dos parells que, quan van ser llegits per les regles de Delta-C, van llançar el mateix codi pel parell. Com divuit caràcters no eren suficients, Laurer va intentar agregar una unitat al joc de caràcters. Això va produir vint-i-sis caràcters de Delta-C que podrien proporcionar els dos conjunts de caràcters decimals però també va fer augmentar un catorze per cent de l'ample de l'etiqueta i, per tant, l'altura. Això seria un augment del trenta per cent en l'àrea o una etiqueta de 4,3 cm x 2,6 cm. Laurer va veure que això no era acceptable. Va tornar al joc de caràcters original amb vint caràcters, però quatre d'ells eren dos parells amb la mateixa lectura de Delta-C. Va decidir usar-los a tots. Per distingir els parells, mesuraria un ample de barra en cadascun dels parells. Per a cada parell, aquestes barres tindrien una o dues unitats d'ample. Laurer no va aplicar les equacions de Baumeister a aquest conjunt. Va pensar que només un mesurament d'ample de barra no seria massa seriosa. Va resultar que hauria requerit més del cinquanta per cent d'increment en ample i alt per a un increment d'àrea de més del doble. Passat un temps, Laurer va admetre que aquests quatre caràcters en cada conjunt eren els responsables de la majoria dels errors de lectura de l'escàner.

Al matemàtic David Savir, que molt probablement no coneixia les equacions de Baumeister, se li va donar la tasca de provar que el símbol podia imprimir-se i que compliria amb els requisits de confiabilitat. Per a la correcció d'errors i la detecció, ell i Laurer van agregar dos dígits. Després van decidir agregar la paritat senar/parell a la quantitat d'unitats plenes de barres en cada costat. La paritat senar/parell és una tècnica utilitzada per a detectar qualsevol quantitat senar d'errors de bit en un flux de bits. Van decidir utilitzar senar en una meitat i parell a l'altra. Això proporcionaria una indicació addicional de quina mitja butlleta s'estava llegint. Això significava que cada amplada de barra s'havia de llegir amb precisió per proporcionar una bona lectura. També significava que tots els espais també serien coneguts. Exigir que es llegís l'ample de tots els bits, bàsicament va anul·lar l'avantatge de Delta-C, excepte per al mesurament de referència Delta-C. Només l'estrany conjunt de caràcters i la grandària de l'etiqueta romanen com una ombra del codi Delta-C. La grandària encara era el calculat per a Delta-C pur. Si la grandària de l'etiqueta s'hagués recalculat correctament, tenint en compte les mesures d'ample de barra requerides, l'etiqueta hauria estat massa grossa per a ser acceptable.

L'enginyeria mecànica i el disseny de circuits electrònics normalment requereixen dissenys amb toleràncies conegudes en el pitjor dels casos. Molts enginyers que treballaven amb codis de barres tenien poca experiència en aquest camp i usaven mètodes una mica intuïtius. Aquesta va ser la causa del baix rendiment del codi Delta-B i molt probablement de la fallada de l'escàner d'ull de bou de RCA.

La següent taula mostra les etiquetes viables, disponibles a principis de la dècada de 1970, amb les mides respectives (“in” = polzada):