| 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 traffic-light monitoring,
5-level email alerts and smart clearance transfers inside Odoo Inventory.
|
5
Alert Levels
|
3
Auto Crons
|
16
Features
|
100%
Odoo Native
|
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 check lot dates in spreadsheets. Time-consuming, error-prone, always one step behind.
â Product Expiry Alert Manager eliminates all three â
ð¦ Traffic-Light Expiry Dashboard
Every lot in your warehouse gets a live colour status. Kanban view â 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 before it becomes a loss.
Weekly Digest Email
Every Monday a summary emailed to management showing lot counts per tier â board-ready overview.
FIFO Sort on Picking
One click re-sorts delivery order lines oldest-expiry-first (FEFO) without any complex routing setup.
Expired Lot Block
Odoo blocks validation of any delivery order containing 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 or XLSX with colour-coded rows for management reporting.
Alert Snooze
Already handling a lot? Snooze its alerts until a future date. Stops alert fatigue with zero effort.
Multi-Company Ready
Each company gets its own configuration, thresholds, recipients and clearance location â fully isolated.
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.
ð¦ Expiry Alert â 30 Days
Dear Mitchell Admin,
| Product | Vitamin D3 Tablets |
| Lot | VD3-2026-001 |
| Expiry | 02 Jul 2026 |
| Days Left | 30 days |
| Cost at Risk | $1,400.00 |
Product Expiry Alert Manager â Odoo 19
â ï¸ Expiry Warning â 15 Days
The following lot expires in 15 days.
| Product | Omega-3 Fish Oil |
| Lot | OMG-2026-WARN |
| Expiry | 17 Jun 2026 |
| Days Left | 15 days |
| Cost at Risk | $1,000.00 |
Product Expiry Alert Manager â Odoo 19
ð¨ CRITICAL â Expires in 7 Days!
IMMEDIATE ACTION REQUIRED.
| Product | Whey Protein 1kg |
| Lot | WPP-2026-RED |
| Expiry | 09 Jun 2026 |
| Days Left | 7 |
| Cost at Risk | $1,680.00 |
Product Expiry Alert Manager â Odoo 19
ð¨ URGENT â 3 Days!
Lot WPP-2026-URG expires in 3 DAYS.
| Product | Whey Protein 1kg |
| Lot | WPP-2026-URG |
| Expiry | 05 Jun 2026 |
| Qty at Risk | 50 |
| Cost at Risk | $1,400.00 |
Product Expiry Alert Manager â Odoo 19
ð EXPIRES TOMORROW!
Lot OMG-2026-002 expires TOMORROW.
| Product | Omega-3 Fish Oil |
| Lot | OMG-2026-002 |
| Expiry | 03 Jun 2026 |
| Qty on Hand | 80 |
| Cost at Risk | $800.00 |
Product Expiry Alert Manager â Odoo 19
ð Weekly Expiry Digest
NutriVita Distributors Pvt Ltd
| Tier | Lots | Action |
|---|---|---|
| ⬠EXPIRED | 4 | Write-off |
| ð´ CRITICAL | 12 | Clearance |
| ð¡ WARNING | 37 | Discount |
| ð¢ SAFE | 248 | Monitor |
Product Expiry Alert Manager â Odoo 19
â° Automated Alert Timeline
As each lot approaches its expiry date, a sequence of escalating alerts fires automatically.
ð Up & Running in 10 Minutes
|
1
|
Install the ModuleApps â Search "Product Expiry Alert Manager" â Install. All crons and menus pre-configured. |
|
2
|
Enable Lot TrackingProduct â Inventory tab â Tracking = By Lots, enable Use Expiration Dates. |
|
3
|
Create Clearance LocationInventory â Locations â New â "Clearance Zone" (internal). Near-expiry stock auto-moves here. |
|
4
|
Configure SettingsInventory â Expiry Alerts â Settings. Set thresholds, clearance location and email recipients. |
|
5
|
Receive Stock â System Takes OverValidate receipts with lot numbers and expiry dates. 3 crons run daily â fully automatic from day one. |
Who Is This Module For?
| ð¥ |
Pharmaceutical & HealthcareMedicines, vaccines, supplements â strict expiry compliance enforced automatically. |
| ð¥ |
Food & Beverage ManufacturersDairy, bakery, chilled goods â FEFO picking and near-expiry alerts protect margins. |
| ð |
FMCG & CosmeticsSkincare, haircare â batch-level expiry tracking prevents selling out-of-date products. |
| ð¬ |
Chemical & Laboratory SuppliersReagents, solvents, calibration standards â lab-level traceability with zero extra effort. |
| ð |
Retail & E-commerce with PerishablesThe expired-lot delivery block prevents chargebacks before they ever happen. |
ð Real-World ROI
| â 2% expiry write-off prevented | â¹1L/month saved |
| â 0 expired lots shipped | Hard block |
| â Setup time from install | 10 minutes |
âï¸ Technical Specifications
| Module Information | |
|---|---|
| Module Name | stock_expiry_alert_manager |
| Version | 19.0.1.0.0 |
| Compatibility | Odoo 19 Community Edition |
| License | LGPL-3 |
| Depends On | base, stock, product_expiry, mail |
| What's Included | |
|---|---|
| New Models | 4 (config, history, cost report, lot) |
| Scheduled Actions | 3 auto crons (status, alerts, digest) |
| Email Templates | 7 QWeb (5 levels + manual + digest) |
| Views | 15 (kanban, list, form, graph, pivot) |
| Security | Manager + User groups + record rules |
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.
Can I customise the alert thresholds?
Yes. Go to Inventory â Expiry Alerts â Settings and set your own GREEN/YELLOW/RED thresholds and alert trigger days.
Do I need a separate email server?
No. Uses Odoo's standard outgoing mail server. Configure SMTP under Settings â Technical â Outgoing Mail Servers once.
What if a product doesn't have lot tracking?
Only lots with an expiry date are monitored. Products without lot tracking or "Use Expiration Dates" are safely ignored.
Can I stop alerts for a lot I'm handling?
Yes. Open the lot â Expiry Alerts tab â set "Snooze Alerts Until" â that lot is skipped by all crons until the date passes.
Does it block expired lots on internal transfers?
No â only outgoing (customer) deliveries are blocked. Internal clearance transfers for expired stock are explicitly allowed.
Prudhvi Inumarthi
Module Developer · Odoo 19 Specialist
Passionate about building enterprise-quality inventory tools for the Odoo Community ecosystem. Every feature is battle-tested against real warehouse workflows.
âï¸ Support & Inquiries
prudhvi.inumarthi99@gmail.comStop Losing Money on Expired Stock
Install once. Configure in 10 minutes. Save every single month.
ð¦ Install NowOdoo 19 Community Edition · LGPL-3 · prudhvi.inumarthi99@gmail.com
Please log in to comment on this module