OdooWiki OCA HUB

Sale Stock Picking Reservation Policy

sale_stock_picking_reservation_policy folder_open OCA/stock-logistics-workflow open_in_new
Inventory/Configuration License: AGPL-3

This module integrates stock_picking_reservation_policy with sales.

It adds a Reservation Policy on the sale order, defaulted from the customer (or delivery address) and adjustable per order.

When the order is confirmed, the policy is carried over to the deliveries it generates. With an All or nothing per line order, each delivery line (stock move) is reserved only if its full quantity can be reserved from stock; otherwise that line stays unreserved. The all-or-nothing rule is applied per line (stock.move), independently for each line, not on the delivery as a whole.

auto_awesome What this module does

AI-generated from the code · Odoo 19.0

Lets you set a stock reservation policy on customers and sales orders, so deliveries reserve stock either directly or only when the full line quantity is available.

This module links the reservation policy concept to sales. On a customer record, a new Reservation Policy field appears in the Sales tab, with a default of "direct". Because it is a commercial field, it is shared across the customer's company contacts.

On a sales order, a Reservation Policy field is added next to the delivery policy. It is automatically filled from the delivery address (or customer) when the order is created, but you can change it while the order is still in Draft or Sent status; afterwards it becomes read-only.

When the order generates deliveries, the policy is carried over to the picking. If any related sales order uses the all-or-nothing per line policy, the delivery is set to that policy; otherwise it uses the direct policy. The system also uses the policy when deciding which existing delivery to attach a stock move to, so moves with different policies are not grouped into the same delivery.

  • Customer form: new Reservation Policy field in the Sales tab.
  • Sales order form: new Reservation Policy field, editable only in Draft/Sent.
  • Deliveries: policy is computed from the linked sales orders.
  • Stock moves: grouping and search for an existing delivery take the policy into account.
Models and fields (3)
  • sale.order · extends an existing modelreservation_policy
  • res.partner · extends an existing modelreservation_policy
  • stock.picking · extends an existing model

Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 1 confirmed, 8 with no information of 9 versions.

Sources · Odoo 19.0

Confirmed on 2026-11-03 in branch 19.0 of OCA/stock-logistics-workflow.

terminal Installation and usage

OCA documentation · Odoo 19.0

On a contact, set a Reservation Policy (Partial or All or nothing per line). It is shared with the contact's delivery addresses.

On a sale order, the Reservation Policy defaults from the customer (or delivery address) and can be adjusted manually before confirmation.

When the order is confirmed, the policy is carried over to the deliveries it generates. On those deliveries:

  • Partial: each line reserves whatever quantity is available.
  • All or nothing per line: each delivery line (stock move) is reserved only if its full quantity is available from stock; otherwise that line stays unreserved. The rule is applied independently on each line, not on the delivery as a whole.

No verified information in OCA: Installation, Configuration.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.