OdooWiki OCA HUB

Stock Reserve Sales

stock_reserve_sale folder_open OCA/stock-logistics-warehouse open_in_new
Warehouse License: AGPL-3

Allows to create stock reservations for quotation lines before the confirmation of the quotation. The reservations might have a validity date and in any case they are lifted when the quotation is canceled or confirmed.

Reservations can be done only on "make to stock" and stockable products.

The reserved products are subtracted from the virtual stock. It means that if you reserved a quantity of products which bring the virtual stock below the minimum, the orderpoint will be triggered and new purchase orders will be generated. It also implies that the max may be exceeded if the reservations are canceled.

If you want to prevent sales orders to be confirmed when the stock is insufficient at the order date, you may want to install the sale_exception_nostock module.

Additionally, if the sale_owner_stock_sourcing module is installed, the owner specified on the sale order line will be proposed as owner of the reservation. If you try to make a reservation for an order whose lines have different, you will get a message suggesting to reserve each line individually. There is no module dependency: this modules is fully functional even without ownership management.

auto_awesome What this module does

AI-generated from the code · Odoo 17.0

Lets you pre-book (reserve) stock for quotation lines before the quotation is confirmed, with an optional validity date. Reservations are automatically released when the quotation is confirmed or cancelled.

This module adds stock reservations to quotations, so you can hold products for a customer before the sale is confirmed.

On a draft quotation you get a "Reserve Stock" button (on the order and on each line). It opens a small window where you choose the source location, the reservation location, an optional validity date, a note and, if owner tracking is enabled, a stock owner. A reservation is then created for the selected lines.

Only "make to stock" and stockable products can be reserved; service products and products sourced on order cannot. Once a line is reserved, its product and quantity become read-only, and you cannot delete the line or the order until you release the reservation. Changing the quantity or price of a reserved line updates the reservation, but only if a single reservation is linked.

A "Reserves" counter appears in the quotation button box, and a "Cancel all reservations" button opens a confirmation wizard listing the reservations to cancel. Reservations are also released automatically when the quotation is confirmed or cancelled. If a validity date was set, the reservation is released once that date passes.

Reservations are linked to the sale order and sale order line, and a related stock picking is created and can be opened from the reservation form.

Depends on

sale_stockstock_reserve
Models and fields (6)
  • sale.order · extends an existing modelreserves_count, all_lines_reserved, is_stock_reservable (Can Have Stock Reservations), has_stock_reservation (Has Stock Reservations), stock_reservation_ids (Stock Reservations)
  • stock.picking · extends an existing modelsale_reserve_id
  • sale.order.line · extends an existing modelis_readonly, reservation_ids (Stock Reservation), is_stock_reservable (Can be reserved)
  • stock.reservation · extends an existing modelsale_id (Sale Order), sale_line_id (Sale Order Line)
  • sale.stock.reserve · new modelnote (Notes), owner_id, location_id, date_validity (Validity Date), location_dest_id
  • sale.stock.reserve.release · new modelsale_order_id, reservation_ids (Stock Reservations)

Text generated by AI (DeepSeek) from reading the Odoo 17.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: 2 confirmed, 7 with no information of 9 versions.

Sources · Odoo 17.0

Confirmed on 2026-11-03 in branch 17.0 of OCA/stock-logistics-warehouse.

terminal Installation and usage

OCA documentation · Odoo 17.0
  • Create a new Sale Order
  • Add lines to the Order

Now you can reserve all the lines by clicking on Reserve Stock or you can reserve each one by pressing on the lock icon at the lines.

Once they where reserved, you can release the reserves by clicking at Cancell all button or by clicking the undo icon on the lines.

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.