Capitulo 5: GS1-128 — El Codigo de Barras Logistico
Que es GS1-128
GS1-128 es una simbologia de codigo de barras unidimensional (1D) disenada especificamente para la cadena de suministro. Se basa en la simbologia Code 128, pero con una diferencia fundamental: el primer caracter codificado es siempre un FNC1 (Function Code 1) que indica “este es un codigo GS1, los datos que siguen usan Application Identifiers”.
Antes de 2005 se conocia como UCC/EAN-128. Si encuentras documentacion con ese nombre, es lo mismo.
Caracteristicas
- Tipo: codigo de barras 1D lineal
- Caracteres soportados: alfanumericos (A-Z, a-z, 0-9) y caracteres especiales
- Capacidad practica: hasta ~48 caracteres (limitado por el ancho fisico de la etiqueta)
- Multiples datos: puede contener varios AIs en un solo simbolo
- No para POS: GS1-128 no se usa en puntos de venta minoristas (eso es EAN-13/UPC-A)
Anatomia de una etiqueta logistica GS1
La etiqueta logistica GS1 (tambien llamada GS1 Logistics Label) tiene un formato estandarizado dividido en tres zonas:
┌─────────────────────────────────────────────┐
│ ZONA SUPERIOR │
│ Informacion en texto legible │
│ Remitente: Empresa XYZ │
│ Destino: Deposito Central - GLN 0614141... │
│ Orden de compra: PO-2026-001 │
├─────────────────────────────────────────────┤
│ ZONA MEDIA │
│ Datos del producto en texto + codigo barras │
│ │
│ GTIN: 09521234543213 │
│ Vence: 31/12/2026 Lote: LOTE-AB1 │
│ Cantidad: 48 unidades │
│ │
│ ║║║║║║║║║║║║║║║║║║║║║║║║║║║║║║║║║║║║║║ │
│ (01)09521234543213(17)261231(10)LOTE-AB1 │
├─────────────────────────────────────────────┤
│ ZONA INFERIOR │
│ SSCC del pallet │
│ │
│ ║║║║║║║║║║║║║║║║║║║║║║║║║║║║║║║║║║║║║║ │
│ (00)306141410000000012 │
└─────────────────────────────────────────────┘
Zona superior: informacion de envio
Contiene datos legibles por humanos que ayudan en la manipulacion manual:
- Nombre y direccion del remitente
- Nombre y direccion del destinatario
- Numero de orden de compra o referencia de envio
Zona media: datos del producto
Contiene uno o mas codigos GS1-128 con los AIs del contenido:
- GTIN del producto contenido
- Fecha de vencimiento y/o produccion
- Numero de lote
- Cantidad de unidades
Zona inferior: identificacion de la unidad logistica
Siempre contiene el SSCC codificado con AI (00). Es el dato mas importante para la logistica: permite rastrear el pallet como unidad individual.
Ejemplo completo de Element String para un pallet
(00)306141410000000012(01)09521234543213(17)261231(10)LOTE-AB1(30)48
Desglose:
| AI | Valor | Significado |
|---|---|---|
| (00) | 306141410000000012 | SSCC del pallet |
| (01) | 09521234543213 | GTIN del producto contenido |
| (17) | 261231 | Vence el 31/12/2026 |
| (10) | LOTE-AB1 | Lote de produccion |
| (30) | 48 | 48 unidades en el pallet |
Este unico codigo de barras contiene toda la informacion que un centro de distribucion necesita para recibir el pallet: sabe que pallet es, que contiene, cuanto contiene, de que lote y cuando vence.
GS1 DataMatrix: la alternativa 2D
El GS1 DataMatrix es un codigo de barras bidimensional (2D) que codifica los mismos AIs que GS1-128 pero en un formato mucho mas compacto.
┌──────────┐
│ ██ ██ ██ │
│ █ ██ █ █ │
│ ██ █ ██ │
│ █ ████ █ │
│ ██ ██ ██ │
└──────────┘
Ventajas sobre GS1-128
- Mayor capacidad: hasta 2,335 caracteres alfanumericos
- Menor tamano fisico: puede imprimirse en superficies muy pequenas
- Correccion de errores: algoritmo Reed-Solomon incorporado
- Marcado directo: puede grabarse directamente en piezas metalicas o plasticas (DPM)
Donde es obligatorio
- Dispositivos medicos: la FDA (EE.UU.) y la regulacion UE MDR exigen UDI (Unique Device Identification) codificado en GS1 DataMatrix
- Farmacia: la mayoria de paises exigen GS1 DataMatrix para la serializacion de medicamentos
- Componentes electronicos: JEDEC recomienda DataMatrix para identificacion de semiconductores
Cuando usar cada formato
| Criterio | EAN-13 / UPC-A | GS1-128 | GS1 DataMatrix | GS1 Digital Link QR |
|---|---|---|---|---|
| Dimension | 1D | 1D | 2D | 2D |
| Datos | Solo GTIN | Multiples AIs | Multiples AIs | AIs en URL |
| Uso principal | POS retail | Logistica | Farmacia, med devices | Consumer engagement |
| Capacidad | 13 digitos | ~48 chars | 2,335 chars | ~4,296 chars |
| En POS | Si | No | Limitado (2027) | Piloto (2027) |
| Regulacion | Voluntario | Voluntario | Obligatorio (salud) | En transicion |
Lectura de GS1-128 con un escaner
Cuando un escaner lee un GS1-128, transmite los datos como una cadena de texto. Lo que llega al sistema es algo como:
]C1010952123454321317261231\x1D10LOTE-AB1\x1D3048
Donde:
]C1es el AIM symbology identifier (indica que es Code 128 con FNC1)01es el AI del GTIN09521234543213es el GTIN17es el AI de fecha de vencimiento261231es la fecha\x1Des el separador GS (reemplaza al FNC1 entre AIs variables)10es el AI de loteLOTE-AB1es el valor del lote30es el AI de cantidad48es la cantidad
Tu parser de Element String (del capitulo anterior) se encarga de descomponer esta cadena en datos estructurados.
El GS1-128 y DataMatrix codifican datos que los sistemas leen con escaneres fisicos. Pero en el proximo capitulo veremos algo mas moderno: GS1 Digital Link, donde los identificadores GS1 se convierten en URLs que cualquier smartphone puede resolver.