Reserve a transfer's moves all-or-nothing instead of partially.
Project description
Stock Picking Reservation Policy
By default, Odoo reserves whatever quantity is available for a transfer’s lines (stock moves), leaving the rest as partially available.
This module adds a Reservation Policy that controls this behavior, on the operation type and on the transfer itself:
Partial: reserve whatever quantity is available (standard behavior).
All or nothing per line: each transfer line (stock move) is reserved only if its full quantity can be reserved from stock; otherwise that line stays entirely unreserved.
The all-or-nothing rule is applied per line (stock.move), independently for each line of the transfer — not on the transfer as a whole. One line may be fully reserved while another, short on stock, stays unreserved.
The transfer defaults its policy from the operation type, and the value can be adjusted on the transfer.
It is similar in spirit to the Shipping Policy (move_type), but it applies at reservation time on each line, rather than at delivery time. It only affects reservation from stock: lines fed by chained (origin) moves keep their standard behavior.
Table of contents
Usage
To set the default reservation policy of an operation type:
Go to Inventory > Configuration > Operations Types.
Open an operation type and set its Reservation Policy (Partial or All or nothing per line).
On a transfer, the Reservation Policy defaults from the operation type and can be adjusted manually before reservation.
When checking availability:
Partial: each line reserves whatever quantity is available.
All or nothing per line: each transfer line (stock move) is reserved only if its full quantity is available from stock; otherwise that line stays unreserved, leaving its stock available to the other lines. The rule is applied independently on each line, not on the transfer as a whole.
Known issues / Roadmap
A third reservation policy, All or nothing per transfer (all), is planned.
Where All or nothing per line applies the all-or-nothing rule independently to each line (stock move), All or nothing per transfer would apply it to the whole transfer at once: the transfer is reserved only if every one of its stock-sourced lines can be fully reserved; if any line falls short, none of the transfer’s lines are reserved.
This is not implemented yet.
Bug Tracker
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.
Do not contact contributors directly about support or help with technical issues.
Credits
Contributors
-
Iván Todorovich ivan.todorovich@camptocamp.com
Maintainers
This module is maintained by the OCA.
OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.
Current maintainer:
This module is part of the OCA/stock-logistics-workflow project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file odoo_addon_stock_picking_reservation_policy-19.0.1.0.0.3-py3-none-any.whl.
File metadata
- Download URL: odoo_addon_stock_picking_reservation_policy-19.0.1.0.0.3-py3-none-any.whl
- Upload date:
- Size: 33.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
09dc9b5c3b08f1b4e390e441b67c609c8f7ba4aee405d2a2ded85c2b88d61c7d
|
|
| MD5 |
cccb916b81e06c91c2c95a03e657893f
|
|
| BLAKE2b-256 |
b2a67e8d6323066e6e751b272155a786a0c0d2ddc4aabefeea65088d922a6a0a
|