FIFO vs FEFO is a choice about which date decides what leaves the shelf first. FIFO, first in first out, sends out the stock you received first. FEFO, first expired first out, sends out the stock with the earliest expiry or best-before date first, whenever it arrived. When each delivery carries a later date than the one before, both give the same order. They part ways when a newer delivery arrives with a shorter date, and only FEFO puts that lot first.
Use FIFO when the date received is the best guide to a product's age. Use FEFO when the date on the pack matters more than the delivery date, as it does for most food. This free stock rotation planner works either way. Enter each lot's item, lot or batch code, quantity, date received, expiry or best-before date and shelf. Choose FIFO or FEFO, then set an as-of date and a near-expiry warning window. The planner lists the pick and sell order for each item, flags lots near their date and lots already past it, and prints a shelf rotation sheet grouped by item. The editable sample is a fictional shop's stock as of November 9, 2026.
Make a stock rotation sheet
- Give the sheet a title and, if you like, the business name.
- Set the As of date, the day you will rotate the shelves. Every status is worked out against this date, so a printed sheet stays true for the day it describes.
- Choose the rotation method, FEFO or FIFO.
- Set the near-expiry warning window, from 0 to 365 days. With 3 days, a lot dated on the as-of date or in the 3 days after it is flagged as near expiry.
- Add each lot: the item, the lot or batch code from the case or label, the quantity, the date received, the expiry or best-before date if it has one, and the location or shelf. Use the same item name for every lot of a product so its lots are ordered together. The copy button on a lot adds another lot of the same item at the same location.
- Review the rotation check and the sheet, then print or download. A sheet holds up to 60 lots.
A date received after the as-of date, or an expiry date before the date received, is flagged on the lot so you can check it. Use Start blank for your own stock or Reset sample to see the example again.
How the planner orders each item's lots
Under FEFO, the lot with the earliest date comes first. Lots with no date follow the dated ones, oldest received first. Under FIFO, the lot received first comes first, and lots received on the same day go out earliest date first. Lots of different items are never compared.
A lot dated before the as-of date is Expired. It is listed at the top of its item, marked Pull with no pick number, because it should come off sale for checking rather than be sold next. A lot dated on the as-of date or within the warning window is Near expiry. A later date is In date, and a lot without one shows No date.
Greek yogurt in the sample shows why the method matters. Lot GY-2210 arrived on October 30 with a use-by date of November 14. Lot GY-2245 arrived later, on November 4, but its use-by date is November 10. Under FEFO, GY-2245 is first in the pick order and flagged near expiry, 1 day out. Switch the sheet to FIFO and GY-2210 moves to first, and the rotation check warns that GY-2245 expires sooner than the lot ahead of it. Lot GY-2198, dated November 7, is 2 days past its date and is marked Pull under either method. The canvas totes have no dates, so they go out in the order they arrived under both.
Rotate stock on the shelf
A plan helps only if the shelf matches it. When a delivery arrives, compare its dates with the stock already on the shelf; the delivery receiving checklist covers that check. Put the lot that goes out first at the front and newer stock behind it or in the stockroom. Under FEFO, a short-dated lot that arrives after an older one still goes to the front. Check short-dated lines such as chilled food every day, and other lines when you restock.
Help near-expiry lots sell first, for example with a reduced price label from the shelf label maker. Record what you pull and what is left with the stocktake tool, and plan regular date checks with the cycle count planner. The ABC inventory analyzer shows which products carry the most value, which can help you decide where to check most often.
Food date labels and the rules where you are
Date labels, and the rules on selling food past them, vary by country and state. This planner does not check them, and this page is not legal advice. In the UK, GOV.UK's guide to best before and use-by dates explains that use-by dates relate to safety and best-before dates to quality. In the United States, regulators use the FDA Food Code as a model for their own retail food rules, so check the version your state or local health department follows. Never sell food past its use-by date.
The planner treats every date the same way, whether the pack says use by, best before or expiry. Enter the date that matters for the product, and follow the rules for that kind of date where you sell.
Print the rotation sheet or download it
Print / PDF opens the browser's print dialog, where you can choose a printer or save a PDF. The printout has one section per item, with the pick order, lot, quantity, dates, status and location of every lot and a box to tick when it is done. Status marks keep a black-and-white printout readable: a cross for expired, an exclamation mark for near expiry, a tick for in date and a dash for no date.
The CSV has one row per lot, with its item, pick order, status and the days left or past its date. The text download holds the same sheet as plain text.
The draft stays in this browser tab when browser storage is available. Download a copy before closing the tab. Nothing is uploaded, and the planner does not change any stock records.
Frequently asked questions
Can I plan stock rotation without an account?
Yes. The planner runs in your browser and needs no sign-up. Print or download the sheet to keep it.
Is FIFO stock rotation enough for food?
It works while each delivery carries a later date than the last. It falls short when a newer delivery arrives with a shorter date, which happens with chilled and fresh food. FEFO covers that case, and because it breaks ties by the date received, it gives the same order as FIFO whenever the dates follow delivery order.
Is this the same FIFO used in inventory accounting?
No. In accounting, FIFO is a way to value stock and the cost of goods sold. This planner is about the physical order in which lots leave the shelf. It does not value stock or work out costs.
What happens to lots with no expiry date?
Under FIFO they take their place by date received. Under FEFO they go after the item's dated lots, oldest received first, and the rotation check lists them so you can add a date if the pack has one.
Does the planner remind me when stock is about to expire?
No. It shows status against the as-of date you set. Change that date when you next rotate the shelves, then print a fresh sheet.