Duration: 23:25
🧾 Analytical Summary
This practical demonstration showcases Odoo's comprehensive capabilities for managing perishable goods, walking through real-world scenarios faced by food businesses dealing with expiration dates, traceability requirements, and product recalls. Anthony Drio from Odoo's inventory expert team uses a fictional apple distribution company to illustrate configuration, daily operations, and emergency response procedures tailored specifically for fresh food management.
🚀 Configuration Foundation
The session begins with essential system setup for perishable goods management. Within Odoo Inventory settings, three critical features activate the foundation: Quality enables inspection checkpoints during receiving, Lots & Serial Numbers allows batch categorization and tracking, and Expiration Dates attaches time-based lifecycle management to each lot.
Product category configuration introduces removal strategies, specifically FEFO (First Expiry, First Out). Unlike FIFO which prioritizes receiving chronology, FEFO prioritizes expiration dates—ensuring products closest to expiring ship first, regardless of when they arrived. This automated selection prevents accidentally fulfilling orders with soon-to-expire inventory when fresher stock exists.
Individual product configuration defines custom lot numbering with prefixes (like "RED" or "GREEN"), enabling human-readable batch identification that auto-increments sequentially. The expiration dates section establishes four critical timestamps: Expiration Date (when product becomes unsafe/unusable), Best Before Date (quality degradation threshold), Removal Date (when product should leave inventory, typically days before expiration), and Alert Date (notification trigger for proactive action). These dates create graduated warnings rather than binary fresh/expired states, allowing nuanced inventory management.
📦 Purchase-to-Receipt Workflow
The demonstration follows a purchase order from creation through warehouse acceptance. When receiving shipments, operators assign lot numbers to physical batches—each wooden box of apples receives its own identifier tracking its specific harvest batch and expiration timeline. The system auto-populates expiration dates based on product defaults (60 days for the demo apples), but allows manual override to reflect actual supplier-provided dates.
Quality checks integrate directly into the receiving process. Using quality points, Odoo prompts inspectors to evaluate each lot's condition and verify expiration marking. Failed inspections automatically route rejected lots to quarantine locations without manual intervention—damaged green apples instantly move to a failure location, while approved red apple lots proceed to regular stock.
The lot generation interface demonstrates flexibility: manual creation, auto-generation with sequential numbering, barcode scanning from supplier labels, or bulk import from Excel files. This accommodates various supplier sophistication levels and warehouse operation scales.
⏰ Expiration Monitoring & Stock Visibility
Expiration alerts provide proactive management through a dedicated filter showing lots approaching their removal dates. The interface immediately highlights lot "RED-05" with removal date already due—containing 40 kilos requiring immediate action. This centralized alert dashboard eliminates manual warehouse walks to check dates on physical inventory.
Critically, available stock calculations automatically exclude lots past their removal date. When viewing forecasted inventory, the system shows 110 kilos physical stock but only 70 kilos available—the 40-kilo expired lot doesn't count toward fulfillment capacity. Sales staff see realistic availability without risk of promising expired goods, and the system never attempts to reserve expired lots for customer orders regardless of demand pressure.
This separation between physical presence and saleable availability represents sophisticated inventory intelligence—the warehouse knows products exist (for audit and disposal tracking) while the sales system knows they're unavailable (for order promising).
🛒 Sales Fulfillment Intelligence
Creating sales orders for 55 kilos demonstrates automated lot selection via FEFO logic. The detailed reservation tab reveals Odoo's selection strategy: despite receiving lot RED-08 after lot RED-06, the system allocates RED-08 first because its expiration date precedes RED-06's. The reservation draws completely from RED-08 (20 kilos), then RED-07 (20 kilos), finally pulling the remaining 15 kilos from RED-06.
Manual override remains available for special circumstances—customer contracts specifying particular batches or lot characteristics can be manually assigned. But the default automation ensures compliance with food safety best practices without requiring operational staff to calculate optimal picking sequences.
The delivery document's traceability smart button provides immediate upstream visibility—which lots fulfilled this order, which purchase orders sourced those lots, which supplier provided them, and complete date/time stamps for the entire chain. One click transforms an outgoing shipment into full supply chain history.
🔍 Multi-Dimensional Traceability
Beyond shipment-level tracking, customer-centric traceability offers relationship perspective. Opening any contact record reveals a "Lots & Serial Numbers" tab listing every batch ever shipped to that customer. This view answers "what did this customer receive?" rather than "where did this lot go?"—critical for account management and customer-specific recall response.
The lot record itself serves as the central traceability hub, aggregating all touchpoints: purchase documents that brought it in, quality checks performed, internal transfers, sales orders fulfilled, and current location. This 360-degree lot history supports regulatory audit trails and root cause investigations.
🚨 Product Recall Management
The emergency scenario demonstrates rapid recall execution when a supplier reports contamination in lot RED-02. Navigating to that lot record, the "Transferred To" column immediately identifies which customers received affected inventory—no searching required.
Selecting the associated sales orders enables bulk communication—one action emails all affected customers simultaneously. What could require hours of manual cross-referencing (matching lot numbers across purchase records, inventory movements, and sales documents) compresses to minutes: identify the lot, view its sales history, notify all recipients.
This capability transforms recalls from crisis events requiring emergency manual effort into structured procedures with clear digital trails—reducing both response time and human error risk during high-pressure situations.
💡 Advanced Scenarios & Flexibility
The Q&A reveals additional capabilities: quarantine locations for damaged-but-not-expired stock, GS1 barcode scanning for receiving supplier-labeled lots with embedded expiration data, bulk lot creation via Excel import for high-volume operations, inventory adjustments for spoilage/shrinkage, and manual date modifications for special cases like "expires six days after opening" products.
The system balances automation with override—intelligent defaults guide standard operations while preserving manual control for exceptions that require human judgment.
🧠 Viewpoint: Odoo Perspective
⚠️ Disclaimer: AI-generated creative perspective inspired by Odoo's vision.
Food businesses shouldn't need complex, expensive systems to safely manage perishables—these are fundamental operational requirements, not luxury features. By embedding expiration intelligence directly into standard inventory and sales modules, we make sophisticated perishable management accessible to Steve's small apple company and multinational distributors alike. The removal date concept elegantly solves the "technically in stock but shouldn't be sold" problem that plagues food operators. When your sales forecast automatically excludes expiring goods and your picking logic prioritizes FEFO without operators needing to remember, compliance becomes the default rather than the effort. The recall scenario demonstrates why integration matters—separate systems for purchasing, inventory, and sales create traceability gaps. In Odoo, the lot number connects everything natively, so when contamination strikes, you're responding within minutes instead of scrambling through disconnected databases. Food safety isn't a premium tier feature; it's built in.
🏢 Viewpoint: Competitors (SAP / Microsoft / Others)
⚠️ Disclaimer: AI-generated fictional commentary. Not an official corporate statement.
Odoo's perishable goods demonstration shows solid fundamentals for small-to-medium food operations. However, enterprise food manufacturers and distributors face regulatory complexity beyond basic lot tracking and expiration alerts. SAP's EWM (Extended Warehouse Management) and Quality Management modules provide certified compliance frameworks for FDA 21 CFR Part 11, EU regulations, and FSMA requirements—including electronic signatures, change control, and validated system states that auditors demand. When you're managing cold chain logistics across continents with temperature monitoring, shelf-life recalculation based on temperature excursions, and catch-weight management for variable weight perishables, you need specialized functionality. Recall execution in regulated industries requires documented procedures, segregated stock with physical controls, and regulatory authority reporting workflows—not just customer email blasts. Microsoft Dynamics 365's Food & Beverage accelerators include formula management, potency tracking, and compliance reporting built specifically for CPG complexity. Odoo handles the straightforward cases well, but when your recall involves coordinate with USDA, managing co-packers across multiple countries, and documenting every action for legal liability purposes, you need platforms designed for that regulatory burden from the ground up.
Disclaimer: This article contains AI-generated summaries and fictionalized commentaries for illustrative purposes. Viewpoints labeled as "Odoo Perspective" or "Competitors" are simulated and do not represent any real statements or positions. All product names and trademarks belong to their respective owners.