| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Discuss (mail) • Inventory (stock) |
| Lines of code | 327 |
| Technical Name |
codeerts_sale_lot_reservation |
| License | OPL-1 |
| Website | https://www.codeerts.com |
| Versions | 17.0 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Discuss (mail) • Inventory (stock) |
| Lines of code | 327 |
| Technical Name |
codeerts_sale_lot_reservation |
| License | OPL-1 |
| Website | https://www.codeerts.com |
| Versions | 17.0 18.0 19.0 |
Lot Reservation from Sales Orders
Reserve specific lot and serial numbers right on the quotation.
Lock them so no other order can take them, then ship exactly what you promised.
Auto-picked by your removal strategy, hard-locked across quotations, and pushed straight to the delivery on confirmation.
|
3
Removal Strategies
|
1
Lot Per Customer
|
Auto
Lot Selection
|
0
Double-Sold Lots
|
18.0
Odoo Version
|
The lot problem every stock seller knows
Promising a lot at quotation time is guesswork in standard Odoo
|
The same lot sold twice
Two salespeople promise the same batch to two customers because nothing reserves a lot until the delivery is validated. Someone ends up disappointed. |
The wrong batch goes out
Standard reservation happens at the warehouse, not on the order, so the customer who needs a specific expiry or batch has no way to lock it from the quotation. |
No view of quote-held stock
Stock that open quotations are counting on is invisible. Planners cannot tell what is really free to sell until orders are confirmed. |
What this module does
Lot Reservation from Sales Orders moves lot and serial selection onto the quotation. The moment you add a lot-tracked product, the module auto-selects available lots in the product category removal strategy, FIFO, FEFO or LIFO, splitting across several lots when one is not enough, and hard-locks them so no other open quotation can take the same lot.
A Manage popup shows each lot free-to-reserve quantity and blocks over-committing. On confirmation the exact lots flow to the delivery as Odoo standard reservation, and a Quote Reserved column on your product and inventory reports shows how much stock open quotations are holding.
|
🏷️
Auto-pick by strategy
Add a lot-tracked product and the right lots are selected for you in FIFO, FEFO or LIFO order, split across lots when one does not cover the line. |
🔒
Hard-locked lots
Once a lot is reserved on a quotation no other draft or sent order can take it, so the same batch is never promised to two customers. |
🚚
Straight to delivery
Confirm the order and the exact lots you reserved become the delivery reservation, so the warehouse picks precisely what was promised. |
|
📏 Available column with guard
The Manage popup shows each lot free-to-reserve quantity and blocks any attempt to reserve more than is actually available. |
✂ Automatic split across lots
When a single lot cannot cover the ordered quantity the module spreads the line across as many lots as needed, in strategy order. |
|
♻ One-click release
Release a line reserved lots in one click to free them instantly for any other quotation that needs them. |
📦 Quote Reserved column
Product and inventory reports gain a Quote Reserved figure for stock held by open quotations, separate from standard Reserved. |
|
📊 Shortfall shown, never blocked
If stock is short the module reserves what is available and shows the shortfall, leaving the rest to Odoo native reservation. |
📋 Reserved lots on the line
A compact summary column on each order line shows the reserved lots at a glance, with a Manage button to view or adjust them. |
|
🔁 Auto-updates on edits
Change the product or the quantity on a line and the reserved lots are recalculated automatically against live availability. |
🧩 Built on native stock
Reservation rides on Odoo own quant and move-line engine, so reports, traceability and delivery flows all stay consistent. |
It follows your removal strategy
|
FIFO
First in, first out. The oldest received lots are reserved first. Used by default when no strategy is set. |
FEFO
First expiry, first out. Lots closest to their expiry date are reserved first, ideal for perishable stock. |
LIFO
Last in, first out. The most recently received lots are reserved first when that suits your operation. |
How it works
1 |
Add a lot-tracked product
On any quotation, add a product tracked by lot or serial. The module immediately reserves available lots in your removal strategy order. |
2 |
Review or adjust in the popup
Open Manage on the line to see each lot, its free-to-reserve Available quantity and the amount you are holding. Over-committing is blocked. |
3 |
Lots stay locked to the order
No other open quotation can grab the same lots. Release them in one click if priorities change and they are freed instantly. |
4 |
Confirm to push to delivery
On confirmation the reserved lots become the delivery reservation using Odoo standard stock engine, ready for the warehouse to pick. |
5 |
Track quote-held stock
Watch the Quote Reserved column on products and inventory to see what open quotations are holding, freed automatically on cancel. |
Screenshots
See it in action, from quotation to delivery.
Reserved lots appear on the quotation line
Add a lot-tracked product and the Reserved Lots column fills automatically in removal-strategy order.
Manage popup with a live Available column
Each lot shows how much is free to reserve. Trying to take more than is available is blocked with a clear message.
The same lots reserved on the delivery
On confirmation the exact lots flow to the delivery order as Odoo standard reservation, ready to pick.
Quote Reserved on products and inventory
A dedicated column shows the quantity held by open quotations, so planners always know what is really free to sell.
Technical information
|
Version
18.0
|
License
OPL-1
|
Editions
Community & Enterprise
|
Dependencies
Sales & Inventory
|
Technical name: codeerts_sale_lot_reservation · Depends on: sale_stock (standard Sales plus Inventory)
Frequently asked questions
Add a lot-tracked product to the quotation and the module auto-picks available lots in the product category removal strategy. Open the Manage popup on the line to see, adjust or release the reserved lots, which are held for that quotation until you release them or confirm the order.
Yes. Reserved lots are hard-locked. Once a lot is committed on one open quotation, no other draft or sent quotation can reserve the same lot until the first one releases it or is cancelled, so two customers never get promised the same lot.
It follows the removal strategy set on the product category, FIFO, FEFO or LIFO, and defaults to FIFO when none is set. It reads real on-hand availability and splits the quantity across several lots automatically when one lot does not cover the line.
On confirmation the exact lots you reserved are pushed to the delivery order as Odoo standard reservation, so the warehouse picks the same lots that were promised on the quotation. There is nothing extra to do at the delivery step.
A Quote Reserved column on the product and inventory reports shows the quantity held by open quotations. When a quotation is confirmed that amount moves into the standard Reserved figure, and when a quotation is cancelled the amount is freed automatically.
Use the version selector at the top of this page to pick your Odoo release. Each branch is published as its own listing for that exact version and works on both Community and Enterprise.
The team behind this module
About CODEerts
Full-Service Odoo ERP Agency · Solutions That Scale
Every module in our store is built from real client work, tested in production and maintained long-term by a team of Odoo certified consultants. When you need more than an app, we deliver the full solution.
|
🏗️ Implementation
Full Odoo roll-outs from requirements to go-live, across any industry and company size. |
🧩 Custom Development
Bespoke modules, OWL components and business logic built precisely to your workflow. |
🔄 Migrations
Zero-data-loss upgrades from older Odoo versions with full custom module porting. |
|
🔌 Integrations
Payment gateways, shipping carriers, biometric devices, eCommerce and third-party APIs. |
🔍 Odoo Audits
Performance, security and code-quality reviews that surface risks before they become problems. |
🧑💻 Support & Training
Ongoing helpdesk, user training and monthly retainers so your team stays productive. |
|
Odoo
Certified
|
6+
Years
|
50+
Projects
|
10+
Industries
|
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