Seguimiento de contenedores para importadores de productos frescos
Por qué la automatización de documentos en el comercio de productos frescos era imposible hasta ahora
El OCR tradicional no podía leer una lista de empaque: sesenta productores, sesenta formatos, cuatro idiomas, fotos de celular. Qué cambió y qué aún falla.
12 min de lecturaPor Edouard Brière · Última actualización
Alguien en su oficina está volviendo a escribir una lista de empaque. Cuarenta pallets, seis columnas cada uno, y el mismo trabajo otra vez para el siguiente contenedor. La captura manual de datos es el trabajo menos interesante de la empresa, y también es por donde un número de cajas equivocado entra en sus cifras de inventario. Lo que eso cuesta en una temporada se explica en otra página, con una calculadora.
Nadie eligió esto. El software lee documentos desde los años noventa, y los importadores lo piden desde hace más o menos el mismo tiempo. La razón sencilla es que, hasta hace poco, nada podía leer estos documentos en particular. Las razones son concretas, y le dicen qué preguntarle a un proveedor ahora que por fin algo puede hacerlo.
El reconocimiento óptico de caracteres (OCR) convierte píxeles en caracteres. Una lista de empaque de productos frescos guarda su significado en la forma de su cuadrícula, no en los caracteres impresos. Así que el OCR podía leer la página y aun así no leer el documento.
Qué hace difícil un documento de productos frescos
Una lista de empaque de un contenedor de fruta no es una página de texto con algunos números. Es una tabla de cuarenta a cien filas, cada una con un número de pallet, una variedad, un calibre, un número de cajas, un peso neto y normalmente un código de productor. Todo el valor del documento está en esa cuadrícula. La guía sobre listas de empaque en el envío de productos frescos trata del documento en sí: qué trae y qué necesita sacar de él. Esta página trata de por qué el software no podía leerlo.
Cada exportador tiene un formato distinto. Un importador de maquinaria le compra a cinco proveedores. Un importador de productos frescos le compra a sesenta productores en ocho orígenes, y cada empacadora imprime desde su propio software. Solo Perú puede enviarle una docena de formatos. Y además cambian: aparece una columna nueva a mitad de temporada porque un supermercado la pidió.
La tabla muchas veces no tiene líneas. Algunas listas de empaque tienen líneas como una hoja de cálculo. Otras son columnas de texto que se mantienen en su lugar solo por los espacios, o tienen líneas que agrupan tres filas en un solo bloque visual.
Un pallet suele ocupar varias filas. Un pallet armado en dos días, o con dos lotes, lleva una fila por cada uno: el mismo número de pallet, con las cajas repartidas entre ellas. Una lista de mandarina de Perú le da al pallet MN-0149 dos filas, de 69 y 41 cajas. Su sistema de inventario quiere un solo pallet de 110. Llegar ahí exige saber que lo que se cuenta es el número de pallet, y no las filas que van debajo.
Los calibres se mudan a los encabezados. Muchas empacadoras no le dan al calibre una columna propia. Ponen los calibres en la parte superior (16, 18, 20, 22) y el número de cajas va debajo, en una cuadrícula. Para leerlo hay que entender que el 18 del encabezado es un tamaño, mientras que el 18 de la celda de abajo es una cantidad.
Las palabras están en cuatro idiomas. Cajas, colli, bultos, dozen, C/S: todos indican el número de cajas, y el término neerlandés es el plural de doos (caja), no tiene nada que ver con una docena. Peso neto, peso líquido, nettogewicht. Y un mismo documento usa con frecuencia dos idiomas a la vez: una lista de empaque peruana de espárragos puede encabezar una columna con “Espárrago” y la siguiente con “Asparagus”.
El archivo muchas veces es una foto de una impresión. El exportador tiene los datos en una hoja de cálculo. Lo que le llega a usted es un PDF impreso a partir de ella. A veces es un escaneo de ese PDF, o una foto con celular del escaneo, tomada en la empacadora a las seis de la mañana. Cada paso elimina estructura y agrega inclinación, sombras y un sello en el medio.
Y con frecuencia no es un solo documento. Un adjunto, seis páginas: el conocimiento de embarque, la factura, la lista de empaque, el certificado fitosanitario. Sin página separadora, sin títulos, cuatro formatos distintos.
Qué hacía realmente el OCR tradicional
El nombre siempre describió exactamente lo que hacía. El reconocimiento de caracteres no sabe que la tercera columna contiene números de cajas, ni siquiera que esa página es una lista de empaque. Todo lo que está por encima del nivel del carácter había que construirlo encima, y todavía se venden dos formas de hacerlo.
OCR zonal, también llamado OCR por plantilla. Se toma un documento de muestra, se dibuja un rectángulo alrededor del número de cajas y se le dice al sistema que el número de cajas está ahí. Funciona, y en esa plantilla funciona muy bien. Deja de funcionar con el formato del segundo exportador, y deja de funcionar con el formato del primero el día que agrega una columna. Los números solo cierran cuando una plantilla cubre miles de documentos. Eso es cierto para un banco que procesa sus propios formularios. Es falso para un importador con sesenta productores, uno de los cuales despacha cuatro contenedores por temporada.
Detección de tablas a partir de las líneas. Se buscan las líneas horizontales y verticales de la página y se tratan los recuadros entre ellas como celdas. Es elegante cuando las líneas existen y están donde están los datos. En las listas de empaque de productos frescos, muchas veces no se cumple ninguna de las dos cosas.
Ambas comparten un problema más profundo, y es lo que impidió que toda esta categoría de software funcionara con documentos de productos frescos. Un 95% de precisión no vale nada en este documento. Haga la cuenta. Una lista de empaque de 40 filas y 6 columnas tiene 240 celdas, así que una tasa de error de 5% deja unas 12 mal. Nadie sabe cuáles 12, y los totales declarados ya no cuadran. Una página de texto leída al 95% sigue siendo legible. Una lista de empaque leída al 95% hay que revisarla completa, y ese es justamente el trabajo que se quería eliminar.
Así que es incorrecto decir que el OCR casi alcanzaba. El OCR resolvió un problema real: convertir una página de texto en texto. Una lista de empaque no es una página de texto. Es una hoja de cálculo que se imprimió, y la impresión destruyó la estructura que importaba.
Qué cambió
Los modelos de visión modernos leen una imagen y el lenguaje al mismo tiempo. Se entrenaron con documentos, entre muchas otras cosas, así que una tabla, un encabezado y un sello son cosas que ya han visto. Leen una página más o menos como lo hace una persona: posición, diseño, encabezados y el significado de las palabras, todo a la vez.
De ahí salen tres consecuencias, y cada una elimina una falla de la lista anterior.
Un formato que nunca ha visto no es un caso especial. Esta es toda la diferencia, y lo demás son detalles. No hay muestras que reunir, ni plantilla que configurar, ni rectángulo que dibujar. El primer documento de un productor nuevo se lee tan bien como el número sesenta de uno antiguo.
Las palabras se entienden en lugar de compararse. Cajas se entiende como el número de cajas porque el modelo sabe español y sabe qué es una lista de empaque, no porque alguien la haya agregado a una lista de sinónimos. Que haya dos idiomas en una misma página no requiere activar ninguna opción.
Un número dañado a menudo se puede recuperar. Un sello sobre un número, un escaneo torcido, una corrección a mano en el margen. Un modelo que sabe cómo es una fila de lista de empaque puede usar el resto de la fila. Si el peso por caja es 4 kg y el peso neto es 1,200 kg, un número de cajas borroso de 300 se puede recuperar. El reconocimiento de caracteres no tenía forma de hacerlo, porque nunca tuvo una fila: solo píxeles.
El mismo cambio abarca el trabajo alrededor de la lectura. Decidir que un archivo es un certificado fitosanitario y no una factura antes requería una regla por cada emisor. Ahora es un juicio que se hace a partir del contenido. Un PDF combinado de seis páginas se puede dividir en los límites entre los documentos que contiene, porque “esta página empieza un documento nuevo” es algo que un lector puede ver.
Qué sigue haciendo mal
Las demostraciones omiten esta parte, y es la que decide si es seguro usar todo esto con sus envíos.
El modo de falla cambió, y se volvió más silencioso. El OCR antiguo producía basura que parecía basura: 8O0, l23, media palabra. Se veía en la pantalla. Un modelo de visión produce 800 donde el documento dice 300: formato correcto, campo correcto, número verosímil, nada que llame la atención. Es un error más peligroso, no uno más pequeño.
El mismo documento leído dos veces puede dar dos respuestas. En una tabla densa de sesenta filas, estos modelos no son coherentes consigo mismos. Si se lee otra vez, algunas celdas pueden cambiar. Es real, es bien conocido y nadie lo ha resuelto.
No conoce su negocio. No sabe qué código de productor corresponde a cuál de sus proveedores, ni si “Cat I” es aceptable según este contrato. No sabe cuál de dos filas de totales contradictorias usa su agente de aduanas. Nada de eso está escrito en el documento.
Y una hoja de cálculo puede contener más de lo que muestra. Una lista de empaque en Excel tiene a menudo columnas ocultas, y normalmente están ocultas por una razón. Llevan el pedido del cliente anterior, o una columna de trabajo que el exportador olvidó. Un modelo que recibe el archivo tal cual las lee, porque están en el archivo. Ningún modelo mejor arregla esto. La solución es eliminar lo que el remitente ocultó antes de que la hoja llegue al modelo.
Por qué la aritmética importa más que el modelo
Con todo eso, ¿por qué es seguro usar algo de esto sin que alguien vigile cada documento?
Porque el documento le dice si se leyó bien. Una lista de empaque declara sus propios totales: número de pallets, total de cajas, peso neto total. Esos totales son un control sobre cada fila de arriba, y el exportador los escribió mucho antes de que nadie intentara automatizar nada. Si las filas extraídas suman el total de cajas declarado, y los pesos cuadran, los números son casi seguro correctos. Si no, algo está mal y usted lo sabe en ese mismo segundo.
Esa revisión no es ingeniosa ni nueva. Es aritmética. Pero convierte la falla peligrosa, una respuesta equivocada dicha con seguridad, en una visible, y esa es la diferencia entre una demostración y un sistema en producción. Es también la razón por la que el trabajo del operador cambia en lugar de desaparecer. En vez de escribir doscientas cuarenta celdas, mira el único envío cuyas cajas no cuadraron.
Un segundo intento también ayuda. Cuando el primero no pasa la revisión, volver a leer el documento con otro modelo cuesta unos segundos y rescata una buena proporción de documentos. Lo que importa es la condición: la segunda respuesta se conserva porque hace cuadrar los totales, no porque se confíe más en el segundo modelo que en el primero.
Qué documentos detienen un contenedor, y cuándo tiene que llegar cada uno, es otro tema que trata la guía sobre los documentos de una importación de productos frescos. La conexión con esta página es simple: un documento que nadie leyó es un documento que nadie revisó. La factura por eso llega como demora dos semanas después.
Qué hacer con esto
Pida el archivo, no una imagen del archivo. El exportador tiene una hoja de cálculo. Si envía la hoja de cálculo en lugar de un PDF impreso a partir de ella, cada calibre y cada peso llega como un número y no como tinta. Es una conversación de dos minutos y es la mejora individual más grande que tiene a su alcance.
Deje de tratar la conciliación como trabajo administrativo. Comprobar que las filas suman los totales declarados no es poner orden. Es el control que hace confiable una lectura automática del documento, y es el único paso que nunca debe saltarse para ganar velocidad.
Ponga a prueba a cualquier proveedor como corresponde. Entréguele diez documentos de diez productores distintos, incluidos sus dos peores escaneos, y no le entregue nada por adelantado. Si la respuesta es “envíenos cincuenta muestras por exportador y entrenaremos con ellas”, es OCR por plantilla con un nombre nuevo. Va a fallar la primera vez que una empacadora agregue una columna. Un sistema que puede leer un formato que nunca ha visto no necesita sus muestras. Esa es toda la prueba, y toma una tarde.
Esto es lo que hacemos con los documentos que llegan a su bandeja de entrada. Cada uno se clasifica, se divide si varios llegaron en un solo PDF y se vincula con el envío al que pertenece antes de extraer nada de él. Recibir documentos por correo electrónico explica el mecanismo.
Nada de esto hace desaparecer el papeleo. Un contenedor de uvas sigue llegando con la misma pila de documentos que hace diez años. Lo que cambió es que leerlos ya no es un trabajo que se hace celda por celda, a cargo de alguien que preferiría estar haciendo otra cosa.
Trackberry señala las listas de empaque cuyas cajas y pesos no cuadran, así que las únicas que usted abre son las que no pasaron una revisión. Vea cómo funciona para importadores de productos frescos, o reserve una llamada de 20 minutos.
Preguntas frecuentes
¿Puede la IA leer una lista de empaque escaneada?
Normalmente sí, incluso una foto tomada con un celular. Los modelos de visión modernos manejan la inclinación, las sombras y un desenfoque moderado, y muchas veces pueden sortear un sello impreso sobre un número. Lo que no pueden hacer es leer una cifra que no está. Una celda completamente cubierta por un sello se pierde, y lo correcto es enviar ese documento a una persona en lugar de adivinar el número.
¿No es simplemente OCR con otro nombre?
No, y la diferencia se puede comprobar. El reconocimiento de caracteres convierte píxeles en caracteres, y todo lo que está por encima de eso (qué columna es cuál, qué significan las palabras) había que configurarlo por plantilla. Un modelo de visión lee el diseño y el significado a la vez, así que un formato de documento que nunca ha visto no necesita configuración. Si un proveedor le pide documentos de muestra para configurar o entrenar, le están ofreciendo la tecnología antigua.
¿Qué pasa cuando lee mal un número?
Para eso sirven los totales. Una lista de empaque declara su propio total de cajas y su peso neto, así que si las filas extraídas no suman los totales declarados, usted sabe de inmediato que algo se leyó mal. Un sistema bien construido rechaza esos números y le pregunta a una persona, en lugar de mostrarle cifras que no pudo verificar. Trackberry, por ejemplo, retiene un envío cuando sus filas no cuadran con los totales que declaró el exportador.
¿Sigo necesitando a alguien que revise los documentos?
Sí, pero el trabajo es distinto. En lugar de leer cada lista de empaque, esa persona mira las que no pasaron una revisión de conciliación, que suelen ser una pequeña minoría. La persona sigue haciendo falta, pero su atención va a los envíos donde algo realmente está mal.
¿Con cuántas plantillas de documentos hay que entrenarlo?
Con ninguna. Ese es el cambio del que trata toda esta página, y es la pregunta más precisa que puede hacerle a un proveedor. Un sistema construido así lee el primer documento de un exportador nuevo sin haber visto nada suyo antes.