Volcar conteos RFID en Odoo: de stock.inventory a los ajustes de stock.quant
Volcar conteos RFID en Odoo: de stock.inventory a los ajustes de stock.quant
Integración Odoo

Volcar conteos RFID en Odoo: de stock.inventory a los ajustes de stock.quant

El conteo es la mitad fácil. La mitad difícil es convertir un flujo de lecturas EPC en un ajuste de inventario defendible: emparejamiento determinista, aritmética de esperado frente a contado que respete reservas, escrituras por lotes sin bloqueos y una pista de auditoría que contabilidad acepte.

12 min· By SpidersRFID Editorial Team

Un lector produce observaciones. Odoo necesita una decisión. Entre ambos está la parte menos brillante y más decisiva de un despliegue RFID: el código que convierte unos cientos de miles de lecturas EPC en un puñado de ajustes de inventario que alguien esté dispuesto a firmar.

Equivocarse aquí no produce un mensaje de error. Produce un almacén que deja de confiar en el sistema y empieza a llevar una hoja de cálculo al lado.

Qué cambió: stock.inventory desapareció, el modelo es stock.quant

Gran parte del material que circula todavía describe un modelo que Odoo ya retiró, así que conviene partir de la verdad actual.

  • El antiguo documento stock.inventory quedó obsoleto; desde Odoo 15 el conteo se hace directamente sobre registros stock.quant.
  • Un quant se identifica de forma única por producto, ubicación, lote, paquete y propietario; esa tupla es la clave que tu importación debe casar.
  • Contar significa escribir inventory_quantity en el quant, en modo inventario, y luego aplicar el inventario.
  • Aplicar genera movimientos marcados como ajuste de inventario y, si el producto se valora, capas de valoración.
  • El asistente de ajuste (stock.inventory.adjustment.name) agrupa una sesión de conteo y lleva la fecha contable, que es lo que hace auditable el conteo.

La tabla de staging entre el lector y el ERP

Nunca dejes que un lector escriba directamente en el inventario de producción; la capa de staging es donde muere el dato malo.

  • Guarda primero las lecturas crudas: EPC, antena, lector, marca de tiempo, RSSI y el identificador de sesión.
  • Resuelve el EPC a producto en un paso aparte, para que corregir un mapeo no obligue a recontar el almacén.
  • Conserva la fila resuelta, su confianza y la fuente de resolución, porque "lo dedujimos por el prefijo" es información que auditoría pedirá.
  • Haz la tabla idempotente por sesión, para que repetir el mismo conteo no duplique.
  • Preserva el número de lecturas crudas por EPC; los duplicados son esperables y su cantidad informa sobre la configuración del lector.

Emparejar EPC con producto, lote y ubicación

El emparejamiento es donde se fabrica la mayor parte de la variación, y es totalmente evitable.

  • Resuelve el EPC mediante un registro explícito, no parseando el patrón SGTIN en el momento de la lectura salvo que el patrón esté garantizado por contrato.
  • Si el producto se controla por lote, el lote debe venir del registro o de una relación de empaque; un EPC rara vez lo lleva.
  • La ubicación viene de los metadatos de la sesión, no de la etiqueta, porque las etiquetas no saben dónde están.
  • Si un EPC resuelve a dos productos, detente y pon la lectura en cuarentena; una regla silenciosa de primer-match es como aparecen los stocks fantasma.
  • Registra los EPC no emparejados en lugar de descartarlos; las etiquetas desconocidas son la vía más rápida para encontrar un defecto de proceso.

Esperado frente a contado: la aritmética que se hace mal

La variación no es contado menos disponible; es una comparación de tres términos, y el tercero son las reservas.

  • La cantidad disponible es lo que el libro cree que está físicamente presente.
  • La cantidad reservada ya está comprometida con una entrega o una orden de fabricación y no debe tratarse como faltante.
  • La cantidad contada es lo que el lector vio durante la sesión, tras deduplicar y aplicar filtros.
  • La variación es contado menos disponible; una variación negativa en una línea reservada suele significar mercancía preparada, no perdida.
  • Reporta la variación en unidades y en valor, porque un controller triará por valor aunque operaciones trie por unidades.

Aplicar los ajustes con seguridad

La ruta de escritura debe ser aburrida, por lotes y reversible dentro de la ventana de la sesión.

  • Escribe inventory_quantity en modo inventario y aplica por ubicación o por sesión, no por etiqueta.
  • Procesa en bloques de unos cientos de quants; una transacción por quant convierte un conteo de 100.000 etiquetas en un bloqueo de dos horas.
  • El orden de bloqueo importa: ordena los quants por producto y ubicación antes de escribir, para que dos sesiones concurrentes no se bloqueen mutuamente.
  • Nunca ajustes una ubicación que esté en una transferencia o en un picking abierto; difiere esos quants a una segunda pasada.
  • Guarda la referencia de la sesión en el registro de ajuste, para que la capa de valoración se pueda rastrear hasta el conteo.

Aprobación, fecha contable y pista de auditoría

La diferencia entre un ajuste y una corrección es quién lo aprobó y cuándo llegó a los libros.

  • Envía a un segundo aprobador los ajustes por encima de un umbral de valor; por debajo, aplica automáticamente pero registra igual al actor.
  • Fija la fecha contable a propósito; un conteo hecho el día 30 y aplicado el 3 pertenece al periodo anterior, o el cierre del mes cuenta otra historia.
  • Adjunta el informe de conteo al documento de ajuste, no en una carpeta compartida que se reorganizará.
  • Registra la cantidad previa, la contada, la diferencia y el código de motivo en cada línea.
  • Concilia la suma de ajustes contra el informe de valoración al cierre; ambos deben contar lo mismo.

Etiquetas desconocidas, duplicados y reconteos

Estos tres casos consumen la mayor parte del soporte, y cada uno admite una política barata y explícita.

  • Etiquetas desconocidas: aparcarlas en una ubicación de cuarentena con una tarea y revisarlas semanalmente; nunca escribirlas en un producto real.
  • Duplicados: deduplicar por EPC y sesión, pero conservar el conteo crudo para poder identificar un lector con la sesión mal configurada.
  • Reconteos: ejecutar el segundo conteo con la misma definición de sesión y comparar antes de ajustar, no después.
  • Conteos parciales: marcar la sesión como parcial y ajustar solo las ubicaciones recorridas, o los pasillos no visitados se escribirán a cero.
  • Etiquetas ausentes: tratarlas como tarea de reconteo en la misma estantería antes de cualquier ajuste negativo, porque un palé apantallado se ve igual que uno vacío.

Un despliegue que sobrevive al primer cierre de mes

Ensaya toda la cadena en una copia de la base antes del primer ajuste real.

  • Ensaya en una copia con el mismo volumen, para que los tiempos y los bloqueos sean representativos.
  • Ejecuta un conteo completo sin aplicar nada y compara la variación calculada con el libro actual; esa diferencia es tu error de herramienta.
  • Después aplica solo en una ubicación, cierra el periodo y revisa el informe de valoración y los movimientos.
  • Solo tras un cierre limpio, extiende a todo el sitio y entrega el runbook a operaciones.
  • Publica la tendencia de variación mensual por ubicación; una tendencia creciente es un problema de proceso, no de conteo.

El resumen de ingeniería es corto: almacenar lecturas crudas, resolver de forma determinista, calcular una variación de tres términos, escribir quants por lotes en un orden de bloqueo estable, aplicar con fecha contable explícita y conservar cada número intermedio. Hazlo, y la RFID deja de ser un gadget de conteo y se convierte en la razón por la que el libro por fin dice la verdad.

Integración Odoo RFID — solución integral

Usamos cookies para mejorar su experiencia de navegación, analizar el tráfico del sitio y personalizar el contenido. Haga clic en “Aceptar todas” para aceptar todas las cookies, o elija “Solo necesarias”. Consulte nuestra Política de privacidad para más detalles.