TIP: You can type at any time to perform a new search.
Stock Reserve Sales
stock_reserve_sale · OCA/stock-logistics-warehouse
⚠ Security warnings
stock_reserve_sale.access_sale_stock_reserve— Access rule grants write/create/unlink on 'stock_reserve_sale.model_sale_stock_reserve' to EVERY user (portal/public included): no group is set acl-global-writestock_reserve_sale.access_sale_stock_reserve_release— Access rule grants write/create/unlink on 'stock_reserve_sale.model_sale_stock_reserve_release' to EVERY user (portal/public included): no group is set acl-global-write
Found by automated static analysis: these patterns are usually risky, but only a manual review of the module can confirm a real issue.
- Repository
- OCA/stock-logistics-warehouse · module folder · Try on Runboat
- Module version
- 1.0.0
- Category
- Warehouse
- Folder size
- 0.11 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/stock-logistics-warehouse
- Last tracking update
- 2026-08-07 08:22:57
- Authors
- Camptocamp, Odoo Community Association (OCA)
- Maintainers
- Camptocamp, Odoo Community Association (OCA)
- Committers
- Weblate, OCA-git-bot, oca-ci, Andreu Orensanz
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- None
- Description
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.
Code Analysis ⓘ
Views touched (5)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_order_form_reserve |
sale.order.form.reserve | sale.order | form | Inherits sale_stock.view_order_form_inherit_sale_stock |
view_sale_stock_reserve_form |
sale.stock.reserve.form | sale.stock.reserve | form | New |
view_sale_stock_reserve_release_form |
sale.stock.reserve.release.form | sale.stock.reserve.release | form | New |
view_stock_reservation_form |
stock.reservation.form | stock.reservation | form | Inherits stock_reserve.view_stock_reservation_form |
view_stock_reservation_tree |
stock.reservation.tree | stock.reservation | tree | Inherits stock_reserve.view_stock_reservation_tree |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (6)
New fields (5)
-
all_lines_reservedBooleancompute='_compute_reserves_count'compute_sudo=Falsedefault=Falsestore=True -
has_stock_reservationBooleancompute='_compute_stock_reservation'readonly=Truestore=Truestring='Has Stock Reservations' -
is_stock_reservableBooleancompute='_compute_stock_reservation'readonly=Truestore=Truestring='Can Have Stock Reservations' -
reserves_countIntegercompute='_compute_reserves_count'compute_sudo=Falsestore=True -
stock_reservation_idsOne2many → stock.reservationstring='Stock Reservations' args: 'stock.reservation', 'sale_id'
-
action_cancel(self) -
action_confirm(self) -
action_open_release_reservation_wizard(self) -
action_view_reserves_products(self) -
get_message(self, old_vals, new_vals)@api.model -
release_all_stock_reservation(self) -
unlink(self) -
write(self, vals)
New fields (3)
-
is_readonlyBooleancompute='_compute_is_readonly'store=False -
is_stock_reservableBooleancompute='_compute_is_stock_reservable'readonly=Truestring='Can be reserved' -
reservation_idsOne2many → stock.reservationcopy=Falsestring='Stock Reservation' args: 'stock.reservation', 'sale_line_id'
-
release_stock_reservation(self) -
unlink(self) -
write(self, vals)
New fields (5)
-
date_validityDatehelp='If a date is given, the reservations will be released at the end of the validity.' args: 'Validity Date' -
location_dest_idMany2one → stock.locationdefault=_default_location_dest_idhelp='Location where the system will reserve the products.'required=True args: 'stock.location', 'Reservation Location' -
location_idMany2one → stock.locationdefault=_default_location_idrequired=True args: 'stock.location', 'Source Location' -
noteTextargs: 'Notes' -
owner_idMany2one → res.partnerargs: 'res.partner', 'Stock Owner'
-
button_reserve(self) -
stock_reserve(self, line_ids)
New fields (2)
-
reservation_idsMany2many → stock.reservationreadonly=Truestring='Stock Reservations' args: 'stock.reservation' -
sale_order_idMany2one → sale.orderreadonly=True args: 'sale.order'
-
button_release(self)
New fields (1)
-
sale_reserve_idMany2one → sale.orderargs: 'sale.order', 'Sale Stock Reserve'
No public methods.
New fields (2)
-
sale_idMany2one → sale.orderrelated='sale_line_id.order_id'store=Truestring='Sale Order' args: 'sale.order' -
sale_line_idMany2one → sale.order.linecopy=Falseondelete='cascade'string='Sale Order Line' args: 'sale.order.line'
-
action_view_reserves_stock_picking_reservation(self) -
release_reserve(self)
Loading…
Loading…
Loading…
Loading…
Loading…
- Status
- Open migration PR — not merged yet for this version
- CI status
- checks failing
- Open since
- 115 days ago
- Last activity
- 113 days ago
- Repository
- OCA/stock-logistics-reservation
- Pull request
- [MIG] stock_reserve_sale: Migration to 18.0 (#54)