Skip to main content
Odoo Community Association

Stock Picking Reservation Policy

Beta License: AGPL-3 OCA/stock-logistics-workflow Translate me on Weblate Try me on Runboat

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:

  1. Go to Inventory > Configuration > Operations Types.

  2. 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

Authors

  • Camptocamp

Contributors

Maintainers

This module is maintained by the OCA.

Odoo Community Association

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:

ivantodorovich

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.

Release files for odoo-addon-stock-picking-reservation-policy 19.0.1.0.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for odoo-addon-stock-picking-reservation-policy 19.0.1.0.0.4
File Interpreter ABI Platform
odoo_addon_stock_picking_reservation_policy-19.0.1.0.0.4-py3-none-any.whl Python 3 none any Details

Release files / odoo_addon_stock_picking_reservation_policy-19.0.1.0.0.4-py3-none-any.whl

Download URL odoo_addon_stock_picking_reservation_policy-19.0.1.0.0.4-py3-none-any.whl
Size 34.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bb21dc6f0264cab2075e3e2437590887a254b9aee7ce8f26b4a3eaef1cf166de
BLAKE2b-256 checksum
How to use checksums
bf10b036de215e98d679082ce866eedc447d62ef23df99a6149f0ed7bb597390
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

19.0.1.0.0.4 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page