Stock negativo en Odoo

23 de febrero de 2023 por
Gustavo Orrillo
| Sin comentarios aún
 

El módulo de Inventario de Odoo tiene un pequeño detalle molesto (y para nada documentado). Permite tener stock negativo. Si esta particularidad fuese un feature del módulo, sería algo pintoresco. Pero al ser una característica poco documentada, nos encontramos con muchos sistemas en producción que presentan esta característica. Muchos productos con cantidades negativas en diferentes ubicaciones. 

Lo cual es una catástrofe. Debido a que la información de stock debe reflejar lo que el operario de un depósito ve con sus propios ojos. La gente de Odoo tiene una interpretación bastante divertida y distorsionada sobre porque permiten stock negativo, pero la verdad es que todos los supervisores de almacenes que conozco no son muy amigos de esta "gran funcionalidad". Por un motivo muy sencillo, ellos no pueden hacer entregas de cantidades negativas. Si se les exige que hagan entregas, cuando no hay stock en mano, tienen un problema. Y buscan que el sistema refleje su realidad.

Bien, como hacer para evitarlo? Lo primero es instalar el módulo de OCA stock_no_negative. Este módulo por medio del agregado de restricciones en el modelo stock.quant, no permite tener cantidades negativas en stock. Lo cual es bastante práctico, ya que de una manera elegante evita una situación que puede ser desastrosa.

Ahora, si ya tengo cantidades negativas en stock, que puedo hacer? Uno puede ejecutar un script de xmlrpc que crea una transferencia de stock, y por cada registro del modelo stock.quant que tenga cantidad negativa, genera un movimiento de stock para llevar dicha cantidad a cero (lo que tiene el efecto de eliminar el registro del modelo stock.quant). La transferencia interna creada esta en modo borrador y al confirmarse desde la interface del usuario corregirá el problema de stock.

Este script se lo puede descargar de nuestro repositorio y ejecutarlo desde la línea de comandos. Primero deben estudiarlo para hacer los ajustes correspondientes (por ejemplo, cambiar el código del tipo de operación de stock para crear la transferencia correspondiente) y luego ejecutarlo. 

Luego en otro post detallaremos su funcionamiento, ya que es interesante para conocer como mover stock de una ubicación a otra.

Gustavo Orrillo 23 de febrero de 2023
Compartir
Archivar
Identificarse dejar un comentario