| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Inventory (stock) |
| Lines of code | 253 |
| Technical Name |
no_lot_expiry_alert |
| License | OPL-1 |
| Website | https://www.oudayet.com |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Inventory (stock) |
| Lines of code | 253 |
| Technical Name |
no_lot_expiry_alert |
| License | OPL-1 |
| Website | https://www.oudayet.com |
Near-Expiry Lot Email Alert
One inbox-friendly digest. Every lot expiring within N days.
Daily cron · Configurable window · Per-lot opt-out · Bulk action
Odoo 19 $34.99 · OPL-1 For Inventory Managers 9 LanguagesThe "we found 12 expired lots in the warehouse" problem
Odoo's product_expiry module ships expiration dates on every lot but never proactively emails anyone. You only notice expiring stock when you happen to filter the lot list. This module adds a daily digest so the inventory manager sees the wall coming weeks in advance.
Without this module
Build a custom report. Or remember to filter "Expiration Date in next 30 days" every Monday. Or wait until something expires and gets written off. None of those reliably happen.
With this module
Daily cron sends one email digest of every lot inside the window. Configurable window (30 days default). Configurable recipient. Per-lot opt-out. Done.
What you get
One scheduled action sweeps every lot whose expiration is inside the window. One email per recipient, one row per lot.
Settings → Inventory → Traceability lets you set the warning window in days. Defaults to 30. Override per company via System Parameter.
Either a specific user, or every member of the Stock / Inventory Manager group. Defaults to the latter.
"Expiry Alerts Enabled" toggle handles the special cases where you've agreed with a customer to ship past-expiry stock.
Push a lot's expiration date outside the window and the dedup flag silently resets — the next near-expiry alert fires when it should.
Seven Python TransactionCase tests cover cron-in/cron-out window, dedup, opt-out, reset-on-push, and bulk-action eligibility.
See It In Action
Lives inside standard Inventory — a settings card, a per-lot toggle, one digest email.
Configurable window. Set the warning window (days) and the recipient under Inventory → Settings → Traceability.
Per-lot opt-out. Every lot carries an Expiry Alerts toggle — untick to exclude a lot from the digest.
One-click send. Select lots, Action → Send Near-Expiry Digest Now — the digest goes out immediately.
The digest. One tidy email lists every lot inside the window with its expiration date and on-hand quantity.
Technical Details
| Module Version | 19.0.1.1.0 |
| Odoo Version | 19.0 Community + Enterprise |
| License | OPL-1 (paid, $34.99 USD) |
| Dependencies | product_expiry, mail |
| Languages | EN, FR, ES, DE, NL, PT-BR, IT, ZH-CN, AR |
| Override point | stock.lot._cron_send_lot_expiry_digest() |
Available in 9 Languages
The digest email and form labels follow each user's own Odoo language setting — no extra setup.
Installation
1. Download from the Odoo App Store.
2. Extract to your Odoo addons directory.
3. Apps → Update Apps List → Install Near-Expiry Lot Email Alert.
4. Tune window + recipient via Settings → Inventory → Traceability.
Found a bug?
Reach out via the Odoo App Store contact form.
© Naim OUDAYET — oudayet.com — OPL-1 license
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