Not everything a manufacturer holds lasts indefinitely. Some materials and products have a shelf life, and managing that is essential. This piece is about expiry date tracking for manufactured products in Odoo.
What expiry tracking addresses
Many products and materials are perishable: they have a date beyond which they should not be used or sold. This is most obvious in food, beverages, and pharmaceuticals, but it applies to many chemicals, materials, and goods. For a manufacturer dealing with perishable items, two things must not happen: an expired material must not be consumed into production, and an expired product must not be sold to a customer. Expiry date tracking is what makes sure neither does, by keeping the system aware of the dates and acting on them.
How expiry tracking works in Odoo
Odoo supports expiry date tracking, and it works together with lot tracking. Because perishable items are tracked by lot, each lot can carry its dates, including when it expires. Odoo then uses those dates: it can keep visibility of stock and its expiry, support using older stock before newer stock so things are used in date order, and help ensure that expired material is not used in production and expired product is not sold. The dates are not just recorded; they actively inform how stock is handled.
Expiry on both ends of manufacturing
For a manufacturer, expiry tracking matters on both ends of production. On the input end, the components and materials may be perishable, and the manufacturer must not consume an expired material into production. On the output end, the finished products may themselves be perishable, with their own expiry dates set when they are produced, and the manufacturer must not ship an expired product. Expiry tracking in manufacturing covers both: the perishable inputs going into production, and the perishable outputs coming out of it. And there is a relationship between them, the expiry of a finished product is related to the production and the materials it was made from, which is part of why expiry tracking and lot traceability work together.
Stock rotation: using things in date order
A central practice that expiry tracking supports is stock rotation: using stock in date order, so that the items closest to expiry are used first and nothing is left to expire on the shelf while newer stock is used ahead of it. Odoo can support this, removing or using stock by expiry order, so that, naturally, the oldest, soonest-to-expire stock goes first. For a manufacturer with perishable items, good stock rotation is what minimises the amount that expires unused, which is both waste avoided and, often, a safety matter. Expiry tracking is what makes proper stock rotation possible, because rotation by date needs the dates to be known.
Why expiry tracking is not optional for perishables
For a manufacturer dealing with genuinely perishable materials and products, expiry tracking is not a refinement; it is essential. Consuming an expired material into production can mean a defective or unsafe product. Shipping an expired product to a customer can mean a serious problem, a safety issue, a regulatory breach, a damaged relationship. A manufacturer of perishable goods that does not track expiry in its system is managing expiry by hand and memory, and that will, eventually, fail. Expiry tracking builds the dates into how the system handles stock, so the protection is automatic rather than dependent on someone remembering. For a perishable-goods manufacturer, this is a core capability, not an extra.
The takeaway
Expiry date tracking in Odoo manages perishable materials and products by carrying expiry dates on lots and using those dates to keep stock visible by expiry, support using stock in date order, and help prevent expired material being consumed or expired product being sold. It matters on both ends of manufacturing, the perishable inputs and the perishable outputs, and it works together with lot tracking. It supports proper stock rotation, minimising what expires unused. For a manufacturer of genuinely perishable goods, expiry tracking is essential, not optional. For how we approach Odoo for manufacturers, see our manufacturing work.