| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Inventory (stock) |
| Lines of code | 1958 |
| Technical Name |
stock_expiry_alert_manager |
| License | LGPL-3 |
| Website | https://github.com/pudhi99 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Inventory (stock) |
| Lines of code | 1958 |
| Technical Name |
stock_expiry_alert_manager |
| License | LGPL-3 |
| Website | https://github.com/pudhi99 |
ð§ Product Expiry Alert Manager
Never ship expired stock again. Automated monitoring, colour-coded alerts
and smart clearance transfers â all inside your Odoo Inventory.
The Problem Every Warehouse Faces
Customer Complaints
Near-expiry or expired stock gets shipped. Chargebacks, returns, and lost trust follow every incident.
Financial Loss
Stock written off at full cost. No early warning means no chance to discount, donate, or redirect.
Manual Monitoring
Staff manually check lot dates in spreadsheets. Time-consuming, error-prone, always one step behind.
ð¦ Traffic-Light Expiry Dashboard
Every lot in your warehouse gets a live colour status. See the full picture in one Kanban view.
Kanban view grouped by status â instant overview, zero setup
Everything You Need â Nothing You Don't
5-Level Email Alerts
Auto emails at 30, 15, 7, 3, and 1 day before expiry. Each level has distinct colour-coded styling.
Auto Clearance Transfer
When a lot hits RED, a draft internal transfer to your Clearance Zone is created automatically.
Cost at Risk Report
Financial value of stock by expiry tier â list, graph, and pivot views. Know your exposure.
Weekly Digest Email
Every Monday, a summary table emailed to management showing counts per tier. Board-ready.
FIFO Sort on Picking
One click re-sorts delivery order lines oldest-expiry-first (FEFO) without complex routing.
Expired Lot Validation Block
Odoo blocks validation of any delivery with expired lots. Hard stop at the warehouse door.
Bulk Clearance Wizard
Select all RED and EXPIRED lots and create clearance transfers in one action â handles dozens at once.
Full Audit Trail
Every alert sent, every transfer created, every digest sent â logged with timestamps and recipients.
PDF & Excel Export
Export filtered expiry reports as PDF (QWeb styled) or XLSX (colour-coded) for management.
Alert Snooze
Already handling a lot? Snooze its alerts until a future date. No alert fatigue.
Multi-Company Ready
Each company gets its own configuration, thresholds, recipients, and clearance location.
Role-Based Access
Managers configure everything. Users see dashboards and lots. Settings are manager-only.
ð¬ What Your Team Actually Receives
6 professionally styled email templates â each colour-coded by urgency level. Here is exactly what lands in your inbox.
ð¦ Expiry Alert â 30 Days
Dear Mitchell Admin,
The following lot will expire in approximately 30 days.
| Product | Vitamin D3 Tablets 60s |
| Lot | VD3-2026-001 |
| Expiry Date | 02 Jul 2026 |
| Days Left | 30 days |
| Qty on Hand | 200 Box |
| Cost at Risk | $1,400.00 |
Action: Begin planning to consume or discount this stock.
Product Expiry Alert Manager â Odoo 19
â ï¸ Expiry Warning â 15 Days
Dear Mitchell Admin,
The following lot expires in 15 days. Please take action now.
| Product | Omega-3 Fish Oil 90s |
| Lot | OMG-2026-WARN |
| Expiry Date | 17 Jun 2026 |
| Days Left | 15 days |
| Qty on Hand | 100 Bottle |
| Cost at Risk | $1,000.00 |
Recommended: Promotions or clearance transfer.
Product Expiry Alert Manager â Odoo 19
ð¨ CRITICAL â Expires in 7 Days!
Dear Mitchell Admin,
IMMEDIATE ACTION REQUIRED: This lot expires in 7 days.
| Product | Whey Protein 1kg |
| Lot | WPP-2026-RED |
| Expiry Date | 09 Jun 2026 |
| Days Left | 7 |
| Qty on Hand | 60 Bag |
| Cost at Risk | $1,680.00 |
â Draft clearance transfer auto-created. Process now.
Product Expiry Alert Manager â Odoo 19
ð¨ URGENT â 3 Days to Expiry!
CRITICAL: Lot WPP-2026-URG expires in 3 DAYS.
| Product | Whey Protein 1kg |
| Lot | WPP-2026-URG |
| Expiry Date | 05 Jun 2026 |
| Qty at Risk | 50 |
| Cost at Risk | $1,400.00 |
â Process clearance transfer or destroy IMMEDIATELY.
Product Expiry Alert Manager â Odoo 19
ð EXPIRES TOMORROW!
Lot OMG-2026-002 â Omega-3 Fish Oil expires TOMORROW.
| Product | Omega-3 Fish Oil 90s |
| Lot | OMG-2026-002 |
| Expiry Date | 03 Jun 2026 |
| Qty on Hand | 80 |
| Cost at Risk | $800.00 |
LAST CHANCE â Quarantine or destroy today.
Product Expiry Alert Manager â Odoo 19
ð Weekly Expiry Digest
NutriVita Distributors Pvt Ltd
Dear Mitchell Admin, here is your weekly summary:
| Tier | Lots | Action |
|---|---|---|
| ⬠EXPIRED | 4 | Write-off |
| ð´ CRITICAL | 12 | Clearance |
| ð¡ WARNING | 37 | Discount |
| ð¢ SAFE | 248 | Monitor |
Auto-sent every Monday 08:00 to all configured recipients.
Product Expiry Alert Manager â Odoo 19
â° Automated Alert Timeline
As each lot approaches its expiry, a sequence of escalating alerts fires automatically. No manual checking. No missed lots.
ð¬ Email Previews
ð EXPIRES TOMORROW!
Dear Mitchell Admin,
Lot OMG-2026-002 â Omega-3 Fish Oil Capsules expires TOMORROW.
| Product | Omega-3 Fish Oil 90s |
| Lot | OMG-2026-002 |
| Expiry Date | 03 Jun 2026 |
| Qty on Hand | 80 |
Product Expiry Alert Manager â Odoo 19
ð Weekly Expiry Digest
NutriVita Distributors Pvt Ltd
Dear Mitchell Admin, here is your weekly summary:
| Tier | Lots | Action |
|---|---|---|
| ⬠EXPIRED | 4 | Write-off |
| ð´ CRITICAL | 12 | Clearance |
| ð¡ WARNING | 37 | Discount |
| ð¢ SAFE | 248 | Monitor |
Who Is This Module For?
Pharmaceutical & Healthcare Distributors
Medicines, vaccines, supplements â strict expiry compliance is non-negotiable. Regulatory bodies demand it. This module enforces it automatically.
Food & Beverage Manufacturers
Dairy, bakery, chilled goods, packaged food â FEFO picking and near-expiry clearance alerts protect margins and food safety compliance.
FMCG & Cosmetics Companies
Skincare, haircare, personal care â batch-level expiry tracking with automated alerts prevents selling out-of-date products.
Chemical & Laboratory Suppliers
Reagents, solvents, calibration standards all have expiry dates. Lab-level traceability with zero extra effort.
Retail & E-commerce with Perishables
Selling to consumers? The expired-lot delivery block prevents chargebacks before they ever happen.
ð Up and Running in 10 Minutes
No custom code. No consultants. Just configure and go.
Install the Module
Go to Apps â Search "Product Expiry Alert Manager" â Install. All data, crons, and menus are pre-configured out of the box.
Enable Lot Tracking on Products
On each product's Inventory tab â Tracking = "By Lots", enable "Use Expiration Dates", set Expiration Time to your shelf life in days.
Create a Clearance Location
In Inventory â Configuration â Locations, add an internal location named "Clearance Zone". Near-expiry stock moves here automatically.
Configure Alert Settings
Go to Inventory â Expiry Alerts â Settings. Set your threshold days, clearance location, and add email recipients. Done.
Receive Stock with Lot Numbers
Validate receipts normally. Enter lot numbers and expiry dates. The system monitors every lot from that moment onwards â fully automatic.
ð Real-World ROI
ð¥ï¸ Feature Overview
âï¸ Technical Specifications
| Module Information | |
|---|---|
| Module Name | stock_expiry_alert_manager |
| Version | 19.0.1.0.0 |
| Compatibility | Odoo 19 Community Edition |
| License | LGPL-3 |
| Support | prudhvi.inumarthi99@gmail.com |
| Dependencies & What's Included | |
|---|---|
| Depends On | base, stock, product_expiry, mail |
| New Models | 4 (config, history, cost report, lot ext.) |
| Scheduled Actions | 3 auto crons (status, alerts, digest) |
| Email Templates | 7 QWeb templates (5 levels + manual + digest) |
| Views | 15 views (kanban, list, form, graph, pivot) |
Complete Feature Checklist
â Traffic-light Kanban Dashboard
â 5-tier tiered email alerts
â Auto clearance transfers
â Weekly digest email
â FIFO sort on delivery orders
â Expired lot validation block
â Bulk clearance wizard
â Cost at Risk report (3 views)
â PDF + XLSX export
â Full alert audit trail
â Alert snooze per lot
â Multi-company isolated config
â Category & location filters
â Manual alert wizard
â Role-based access control
â Frequently Asked Questions
Does this work with Odoo Enterprise?
Built for Odoo 19 Community Edition. Uses only CE-compatible models â no Enterprise-only dependencies.
What if a product doesn't have lot tracking?
The module only monitors lots with an expiry date. Products without lot tracking or "Use Expiration Dates" disabled are safely ignored.
Can I customise the alert thresholds?
Yes. Go to Inventory â Expiry Alerts â Settings and set your own GREEN/YELLOW/RED thresholds and exact alert trigger days.
Do I need a separate email server?
No. The module uses Odoo's standard outgoing mail server. Configure SMTP under Settings â Technical â Outgoing Mail Servers once.
Can I stop alerts for a lot I'm already handling?
Yes. Open the lot â Expiry Alerts tab â set "Snooze Alerts Until" to a future date. That lot is skipped by all crons until the date passes.
Prudhvi Inumarthi
Module Developer · Odoo 19 Specialist
Passionate about building enterprise-quality inventory tools for the Odoo Community ecosystem. Every feature in this module is battle-tested against real warehouse workflows â built to save time, prevent loss, and make stock management effortless.
âï¸ Support & Inquiries
prudhvi.inumarthi99@gmail.comStop Losing Money on Expired Stock
Install once. Configure in 10 minutes. Save every single month.
Join warehouses already running Product Expiry Alert Manager.
Odoo 19 Community Edition · LGPL-3 License · Support: prudhvi.inumarthi99@gmail.com
Please log in to comment on this module