Stock Account Product Run FIFO Hook
Este módulo añade puntos de enganche en el proceso de valoración FIFO para aportar más flexibilidad a la información que se almacena y procesa durante los cálculos de candidatos FIFO.
En Odoo 19, la lógica de valoración ha pasado de stock.valuation.layer a stock.move. Este módulo proporciona puntos de extensión para que los módulos personalizados puedan:
- Acceder a la información de los movimientos candidatos FIFO durante la valoración
- Enriquecer los movimientos de stock con datos personalizados de los candidatos
- Controlar la lógica de actualización del precio estándar durante las operaciones FIFO
Traducción automática al español (DeepSeek) de la descripción original de OCA, que está en inglés.
auto_awesome Qué hace este módulo
Generado por IA a partir del código · Odoo 19.0Añade puntos de extensión al proceso de valoración de existencias FIFO para que otros módulos puedan enriquecer los datos almacenados en los movimientos de existencias durante la valoración. No añade ninguna pantalla ni menú por sí mismo.
Este es un módulo de base técnica para la valoración de inventario FIFO (primero en entrar, primero en salir) de Odoo. No añade menús, botones, informes ni ajustes que un usuario pueda pulsar; en su lugar, cambia cómo se ejecuta el cálculo del coste FIFO entre bastidores.
Cuando Odoo valora un movimiento de stock de salida usando FIFO, recorre los movimientos de entrada más antiguos (la pila FIFO) y toma valor de ellos. Este módulo envuelve ese cálculo y, para cada movimiento candidato que consume, llama a un paso de preparación (_run_fifo_prepare_candidate_update) en product.product. En el módulo base ese paso no hace nada, pero otros módulos pueden sobrescribirlo para registrar información adicional en el movimiento de stock que se está valorando, como datos personalizados del candidato.
El módulo también mantiene disponible el método FIFO original como _run_fifo_original, de modo que el comportamiento estándar se conserva cuando no hay ninguna extensión instalada. Gestiona cantidades negativas devolviendo la cantidad multiplicada por el precio estándar (o el precio en una fecha dada), y trata cantidades parciales, lotes y valoración en una fecha específica.
En resumen: toca product.product y el flujo de valoración de movimientos de stock desde stock_account, y ofrece a los desarrolladores un hook seguro para personalizar la valoración FIFO sin reescribir todo el método. Los usuarios finales no ven nuevas pantallas; el efecto solo aparece a través de los módulos que usan este hook.
Depende de
Lo necesitan otros módulos
Texto generado por IA (DeepSeek) al leer el código de la versión 19.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. Ver el código en GitHub
Disponibilidad por versión
Revisado: 2026-11-03Estado de confirmación: 7 confirmadas, 2 sin información de 9 versiones.
Fuentes · Odoo 13.0
Confirmado el 2026-11-03 en la rama 13.0 de OCA/stock-logistics-workflow.
terminal Instalación y uso
Documentación de OCA · Odoo 19.0- Añade la dependencia de este módulo a tu módulo personalizado:
"depends": ["stock_account_product_run_fifo_hook"],- Hereda de
product.producten tu módulo personalizado - Sobrescribe los métodos hook para añadir lógica personalizada:
_run_fifo_prepare_candidate_update(candidate_move, qty_taken, value_taken, valued_move=None)— Se llama para cada candidato FIFO cuando se consume.candidate_move: El movimiento de origen FIFO que se está consumiendoqty_taken: Cantidad consumida de este candidatovalue_taken: Valor consumido de este candidatovalued_move: (obtenido mediante el contexto) El stock move que se está valorando y que consume este candidato Úsalo para capturar la cantidad/valor exactos tomados, crear registros de uso o rastrear relaciones de valoración entre movimientos.
Cuando valued_move se pasa al contexto
El valued_move se pasa al contexto cuando un stock move de salida llama a _set_value() para el costeo FIFO:
# In stock.move._set_value() for FIFO moves:
for move in fifo_moves:
super(StockMove, move.with_context(valued_move=move))._set_value(
correction_quantity=correction_quantity
)Esto ocurre cuando:
- Se está valorando un stock move de salida (entrega a cliente, transferencia interna, etc.)
- El producto utiliza el método de costeo FIFO
- El sistema necesita consumir candidatos FIFO para determinar la valoración del movimiento
Durante este proceso:
- Se llama a
_run_fifo()para calcular el coste unitario - Para cada candidato FIFO consumido, se llama al hook
_run_fifo_prepare_candidate_update() - El
valued_move(el movimiento que se está valorando) está disponible en el contexto - Puedes usarlo para vincular el candidato con el movimiento que se está valorando
Traducción automática al español (DeepSeek) de la documentación original de OCA; los comandos y el código no se traducen. Sin información verificada en OCA: Instalación, Configuración.
Las instrucciones de instalación, el paquete de distribución, las dependencias y los pasos de configuración no se muestran porque todavía no se han verificado en la documentación del módulo para ninguna versión.
Datos importados de GitHub: esta ficha refleja la última revisión del catálogo, no una consulta en directo. Verifica siempre en la documentación del módulo y en staging antes de instalar en producción.