Stock Available to Promise Release
Actualmente la reserva se realiza añadiendo cantidades reservadas en los quants, lo cual está bien siempre que la reserva se haga justo después de la confirmación del pedido. De esta forma, siempre se aplica el principio de primero llegado, primero servido. Pero si libera las operaciones de almacén en un orden elegido (mediante la ronda de entrega, por ejemplo), entonces necesita asegurarse de que las reservas se realicen respetando el principio de primero llegado, primero servido y no impulsadas por el orden en que elige liberar sus operaciones.
Permitir que cada movimiento de entrega marque una cantidad como virtualmente reservada. Una regla simple sería primero pedido, primero servido. Se podrían implementar reglas más complejas.
Cuando se produce la reserva de un movimiento de picking, la cantidad que se reserva se basa entonces en la cantidad que se prometió al cliente (disponible para prometer):
- Los movimientos se pueden reservar en cualquier orden, siempre se reserva la cantidad correcta
- La estrategia de retirada se calcula solo cuando se produce la reserva. Si reserva el pedido 2 antes que el pedido 1 (porque tiene/quiere entregar el pedido 2) puede aplicar correctamente fifo/fefo.
- Por ejemplo, el pedido 1 debe entregarse en 1 mes, el pedido 2 debe entregarse ahora.
- Bloquear virtualmente cantidades para poder servir el pedido 1
- Reservar la cantidad restante para el pedido 2 y aplicar fefo
- Permitir limitar la cantidad prometida en el tiempo. Si un cliente hace un pedido ahora para una entrega planificada en 2 meses, entonces permitir no bloquear esta cantidad como virtualmente reservada
- Permitir realizar reservas conjuntamente con la planificación de sus rondas de entrega. Reservar solo los quants que planificó entregar.
Cuando la cantidad del movimiento no se satisface completamente al liberar, la cantidad restante se divide y se adjunta a un nuevo picking que se puede liberar más tarde.
Importante: si se establece el "Stock reservation horizon", la cantidad se calcula sobre los movimientos que tienen una fecha prevista que no supera \$today + \$horizon (en días).
Importante: los movimientos sin un almacén establecido no son compatibles. Si el almacén no está establecido en el movimiento, la cantidad "Ordered Available to Promise" siempre será 0. Tampoco se considerará como consumo de stock existente. El almacén se establece mediante la regla de stock; si la regla no está asignada a un almacén, el movimiento tampoco terminará con un almacén.
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 18.0Permite al personal del almacén liberar transferencias de entrega en un orden elegido mientras sigue reservando stock de forma equitativa, en función de la cantidad prometida a cada cliente. Añade botones de liberación y anulación de liberación, fechas de prioridad y cantidades disponibles para prometer en transferencias y movimientos.
Este módulo cambia cómo se reservan las entregas salientes. En lugar de reservar existencias en el momento en que se confirma un pedido, los movimientos pueden esperar en un estado 'to release'. Cuando liberas una transferencia, la cantidad reservada se basa en la cantidad prometida al cliente (available to promise), por lo que liberar transferencias en cualquier orden sigue respetando el orden de pedido, primero en llegar, primero en servirse.
- En las transferencias y los movimientos ves nuevos campos: Priority Date, Ordered Available to Promise, Quantity Promised before this move, y flags que muestran si una transferencia necesita liberación o está lista para liberarse.
- Los botones te permiten Release o Unrelease transferencias y movimientos. Unrelease cancela los movimientos encadenados y puede devolver al stock las cantidades ya realizadas.
- La política de liberación de una transferencia puede ser 'As soon as possible' o 'When all products are ready'.
- Los tipos de picking se pueden configurar como 'Unrelease on backorder' y 'Prevent new move after release'.
- Las rutas y reglas se pueden configurar como 'Release based on Available to Promise', 'No backorder at release' y 'Reverse done transfer on cancellation'.
- Los ajustes de la compañía controlan el horizonte de reserva (días) y el tiempo máximo de preparación usado para reprogramar las transferencias liberadas.
- Aparecen menús en los informes de Inventory ('Moves Allocations') y en las transferencias ('Transfers Allocations'), y los productos muestran un recuento de movimientos que necesitan liberación.
El módulo toca stock.move, stock.picking, stock.picking.type, stock.route, stock.rule, product.product, res.company, y añade los asistentes stock.release y stock.unrelease.
Depende de
Lo necesitan otros módulos
Menús que añade
Modelos y campos (14)
- stock.move · amplía un modelo existenteneed_release, date_priority (Priority Date), release_ready, unrelease_allowed, previous_promised_qty (Quantity Promised before this move), ordered_available_to_promise_qty (Ordered Available to Promise (Real Qty)), ordered_available_to_promise_uom_qty (Ordered Available to Promise)
- stock.rule · amplía un modelo existenteno_backorder_at_release, available_to_promise_defer_pull, allow_unrelease_return_done_move
- res.company · amplía un modelo existentestock_reservation_horizon, stock_release_max_prep_time (Transfer Releases Max Prep. Time)
- stock.route · amplía un modelo existenteno_backorder_at_release (No backorder at release), available_to_promise_defer_pull (Release based on Available to Promise), allow_unrelease_return_done_move (Reverse done transfer on cancellation)
- stock.picking · amplía un modelo existenteneed_release, date_priority (Priority Date), release_ready, release_policy, last_release_date, need_release_count (# of need release moves), release_ready_count (# of moves ready)
- stock.release · modelo nuevo
- stock.location · amplía un modelo existente
- product.product · amplía un modelo existentemove_need_release_count (Moves Need Release)
- stock.unrelease · modelo nuevo
- procurement.group · amplía un modelo existente
- stock.picking.type · amplía un modelo existenteunrelease_on_backorder (Unrelease on backorder), count_picking_need_release, prevent_new_move_after_release (Prevent new move after release)
- res.config.settings · amplía un modelo existentestock_reservation_horizon, stock_release_max_prep_time
- stock.return.picking · amplía un modelo existente
- stock.return.picking.line · amplía un modelo existente
Texto generado por IA (DeepSeek) al leer el código de la versión 18.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. El módulo es muy grande y solo se ha leído una parte del código. Ver el código en GitHub
Disponibilidad por versión
Revisado: 2026-11-03Estado de confirmación: 4 confirmadas, 5 sin información de 9 versiones.
Fuentes · Odoo 18.0
Confirmado el 2026-11-03 en la rama 18.0 de OCA/stock-logistics-reservation.
terminal Instalación y uso
Documentación de OCA · Odoo 18.0Configuración
Fuente · Odoo 18.0En Inventario \> Configuración \> Rutas, active la opción "Liberación basada en Disponible para Prometer" en las rutas donde desee utilizar la funcionalidad.
Para modificar el horizonte, vaya a "Inventario \> Configuración" y cambie "Horizonte de reserva de existencias".
Cuando una transferencia de salida generaría movimientos encadenados, no lo hará. Los movimientos encadenados deben liberarse manualmente. Para ello, abra "Inventory \> Operations \> Stock Allocation", seleccione los movimientos a liberar y use "action \> Release Stock Move". Un movimiento solo puede liberarse si la cantidad disponible para prometer es mayor que cero. Esta cantidad se calcula como la cantidad virtual del producto menos los movimientos anteriores en la lista (siendo anteriores definidos por el campo "Priority Date").
Este comportamiento se activa por ruta de stock estableciendo la opción "Release based on Available to Promise".
Por defecto, cuando se libera una transferencia de salida, se crea un pedido pendiente para las cantidades restantes de productos no disponibles en el momento de la liberación. Este comportamiento también puede modificarse por ruta de stock estableciendo la opción "No backorder at release". En tal caso, los movimientos creados para productos no disponibles permanecerán en el picking de salida original y no se creará ningún pedido pendiente.
Una vez liberado un picking, también puede asegurarse de que los nuevos movimientos ya no se asignen a un picking liberado estableciendo la opción "Prevent new move after release". en el tipo de picking de stock.
Al final del proceso de picking (cuando se valida el picking) de una transferencia de salida, si se crea un pedido pendiente, los movimientos encadenados pueden desliberarse automáticamente. Este comportamiento se activa estableciendo la opción "Unrelease on backorder" en el tipo de picking de stock.
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.
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.