El tamaño de un retiro de alimentos depende de
el número de lote en la factura del proveedor
En junio de 2026, la FDA publicó los resultados de un ejercicio de trazabilidad realizado con 15 empresas de seis cadenas de suministro. El ejercicio evaluó si cada empresa podía presentar registros en un plazo de 24 horas, y los tiempos de respuesta fueron en general rápidos. Lo que la mayoría no pudo hacer fue mantener el código de lote de forma coherente en todos esos registros: solo el 40 % de los registros incluía el código de lote de trazabilidad correctamente asignado en cada paso.
Solo el 27 % registró el origen completo de ese código. La brecha estaba en los registros que conectan unos con otros, y para la mayoría de las empresas alimentarias esos registros comienzan con una factura de proveedor.

Puntos clave
- Solo el 40 % de los registros de un ejercicio de trazabilidad de la FDA incluía el código de lote en cada paso, y solo el 27 % registró de dónde procedía ese código.
- La brecha está en los registros que conectan a los demás, y el propietario de la fila combinada no figura en el puesto de trabajo de nadie.
- Una factura prueba el pago, no lo que llegó en el palé, así que capture el código de lote tal como está impreso y únalo a los registros de recepción y producción.
Un retiro se delimita por un campo que la mayoría de las facturas trata como opcional

El número de lote decide qué palés vuelven, y en una factura de proveedor suele aparecer impreso una sola vez, en letra pequeña, junto a una línea de producto diseñada para el pago. La factura debe incluir el proveedor, la cantidad y el precio, y cumple bien esa función. El código de lote viaja con ella cuando el sistema de facturación del proveedor lo incluye por casualidad, y desaparece cuando no lo hace.
La guía de la Comisión Europea sobre el Reglamento (CE) n.º 178/2002 establece la distinción con claridad: conservar las facturas rastrea el flujo comercial de un producto, y eso "no era suficiente para seguir el flujo físico de los productos". El propio reglamento exige un paso atrás y un paso adelante, es decir, que usted pueda identificar al proveedor inmediato y al cliente inmediato. No exige un número de lote en cada factura, aunque esa misma guía califica los datos de lote de "muy útiles". La factura es jurídicamente útil, comercialmente esencial e incompleta como registro de lotes.
Según la Norma de trazabilidad de alimentos de la FDA, el código de lote de trazabilidad es uno de los elementos de datos clave exigidos en cada evento de seguimiento crítico. Cada elemento debe estar vinculado al lote, y la FDA permite explícitamente que una factura sirva como documento de referencia que contenga esos elementos. Por lo tanto, una factura de proveedor puede formar parte de un registro conforme. Solo lo será cuando el código se capture en el nivel correcto, se conserve tal como se imprimió y se una a los registros de recepción y producción que explican qué ocurrió después con el alimento. La fecha de cumplimiento es el 20 de julio de 2028, lo que da tiempo a las empresas cubiertas para construir esa unión.
Una factura prueba una transferencia comercial. Un registro de lotes prueba qué llegó físicamente, y esas dos afirmaciones no son lo mismo.
Qué necesita un registro de lotes antes de poder responder a una pregunta de retirada
Para una retirada, un registro de lotes utilizable debe vincular cuatro datos sobre un lote: quién lo suministró, cuándo y en qué cantidad se recibió, qué lotes de producción lo utilizaron y qué clientes recibieron el producto terminado. Un aviso de retirada suele llegar con el nombre de un proveedor y un código, y el reloj empieza a contar para los otros tres.
Los requisitos de recepción de la FDA muestran la forma de la primera mitad. Para cada código de lote de trazabilidad de un alimento cubierto, un receptor debe conservar el código de lote, la cantidad y la unidad de medida, la descripción del producto, la ubicación de la fuente inmediata anterior, la ubicación donde se recibió el alimento, la fecha de recepción, el origen del código de lote y el tipo y número del documento de referencia. Esos nueve campos definen una fila de una tabla. La norma también fija una ventana de 24 horas para producir registros en un formato electrónico y ordenable cuando la FDA lo solicite. Un archivo PDF no cumple ese criterio; una hoja de cálculo con un lote por fila, sí.
El Codex Alimentarius, cuyos principios de higiene sustentan los sistemas HACCP, adopta la misma postura: la identificación del lote es esencial en la retirada de productos y la rotación de existencias, y cada envase debe identificar al productor y el lote. Dentro de una empresa alimentaria, las piezas de ese registro están en manos de personas distintas, y el puesto de nadie se llama "propietario de la fila combinada".
| Rol | Qué conserva | Qué responde su registro | Qué no puede responder por sí solo |
|---|---|---|---|
| Recepcionista | Albarán, etiquetas de palé, registro de entrada | Qué lotes llegaron físicamente y cuándo | Qué factura los cobró y a qué precio |
| Finanzas / AP | Factura en PDF o factura electrónica | Proveedor, cantidad facturada, precio, condiciones de pago | Qué lote estaba en el palé |
| Responsable de QA | Registro de lotes, registros de producción y saneamiento | Qué lote de producción utilizó el lote | Quién lo suministró o qué cliente lo recibió |
| Compras | Pedido, contactos de proveedores | A quién preguntar cuando falta un código o es incorrecto | Qué llegó realmente al muelle |

Finanzas recibe la factura porque hay que pagarla. Recepción conserva el albarán porque el conductor lo firma. QA conserva el registro de lotes porque un auditor lo pedirá. Cada registro está completo para su propio propósito, y el vínculo entre ellos se reconstruye a mano cada vez que un proveedor emite un aviso de retirada. Esa reconstrucción es lo que el ejercicio de la FDA cuantificó.
Dónde se rompe la identidad del lote en una factura real de proveedor

La ruptura suele ser cuatro pequeñas discrepancias entre lo que dice la factura y lo que hizo el almacén, y cada una sobrevive a una revisión manual porque la factura sigue cuadrando.
Una línea de factura, tres lotes físicos
Un proveedor factura 20 cajas de mozzarella como una sola línea a un único precio unitario. Los palés que llegan llevan tres lotes de producción, porque el proveedor los armó con tres corridas para completar el pedido. La factura es correcta para el pago e incorrecta como registro de trazabilidad: ha colapsado tres lotes en uno. Si el registro se construye solo a partir de las líneas de factura, un retiro del lote intermedio omitirá los dos palés que comparten la línea o arrastrará las 20 cajas y, con ellas, la relación con un cliente.
La división debe ocurrir en la recepción, a partir de las etiquetas de los palés o del albarán, y el registro necesita una fila por lote con el número de factura repetido en cada fila. Por eso también una tabla de líneas que se detiene en producto y cantidad no basta para alimentos. Aplican las mismas mecánicas que en extraer líneas de factura de distribuidores de alimentos, con el lote como un nivel adicional por debajo de la línea.
El código de lote nunca llega a la factura
Muchos proveedores imprimen el lote en el albarán, la etiqueta de la caja, el aviso de envío anticipado o un correo de seguimiento, y lo omiten en la factura. Un profesional del foro de seguridad alimentaria de IFSQN preguntó cómo rastrear materias primas que llegan sin ningún código de lote ni número de lote; entre las respuestas estaban rastrear por fecha de recepción y fecha de duración mínima, o usar el número de pedido como sustituto. Esos recursos son honestos y también muestran los límites de lo que puede aportar una factura. Si el código no está impreso, la extracción no puede producirlo, y un número inventado por la hoja de cálculo es peor que un espacio en blanco.
La respuesta práctica es tratar la factura y el albarán como dos colas de entrada que llegan a la misma tabla. AP reenvía la factura; el encargado de recepción fotografía el albarán en el muelle. Ambos se procesan con las mismas columnas, y el número de pedido o de albarán se convierte en la clave de unión, con el número de factura como referencia comercial. Donde la factura no tiene lote y el albarán sí, la fila del albarán cubre el vacío. Donde ninguno lo tiene, el registro lo indica y compras se lo pide por escrito al proveedor, que es también lo que la FDA espera que haga un receptor en lugar de inventar un código.
Los códigos de fecha significan tres cosas distintas y llegan en cinco formatos
Una fecha de producción, una fecha de duración mínima y una fecha de caducidad no son intercambiables, y un código juliano no es una fecha hasta que alguien lo descifra. Sin embargo, los tres acaban en una columna titulada "Caducidad" en la mayoría de las hojas de cálculo. Un proveedor imprime BBE 03/2027, otro 27.03.2027, otro un código juliano como 26087, otro solo el mes y el año. Excel leerá algunos de estos como fechas sin problema y malinterpretará otros en silencio, y una columna con texto y fechas mezclados no se ordena, que es exactamente lo que necesita una comprobación de primero en caducar, primero en salir.
Dos reglas evitan la mayor parte del daño. Mantenga la cadena original en una columna y ponga la fecha normalizada en otra solo cuando el documento admita una fecha completa; una fecha de duración mínima con solo mes debe quedarse con solo mes en lugar de convertirse en el día uno del mes. Después añada una columna para el tipo de fecha, para que una fecha de duración mínima nunca se trate como una fecha de caducidad. La diferencia importa tanto comercial como legalmente: una fecha de duración mínima vencida es un problema de calidad, una fecha de caducidad vencida es un problema de seguridad.
El código se transcribe a mano, carácter a carácter
Los códigos de lote son cadenas alfanuméricas diseñadas para ser únicas, no para escribirse a máquina. L26-0412/A se convierte en L26-0412A cuando se omite la barra, 0 se convierte en O, 1 se convierte en I, y un sufijo final desaparece. El registro parece completo. La búsqueda de retirada no devuelve nada, porque una consulta sobre un código de lote es una coincidencia exacta de cadena. Este es el fallo más silencioso de los cuatro y el más probable que salga a la luz durante una auditoría en lugar de durante el trabajo normal: un profesional de QA que describía una auditoría interna en r/QAProfessionals descubrió que algunos lotes no se podían rastrear hasta sus materias primas de origen porque los registros manuales y las entradas del ERP estaban desincronizados.
Una búsqueda de retirada es una coincidencia exacta de cadena, así que un registro con un solo carácter erróneo es un registro que no puede responder a la pregunta.
La contramedida es la verificación visual. Cada código de lote extraído tiene que poder comprobarse contra los píxeles de los que procede, y para eso sirve el paso de revisión que se describe más adelante en este artículo.
Las columnas que convierten una línea de factura en una fila de trazabilidad
Defina las columnas una vez y el mismo conjunto funcionará con todos los proveedores, porque la salida se rige por los campos que usted nombra y no por el diseño del proveedor. Estos son los campos que hacen que la extracción de números de lote y el seguimiento de fechas de caducidad en las facturas acaben en un solo registro de lotes, con la regla para cada uno.
| Columna | Qué va en ella | Regla que mantiene el registro utilizable |
|---|---|---|
| Proveedor | Razón social tal como está impresa | Conserve el nombre impreso; asígnelo a un ID de proveedor más adelante, no durante la extracción |
| Número de factura | Tal como está impreso, incluidos prefijo y sufijo | Repítalo en cada fila para que cada fila de lote pueda rastrearse hasta la factura |
| Fecha de factura | La fecha que figura en la factura | No la confunda con la fecha de entrega o de recepción |
| Descripción del producto | Las palabras del proveedor | Consérvela tal como está impresa; el código interno del artículo es una columna aparte |
| Código de artículo del proveedor | El SKU o número de artículo del proveedor | Útil cuando la descripción está abreviada hasta ser irreconocible |
| Número de lote / código de lote | Exactamente como está impreso, incluidas barras y separadores | Nunca "limpie" ni reformatee un identificador; el código es la clave de retirada |
| Fecha de producción o envasado | Donde el proveedor la imprime | Déjela en blanco cuando solo se imprime una fecha de duración mínima |
| Fecha de duración mínima | Fecha o mes tal como está impreso | Normalice solo a la precisión que admite el documento |
| Fecha de caducidad | Fecha tal como está impresa | Manténgala separada de la fecha de duración mínima; conllevan riesgos distintos |
| Cantidad y unidad | Cantidad entregada y unidad de medida | Una fila por lote, para que la cantidad por código quede explícita |
| Fecha de recepción | Del albarán o del registro de entrada | Esta es la fecha que exige el registro de recepción de la FDA, no la fecha de la factura |
| Tipo de fecha | Duración mínima, caducidad, producción o desconocida | Una columna inferida; la IA la clasifica a partir del texto de la etiqueta en la página |
Doce columnas bastan para responder a la mitad de una pregunta de retirada relativa a la factura y para entregar al siguiente sistema una clave de unión limpia. Deliberadamente no es un esquema de trazabilidad completo. No hay columna de cliente ni columna de lote de producción, porque esos datos viven en los registros de envío y fabricación, no en una factura de proveedor. Añadir columnas vacías para ellos hace que la tabla parezca completa sin cambiar nada.
El código de lote es el único campo que nunca debe ordenar. Normalice las fechas, preserve el identificador.
Un conjunto de columnas cubre cuarenta proveedores
Cuarenta proveedores significan cuarenta diseños de factura, cuarenta convenciones de fechas y, en un mes típico, más de mil líneas que mantener en un registro consistente. La introducción manual a esa escala no falla de golpe; se degrada, empezando por los campos que nadie revisa porque el pago no depende de ellos.
El modelo de extracción que encaja aquí es lo que ImageToTable.ai llama Custom Column Extraction: usted escribe los nombres de columna que quiere, y la IA encuentra cada valor en cualquier parte de la página entendiendo qué significa, no emparejando una posición fija. Los nombres que escribe se convierten en los encabezados de la tabla de salida. No se crea ninguna plantilla por proveedor, así que un proveedor que cambie el diseño de su factura no rompe la ejecución del mes siguiente.
Separe la recepción antes de separar los datos
Envíe las facturas a la cola de extracción desde AP y envíe los albaranes desde el muelle. Un Enlace de Recopilación permite que un encargado de recepción abra un enlace, introduzca un breve código de verificación y suba fotos del albarán hechas con el móvil a su cola de procesamiento sin necesidad de cuenta. Si las facturas llegan por correo electrónico, la dirección de Email Inbox de la cuenta puede aceptarlas desde una lista blanca de proveedores e iniciar el procesamiento automáticamente.
Defina las columnas en el lenguaje del registro de lotes
Use los nombres de campo de la tabla anterior. "Batch / Lot Code" y "Best Before" son más claros para el modelo que "Product Code 2" o "Date 3", y son los nombres que leerá en el encabezado de salida dentro de un año. Añada "Date Type" como columna inferida para que la IA clasifique cada fecha según el texto de la etiqueta.
Procese todo el mes en un solo lote
Suba juntas las facturas de todos los proveedores. El procesamiento por lotes fusiona los resultados en una única hoja de cálculo, de modo que una ejecución produce un registro en lugar de cuarenta archivos que anexar. Un lote de cuarenta facturas de treinta líneas cada una se convierte en unas 1.200 filas en una sola tabla, con la columna del proveedor indicándole de qué diseño proviene cada fila.
Normalice las fechas sin inventar precisión
Las reglas de formato pueden generar fechas con un estilo uniforme, que es lo que hace que la columna se pueda ordenar. Revise el resultado en busca de valores que el documento solo respalda con precisión mensual: una fecha de duración mínima impresa como 03/2027 debe quedarse en mes, y un código juliano debe permanecer tal como está impreso hasta que alguien confirme su significado con el proveedor.
Revise los códigos, no los totales
El Review Mode con resaltado bbox vincula cada celda extraída con su ubicación en la imagen original. Haga clic en un código de lote y se resaltará en el original el área de la que proviene, que es como detecta una O frente a un 0 sin volver a teclear toda la factura. Revise las columnas de lote y fecha, compruebe las cantidades por muestreo y deje la aritmética para AP.
Vincule el registro de lotes con producción mediante el PO o el albarán
Exporte la tabla como Excel o CSV y use el número de PO o de albarán para vincular cada fila de lote con el registro de recepción, conservando el número de factura para el lado de AP. El extracto de la factura aporta el lado del proveedor. El sistema de producción aporta el lado del "usado en". La vinculación es el registro de trazabilidad.
Los archivos se procesan de forma segura y no se almacenan.
Si el problema inmediato es el volumen y no la trazabilidad, la misma configuración sirve también como flujo de trabajo de facturas por lotes a Excel, y la versión semanal de costo de alimentos se cubre en agrupar por lotes las líneas de un distribuidor de alimentos en una hoja semanal. La tabla de trazabilidad son los mismos datos con el nivel de lote conservado en lugar de agregado.
Lo que la extracción de facturas no puede hacer por la seguridad alimentaria
La extracción produce un mejor registro. No produce cumplimiento, y un archivo de retirada construido sobre la suposición de que sí lo hace es más peligroso que uno manual lento porque parece terminado.
- No es un sistema de trazabilidad ni de cumplimiento. No hay plan de trazabilidad, ni flujo de trabajo de retirada, ni portal para auditores, ni presentación regulatoria. La solicitud de 24 horas de la FDA todavía tiene que responderla su empresa, usando la tabla como evidencia.
- No decodifica códigos de barras. La IA lee texto impreso y manuscrito en la página. Si un código de lote existe solo dentro de un código de barras GS1-128 o una etiqueta DataMatrix, este flujo de trabajo no lo verá, y necesita un escáner o un sistema de etiquetas para ese lote.
- No calcula la vida útil ni ejecuta FEFO. No hay aritmética de fechas integrada que decida qué caduca en 30 días o qué palé debe enviarse primero. Las fechas normalizadas hacen posibles esas decisiones en etapas posteriores; no las toman.
- No rastrea hacia adelante. Quién recibió el producto terminado es un hecho de envío, no un hecho de factura. Las facturas le dan la mitad de un paso atrás de la cadena, y la mitad hacia adelante necesita registros de producción y despacho unidos al mismo código de lote.
- No rellena vacíos. Cuando un proveedor omite el código, la fila queda en blanco y la excepción permanece visible. Ese es el comportamiento correcto: un código generado rompe el vínculo con los registros del proveedor en el momento exacto en que lo necesita.
- No valida el código contra un maestro de proveedores. No hay dígito de control, ni validación GS1, ni búsqueda en un catálogo de productos. Un código impreso correctamente pero que pertenece a otro producto se extraerá correctamente y seguirá siendo erróneo.
La división del trabajo es lo esencial. El software es fiable leyendo diseños desconocidos y preservando cadenas. Las personas y los sistemas especializados son responsables de decidir qué significa un código, si un lote es seguro y a quién hay que llamar. Un registro que facilita esas decisiones es útil. Un registro que pretende tomarlas es un riesgo.
Una prueba de cinco minutos antes del próximo aviso de retirada de un proveedor
Una prueba de cinco minutos le indica si sus registros pueden responder a una pregunta de retirada antes de que un proveedor la formule. Elija al azar un código de lote de las recepciones del mes pasado, ponga un cronómetro y responda cuatro preguntas usando únicamente sus registros actuales:
- ¿Qué factura del proveedor introdujo este lote y en qué fecha se recibió?
- ¿Cuánto de ese lote llegó y cuánto queda todavía en existencias?
- ¿Qué ejecuciones de producción lo utilizaron y qué lotes acabados salieron?
- ¿Qué clientes recibieron esos lotes acabados?
Si las preguntas uno y dos tardan segundos y las tres y cuatro tardan una tarde entera, el lado de la factura funciona y falta la conexión con producción. Si las cuatro tardan una tarde entera, el problema está más arriba: los códigos de lote no se están capturando en absoluto, y ninguna búsqueda encontrará un código que nunca se registró. Cualquiera de los dos resultados es útil, y ambos son más baratos de descubrir ahora que durante el aviso de retirada de un proveedor, cuando el proveedor está llamando a todos los clientes el mismo día.
Realice la prueba una vez al trimestre con un lote diferente cada vez. Los códigos que fallan son los proveedores con los que merece la pena hablar, y las columnas que quedan vacías son los campos que su proceso de recepción no está recogiendo.
Preguntas frecuentes
¿Todas las facturas de proveedores de alimentos incluyen números de lote?
No. Las categorías perecederas y reguladas, como los lácteos, la carne y los productos frescos, suelen incluirlos, y los productos secos a menudo no. Algunos proveedores imprimen el lote solo en el albarán o en la etiqueta de la caja. La factura es un buen punto de partida para el registro de lotes porque es el único documento que genera toda compra, pero no es una fuente fiable para todos los códigos de lote.
¿Qué debo hacer cuando la factura no tiene número de lote?
Registre la recepción sin él y pida al proveedor el código por escrito, en lugar de generar el suyo propio y presentarlo como el del proveedor. Su número de recepción interno puede ir en una columna aparte, pero no sustituye al código del proveedor porque no existe en los registros de este. Si el albarán o la etiqueta del palé tiene el código, úselo y vincúlelo a la factura mediante el número de pedido o de albarán.
¿Puede la herramienta leer números de lote desde un código de barras?
Lee los caracteres impresos o manuscritos del documento, incluido un código impreso junto a un código de barras. No decodifica el código de barras en sí. Cuando el código solo está codificado en un símbolo GS1-128 o DataMatrix, debe proporcionarlo un escáner de códigos de barras o su sistema de almacén.
¿Cómo gestiono una línea de factura que cubre tres lotes?
Divídala en tres filas en la recepción usando las etiquetas de palé o el albarán, repita el número de factura y el precio unitario en cada fila, y divida la cantidad entre los tres códigos. La extracción solo puede producir lo que muestra el documento. La división es una decisión de recepción, y debe ocurrir antes de construir la tabla, no como una limpieza posterior.
¿Nos hace esto cumplir con FSMA 204 o EU 178/2002?
No. Produce un registro estructurado y ordenable que respalda la conservación de registros que exigen esas normas, y hace que una solicitud de registros en 24 horas se pueda responder desde una sola tabla. El cumplimiento también requiere un plan de trazabilidad, registros en cada evento crítico de seguimiento, registros hacia adelante desde producción y envío, y en el caso de la UE el vínculo de un paso hacia adelante con sus clientes. Trate el registro extraído como un componente, no como el sistema.
¿Puedo usar la misma tabla para comparar precios de proveedores?
Sí, siempre que conserve el detalle a nivel de línea. Una vez que las cantidades y los precios unitarios están en una sola tabla entre proveedores, comparar lo que pagó es cuestión de ordenar, que es el flujo de trabajo descrito en comparar precios de proveedores de alimentos a partir de facturas. Las columnas de lote no interfieren con ese análisis, y conservarlas significa que el mismo extracto sirve tanto a finanzas como a QA.
En Resumen
La trazabilidad alimentaria falla en la unión entre registros mucho antes de fallar en un laboratorio. La factura del proveedor es el documento que produce cada compra, así que es el lugar correcto para iniciar el registro de lotes, y es el lugar incorrecto para detenerse. Capture el código de lote tal como está impreso, mantenga una fila por lote físico, separe la fecha de duración mínima de la fecha de caducidad, y una el resultado con recepción y producción por número de pedido o de albarán. Haga eso y un aviso de retirada se convierte en un filtro en una hoja de cálculo en lugar de una semana de llamadas telefónicas.
Vea cómo se ven sus propias facturas de proveedores como registro de lotes. Suba una factura, nombre las columnas que necesita y compruebe si los códigos de lote y de fecha sobreviven al trayecto.