Reserve Stock Before It's Gone
A pre-confirmation reservation ledger for Odoo Sales that locks stock to a customer the moment you quote it — so nothing gets double-promised between quotation and confirmation.
Odoo only reserves inventory after a sales order is confirmed. Between quoting an item and confirming the order, the same stock can be quoted to another customer — leading to overselling, broken delivery promises, and sales teams tracking manual holds in spreadsheets.
Product Reservation System adds a first-class pre-confirmation hold: reserve stock the moment you quote it, see reserved-vs-available on every order line in real time, and release it automatically if the deal falls through or the hold expires.
Everything you need to stop overselling
Every capability below is implemented in the module.
Reserve at Quotation Stage
Lock stock to a customer before the sales order is confirmed, with a one-click Reserve action on the order or on an individual reservation record.
Overselling Block, Full or Partial
Every reserve request is checked against real free stock net of existing holds. Choose to block requests that exceed availability or automatically reserve the partial quantity on hand.
Reserved vs. Available on the Order Line
See reserved quantity, remaining availability, and a colour-coded status badge directly on each sales order line — no wizard required to know what is committed.
Full Lifecycle with Expiry and Undo
Reservations move through draft, reserved, done, expired, and cancelled states. A configurable hold period auto-expires stale reservations, and a short undo window lets staff reverse a mis-click.
Auto-Reserve and Auto-Release Automation
Optionally reserve stock the instant a quotation is sent, and choose per order whether confirming it releases the hold automatically or leaves it in place — with an in-app banner showing which rules are active.
Bulk Reserve, Release, and Expire
Apply Reserve, Release, Expire, or Mark Done to any selection of reservations at once from the list view, instead of updating them one by one.
Full Chatter Audit Trail and Notifications
Every reserve, release, expiry, undo, and lay-by payment event is logged to the reservation and sales order chatter, with configurable staff notifications and a customer confirmation email.
Lay-by and Deposit Milestones
Track deferred-payment reservations against a payment milestone schedule, distinct from standard holds, to support layaway and deposit-based sales.
Drill-Down Reporting and Customer Portal
A pivot and graph report breaks down reservations by product, warehouse, and customer, with reserved-vs-delivered discrepancy tracking and drill-down to source records; customers can view their own active reservations from the portal.
How it works
Quote and Reserve
Add products to a quotation and reserve stock with one click, or let auto-reserve trigger when the quote is sent.
Track in Real Time
Watch reserved quantity, availability, and status update live on the order line and the product record as holds are placed.
Confirm or Release
Confirm the order to hand off to standard delivery reservation, or release the hold instantly if the deal changes.
Review and Report
Audit every action in the chatter, and use the pivot/graph report to review reservations by product, warehouse, and customer.
See it in action
A closer look at reservations, lay-by, reporting, and the customer portal.
The Reservations list shows every active hold with partner, product, reserved quantity, warehouse, and status at a glance.
Kanban view groups reservations by state so staff can see what is reserved, expired, or done in seconds.
The reservation form shows the full lifecycle, availability breakdown, and a complete chatter audit trail.
Lay-by reservations are tracked separately from standard holds for deposit-based sales.
Each lay-by reservation carries its own payment milestone schedule, marked paid as deposits come in.
The reservation analysis pivot breaks down reserved and delivered quantities by product, warehouse, and customer.
Switch to the graph view to spot reservation trends over time at a glance.
Configure hold periods, overselling policy, auto-reserve/auto-cancel defaults, and notification recipients from Settings.
The sales order shows a reservation banner, reserved quantity per line, and auto-reserve/auto-cancel toggles.
Customers see their own active reservations from the customer portal.
The portal reservation detail view gives customers read-only visibility into quantity, warehouse, and status.
Frequently asked
Does this replace Odoo's standard delivery reservation?
No. This module adds a separate pre-confirmation reservation ledger for the quotation stage. Odoo's native stock reservation on the delivery still runs as normal once the order is confirmed.
What happens if I try to reserve more than is available?
You choose the policy: block the request outright, or automatically reserve the partial quantity that is actually on hand, both configurable in Settings.
Can reservations expire automatically?
Yes. Set a hold period per reservation and an hourly scheduled action releases any reservation past its expiry date, with the event logged to chatter.
Can customers see their own reservations?
Yes. A read-only portal page lists each customer's active reservations and lets them open a detail view for quantity, warehouse, and status.
Get in Touch
Have questions or need customization? Every purchase includes 30 days of free support — we are here to help.
Visit Our Website
www.cerevantix.comExplore our apps, services, and portfolio.
Empowering growth through technology.
Product Reservation System adds pre-confirmation stock holds, real-time availability, lay-by milestones, and a customer portal to Odoo Sales.
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Inventory (stock)
• Sales (sale_management) • Discuss (mail) • Invoicing (account) |
| Lines of code | 1591 |
| Technical Name |
cerevantix_product_reservation_system |
| License | OPL-1 |
| Website | https://cerevantix.com |
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module