A practical guide for beauty brand operators who need older stock to ship before fresher stock, written from the warehouse floor rather than the lab.
Cosmetics expiry and PAO tracking in an inventory system means recording either the minimum durability date (for products with a shelf life of 30 months or less) or the manufacture date plus the maximum shelf-life period (for products with a shelf life over 30 months that carry only a PAO symbol), then using that date to enforce FEFO picking and trigger write-off alerts. The system surfaces near-dated stock at pick time so older stock ships before fresher stock.
Picture the stock you are actually holding right now. A few pallets of serum in the main warehouse, a run of body lotion sitting at a 3PL, a batch of lip balm that came in three months ago and has not moved. You want the oldest stock to leave first, because the alternative is a write-off and a customer receiving something closer to the end of its life than it should be. That is a normal, reasonable goal. Cosmetics just make it harder than most categories, because there are two completely different date concepts on the packaging and they do not behave the same way in a warehouse.
Some of your products carry a printed best-before date. Most of them carry an open-jar symbol with a number of months next to it, and that number is a consumer instruction about how long the product stays good after someone opens the jar. It is not a warehouse date. Neither concept is intuitive to manage in a spreadsheet or a basic inventory tool, and conflating them is how near-dated stock quietly ages out in a location nobody was watching. This guide walks through both, and how an inventory system can act on each one.
What are the two expiry frameworks in cosmetics: minimum durability date vs. PAO?
Cosmetics inventory has two distinct expiry concepts, and most operators treat them as one. Under EU Regulation 1223/2009, a product’s shelf life determines which mark it carries. Products that keep for 30 months or less show a minimum durability date under Article 19(1)(c). Products that keep for longer than 30 months are exempt from that date and instead show a period-after-opening symbol under Article 19(1)(d). One of these is a warehouse date you can act on directly. The other is not. Getting the distinction right is the whole job.
This is orientation for inventory operators, not regulatory advice. Your regulatory advisor or responsible person owns the shelf-life determination for each product; what follows is about how to hold those dates in stock and pick against them.

What is the minimum durability date (DMD) and how does it work for inventory?
The minimum durability date is the closest thing cosmetics have to a classic expiry date. It applies to products with a shelf life of 30 months or less, it is shown by the hourglass symbol followed by “best before the end of” and a date, and it is a fixed calendar date set at manufacture. The manufacturer arrives at it through stability testing, not by product category. Some formulations tend toward shorter shelf life, for example certain preservative-free ranges or products with oxidation-sensitive actives, but the date comes from testing a specific formula in specific packaging, not from a rule about what type of product it is.
For inventory, this is the easy case. The date is real, fixed, and printed. You capture it at receiving, hold it against the lot, and use it directly for FEFO picking and expiry alerts. Standard dated-stock management applies. The one discipline that matters is capturing it accurately at intake, because everything downstream reads from that field. Do not assume which of your products fall under the 30-month line; that is a per-product determination you confirm with whoever owns your product data.
What is PAO (period after opening) and what does it mean for warehouse rotation?
Products that keep for longer than 30 months are exempt from the minimum durability date and instead display the period after opening, or PAO. It is the open-jar symbol with a number of months beside it, so “12M” means the product is intended to stay good for twelve months after a consumer first opens it. That definition is doing a lot of work, so it is worth being precise about what a PAO is not, from an inventory point of view.
A PAO is not a fixed calendar expiry date set at manufacture. It does not start counting until a consumer opens the product. And it cannot be applied directly as a FEFO rotation date in a warehouse full of unopened stock, because none of that clock has started. What a PAO actually is: a consumer safety instruction that the manufacturer derived from stability testing. That same testing also tells the manufacturer the maximum shelf life of the product before it is opened. That pre-opening maximum shelf life, not the open-jar number, is what your inventory system can work with.
Some products carry neither mark. The PAO requirement has exemptions: single-use or single-dose products; products in sealed containers that prevent contact between the product and the outside environment during use, such as pump dispensers and pressurized aerosols; and products where there is no risk of deterioration once opened. If a product is exempt and also keeps for more than 30 months, it may show no date and no open jar at all, which is its own thing to reconcile in your records.
How do you manage PAO-only products in a warehouse using the 30-month threshold?
Here is the question that actually stops people. A product carries no printed expiry date, only a “12M” open jar. How do you run FEFO on it? You cannot rotate on a clock that has not started.
The common industry approach is to build a proxy date from two pieces of information you can get. First, the manufacture date, which is usually encoded in the batch number or printed on the pack. Second, the manufacturer’s internal maximum shelf-life figure, the pre-opening period that their stability testing established and that underpins the PAO in the first place. Add the shelf-life period to the manufacture date and you have a proxy expiry date for the lot. If a body lotion shows a 12M PAO but the manufacturer determined a 36-month maximum shelf life from manufacture, you track the manufacture date on the lot, add 36 months, and that computed date becomes the FEFO rotation date for that lot.
The critical mistake to avoid is treating “12M” as if it were the shelf life and dating your stock twelve months from receiving. That would systematically understate how long unopened stock is actually good for and drive premature write-offs. Distributors and 3PLs handling multiple brands should ask suppliers for both the manufacture date and the maximum shelf-life period, and put that on the delivery documentation, so the proxy can be calculated consistently across every brand they hold.
How does FEFO picking for cosmetics work and why does it matter?
FEFO, first expired first out, is the operational best practice for any stock that carries a date. It is not named in EU Regulation 1223/2009 or any cosmetics rule; the regulation deals with batch identification and record-keeping, and FEFO is simply how a well-run warehouse acts on those records. It covers the short-shelf-life segment through the minimum durability date and, via the manufacture-date proxy, the long-shelf-life PAO segment as well.
The reason to bother is concrete. FEFO cuts write-offs by moving the oldest stock first, it keeps end-of-life product from reaching customers, and it makes recall isolation far simpler because you already know which lot is where. Mechanically it is straightforward: the expiry date (real or proxy) is recorded at receiving, the system prioritizes picks from the lot with the earliest date, and the picker sees the lot and its date on the pick list rather than guessing. For the general mechanics beyond the cosmetics case, see our deeper walkthrough of FEFO picking software. This page is the cosmetics-specific application, and it links up to the broader cosmetics inventory management software guide if you want the full operational picture.
How do expiry alerts catch near-dated stock before it becomes write-off?
Picking in the right order only helps if the stock is moving. When it is not, you want to know before the date passes, not after. Proactive expiry alerts do that: you set a threshold, say ninety days to expiry, and the system flags lots crossing it. For cosmetics this matters most on PAO-only products, where a lot can quietly reach its internal shelf-life limit without any printed date on the shelf to prompt anyone. Without system-level visibility, that is exactly the stock that becomes waste. Qoblex surfaces this directly, with automated expiry alerts and write-off tracking on the lot and expiry tracking side of the product, so near-dated lots raise their hand while there is still time to act.
How does multi-location expiry visibility prevent hidden write-offs?
Growth tends to add a second warehouse or a 3PL before it adds anything else, and a lot that expires in a 3PL is exactly as much a write-off as one expiring in your own building. Expiry visibility has to span every location at once, or the near-dated stock you are not looking at becomes the write-off you did not see coming. The point of tracking dates across locations is that “what is nearing expiry” is a single question with one answer, not a separate spreadsheet per site.
How does Qoblex handle cosmetics expiry and PAO tracking?
With the problem laid out, here is where Qoblex fits. It works in the two modes the packaging demands. For a product with a minimum durability date, you record the actual expiry date at receiving and the system uses it directly for FEFO and alerts. For a PAO-only product, you record the manufacture date at the lot level and, if you want, an internally calculated proxy expiry date, and that date drives the same FEFO rotation and alert logic. The confirmed capabilities on qoblex.com/lot-tracking/ are near-expiry visibility across all locations, FEFO-driven picking, automated expiry alerts and write-off tracking, and multi-warehouse support.
Qoblex tracks the dates you enter. It does not calculate PAO periods from formulation data, run stability testing, or author the shelf-life determination. That work belongs to your quality and regulatory function. The system stores and acts on what the operator records, which is the right division of labor.
Lot, batch, and expiry tracking is a paid add-on rather than part of the base plan; current plan structure and pricing live on qoblex.com/pricing/. Because Qoblex sits alongside your accounting platform and sales channels rather than replacing them, it fills the lot and expiry layer without touching your book of record.
When is a spreadsheet or basic inventory tool still sufficient for cosmetics?
Not every cosmetics operator needs dedicated software for this today, and it is worth being honest about who does not.
If you are a very early-stage brand with a single short-shelf-life product line, every product carries a minimum durability date, you are under roughly fifteen SKUs in one location, and you personally manage picking, a well-kept spreadsheet with a dated receipt column and a weekly expiry review can genuinely still work. The dates are all real and printed, and you can hold the whole picture in your head.
If your entire range is extremely shelf-stable, some high-alcohol fragrances and anhydrous products fall here, and no product realistically risks expiring before it sells, then FEFO buys you little. Rotation only pays off when something can go out of date on the shelf.
And if you are a 3PL or contract manufacturer whose clients supply all the lot and expiry data, and the brand already runs an inventory system that covers it, adding a second system just to hold the same dates creates duplication rather than control. Spreadsheets are not the enemy here; they helped these businesses get moving, and the point is that the problem this page describes is not yet painful enough to justify the tooling. It usually becomes painful when the SKU count climbs, a second location appears, or the mix of dated and PAO-only products grows past what one person can track by hand.
Frequently asked questions
What is the difference between a PAO date and an expiry date on cosmetics?
A minimum durability date (the hourglass symbol) is a fixed calendar date set at manufacture and applies to products with a shelf life of 30 months or less. A PAO (the open-jar symbol, for example 12M) applies to products with a shelf life over 30 months and indicates how long the product is safe after the consumer first opens it. Only the minimum durability date is directly usable as a warehouse rotation date. For PAO-only products, the manufacture date plus the manufacturer’s internal maximum shelf-life period is used as the inventory rotation proxy.
Can I use the PAO number (e.g. 12M) as an expiry date in my inventory system?
No. The PAO period starts when a consumer opens the product, not when it was manufactured or when it arrived in your warehouse. Using 12M from the receiving date would systematically understate the actual shelf life of unopened stock. The correct approach for warehouse rotation is the manufacture date plus the manufacturer’s maximum shelf-life period (the same period that informed the PAO determination) as the proxy expiry date.
Is FEFO required by EU Cosmetics Regulation 1223/2009?
No. FEFO (first expired first out) is not named as a requirement in EU Regulation 1223/2009. It is an operational best practice for any inventory with dated stock. The regulation requires batch identification and record-keeping; FEFO is how a well-run warehouse implements those records in practice.
Which cosmetics products need a minimum durability date (best-before date)?
Products with a shelf life of 30 months or less, as determined by the manufacturer through stability testing. The regulation does not prescribe which product types fall above or below 30 months; that is a product-by-product determination based on formulation and packaging. Confirm your specific product’s shelf-life determination with your regulatory advisor.
How do you track expiry for cosmetics products that only carry a PAO symbol?
Record the manufacture date at lot receiving. Store the manufacturer’s maximum shelf-life period (the figure from stability testing that underlies the PAO) in your product records. Add the two to compute a proxy expiry date for each lot, and use that date for FEFO rotation and expiry alerts. Request the manufacture date and shelf-life period from your supplier if they are not already on the delivery documentation.
Which cosmetics products are exempt from the PAO requirement?
Under EU Regulation 1223/2009 Article 19(1)(d), exemptions include single-use or single-dose products; products in sealed containers that prevent contact between the product and the external environment during use (such as pump dispensers and pressurized aerosols); and products where there is no risk of deterioration once opened. These products may carry neither a minimum durability date nor a PAO.
Can Shopify or QuickBooks Online track cosmetics lot numbers and enforce FEFO picking?
For most cosmetics operators, no. Accounting platforms such as QuickBooks Online and Xero, and ecommerce platforms such as Shopify, do not natively track lot numbers, manufacture dates, or expiry dates, or enforce FEFO picking. See our note on the Shopify lot and expiry tracking gap for the ecommerce side. An inventory management system that runs alongside those tools fills the expiry and lot layer without replacing the financial book of record or the sales channel.

