Food Manufacturing Inventory Management Software: A Practical Guide
Generic inventory apps track quantities. Food manufacturing needs lot genealogy, shelf-life logic, allergen control and recall-ready records — the things spreadsheets and off-the-shelf stock tools quietly can't hold. This guide covers what good looks like feature by feature, and how a right-sized, owned system delivers food-grade traceability without a full ERP.
Food manufacturing inventory management software records stock by lot, date and status rather than by product code and quantity alone. It has to show which supplier lots went into which finished batches, which customers received them, how much life each lot has left, what is on hold, and where allergenic ingredients are stored.
The practical problem is that the information that matters on a bad day often sits outside the stock system. Lot numbers are written on delivery notes, use-by dates live in a spreadsheet, held pallets are marked with tape and allergen storage depends on people remembering which shelf is which. Each workaround holds up until a supplier reports a problem lot, a short-dated delivery gets buried behind older stock, or a stock count shows 12.5 kg missing from the lot you now need to trace.

Cases that look identical can carry different lots, dates and statuses, and food inventory software has to tell them apart. Illustrative photograph from a US food bank warehouse, not an OpsMavix project.
Image credit: U.S. Department of Agriculture, Public Domain Mark 1.0. No edits.
Key Takeaways
- Hold stock at lot level, with the supplier lot captured at goods in, or no later step can trace it reliably.
- Pick and issue by earliest expiry (FEFO), because the oldest delivery is not always the shortest dated.
- Treat use-by and best before differently: food past its use-by date is deemed unsafe and cannot be sold.
- Make hold, quarantine and release statuses system controls that block issue and despatch, not labels on a pallet.
- Store count and weight together for catch weight items, and convert purchase, stock and recipe units consistently.
- Test the system with a mock recall and a mass balance, then use cycle counts to keep lot quantities accurate.
In this guide:
- 1. Know What Food Inventory Has to Hold
- 2. Trace Lots One Step Back and One Step Forward
- 3. Rotate Stock by Expiry With FEFO
- 4. Manage Date Codes and Shelf Life
- 5. Control Holds Quarantine and Allergen Storage
- 6. Handle Catch Weights and Units of Measure
- 7. Run a Mock Recall and Keep Stock Accurate
- 8. Connect Inventory to Purchasing and Accounting
- Frequently Asked Questions
- How OpsMavix Can Help
1. Know What Food Inventory Has to Hold
Make the lot the unit of stock
A general stock system answers “how many of item X do we have?”. A food manufacturer needs “how many in each lot, where, expiring when, and can we use it?”. Two pallets with the same product code can be a released lot with nine days of life and a held lot awaiting a test result. If the system cannot separate them, people do it by memory and marker pen.
Our guide to ERP software for food manufacturing covers the wider system, including recipes, HACCP records and batch costing. This guide stays with the stock itself: lots, dates, statuses, units and the records that connect them to purchasing and accounting.
2. Trace Lots One Step Back and One Step Forward
Know the legal baseline
In Great Britain, traceability rests on Article 18 of Regulation (EC) No 178/2002 as retained in GB law. Food business operators must be able to identify any person who supplied them with a food or ingredient, must have systems to identify the businesses they supplied, and must make that information available to the competent authorities on demand. Food placed on the market in Great Britain must be adequately labelled or identified to facilitate its traceability.
The FSA and Food Standards Scotland guidance on traceability, withdrawals and recalls lists the information to keep: the name and address of the supplier or customer, details of the product and the quantity supplied, and the date of the transaction and delivery. It describes internal traceability, linking raw material batches to production batches, as best practice rather than a legal requirement, and says that defining batches is essential for good traceability.
Why the internal link decides the size of a withdrawal
Article 14(6) of the same regulation says that where unsafe food is part of a batch, lot or consignment, all the food in it is presumed unsafe unless a detailed assessment finds no evidence that the rest is unsafe. In inventory terms, lot size and lot links decide how much stock gets caught. If production records only say “milk powder used this week”, every product made that week is in scope. If they record the specific lot consumed by each batch, the trace narrows to the batches that actually used it.
The stock movements that must carry a lot
- Goods in records the supplier, supplier lot, quantity, date received and your own internal lot.
- Put away and moves keep the lot and record the new location.
- Issues to production name the lot consumed, including part bags and decanted containers.
- Production output creates a finished lot linked to every input lot.
- Rework, returns and samples keep their lot history rather than becoming “miscellaneous”.
- Despatch records the finished lots and quantities sent to each customer.
The FSA guidance leaves the retention period to the business unless specific legislation applies, and recommends as best practice keeping records for prepacked food for the shelf life plus at least 12 months. For more on the mechanics of lot records, see our guide to batch and lot tracking.
3. Rotate Stock by Expiry With FEFO
FIFO and FEFO are not the same rule
First in, first out (FIFO) uses the oldest receipt first. First expired, first out (FEFO) uses the earliest expiry first. They usually agree, which is why the difference is easy to miss. They disagree when a delivery arrives with less life than stock already on the shelf, or when finished lots are made out of sequence.
Work through a hypothetical FEFO example
The following figures are hypothetical.
A manufacturer uses a chilled cream cheese ingredient at 30 kg per day. On 14 October it holds two lots:
| Lot | Received | Use-by | Quantity |
|---|---|---|---|
| Lot A | 2 October | 24 October | 120 kg |
| Lot B | 6 October | 20 October | 80 kg |
Lot B arrived later but expires first.
Issued by FIFO: Lot A covers 15 to 18 October (4 days × 30 kg = 120 kg). Lot B is then used on 19 and 20 October (2 days × 30 kg = 60 kg). On 21 October, 20 kg of Lot B (80 kg − 60 kg) is past its use-by date and has to be written off. At a hypothetical £6.50 per kg, that is 20 kg × £6.50 = £130.
Issued by FEFO: Lot B covers 15 and 16 October (60 kg). On 17 October the last 20 kg of Lot B is used with 10 kg of Lot A. Lot A then covers 18 to 20 October (90 kg), leaving 20 kg of Lot A (120 kg − 10 kg − 90 kg) still within its 24 October use-by date on 21 October.
Both used 180 kg over six days, but only FEFO ended with usable stock. That is why the system, not the operator, should propose the lot.
4. Manage Date Codes and Shelf Life
Know which date you are holding
Use-by and best before dates are not interchangeable. The FSA’s consumer guidance on best before and use-by dates explains that use-by dates relate to safety and best before dates relate to quality. Article 24 of Regulation (EU) No 1169/2011, as it applies in GB, requires a use-by date for foods that are highly perishable from a microbiological point of view, and says food is deemed unsafe after its use-by date.
The FSA’s guidance on food safety for community cooking and food banks states that food cannot be sold, redistributed or consumed after the use-by date, while food with a best before date can legally be sold and redistributed after that date if it is still of acceptable quality. Your customers may still refuse stock that has passed, or is close to, its best before date.
| Date type | Relates to | System behaviour to set |
|---|---|---|
| Use-by | Safety | Block issue and despatch once passed; alert well before |
| Best before | Quality | Warn, and apply customer minimum life rules |
| Internal “use within” after opening | Your own process control | Start a new clock when a container is opened or decanted |
| Production date or batch code | Identification | Link to the lot; do not use as an expiry on its own |
Set shelf life where it is created
Capture the supplier’s date at goods in for bought-in ingredients. For finished goods, calculate expiry from the production date and the product’s validated life, and log any manual override. If life changes once opened, record an “opened” event; otherwise a half-used tub carries the date printed on its lid.
Apply customer rules as well
Many customers set a minimum remaining life on delivery. That is a commercial term rather than a legal rule, but the earliest expiring lot may be ineligible for a customer who wants ten days. Report stock by remaining life so sales can move short-dated lots in time.
5. Control Holds Quarantine and Allergen Storage

Goods in is where a lot gets its identity, its date and its status before it is put away. Illustrative photograph from a US food bank warehouse, not an OpsMavix project.
Image credit: Lance Cheung, USDA, Public Domain Mark 1.0. No edits.
Make status a control, not a sticker
A red label on a pallet does not stop a picker working from a pick list, or planning from counting the pallet as available. In the system, status should change what can happen to a lot:
| Status | Typical reason | Issue to production | Despatch | Counts as available |
|---|---|---|---|---|
| Received, awaiting checks | Paperwork or inspection pending | No | No | No |
| Released | Checks passed | Yes | Yes | Yes |
| On hold | Test result pending, query with supplier | No | No | No |
| Quarantined | Suspected or confirmed unsafe | No | No | No |
| Rejected | Return to supplier or dispose | No | No | No |
The FSA traceability guidance says unsafe food should be stored away from non-affected food in a quarantined area, labelled, with traceability and disposal records kept. It also says that reworking or relabelling withdrawn or recalled food needs the enforcement authority’s agreement first, and that food which cannot be made safe must be treated as waste. A quarantine location with restricted moves, and a record of who released or disposed of each lot and on what evidence, supports all three.
Segregate allergens in storage
The FSA’s allergen guidance for food businesses advises keeping ingredients that contain allergens separate from other ingredients and storing ingredients and prepared foods in closed, labelled containers.
Inventory software can support that by holding an allergen profile for each ingredient and storage location, then:
- Suggesting put away locations whose allergen profile matches the incoming lot.
- Warning when a move would place, for example, an open sesame product above a free-from ingredient.
- Flagging when a supplier specification change adds an allergen to an ingredient already in stock.
Software cannot replace physical segregation, but it can stop the stock record contradicting it.
6. Handle Catch Weights and Units of Measure
Keep count and weight together
Catch weight means an item is counted in one unit but valued or invoiced by its actual weight: a case of fresh meat, a whole cheese or a box of fish. The system needs both the count and the actual weight per case or unit, carried through receipt, stock, issue and despatch. If it only stores the nominal weight, stock value and yield both drift.
Work through a hypothetical receipt
The following figures are hypothetical.
A meat supplier delivers 12 cases with a nominal weight of 10 kg each, priced at £4.80 per kg. The actual weights total 118.6 kg.
| Basis | Weight | Value |
|---|---|---|
| Nominal (12 × 10 kg) | 120.0 kg | 120.0 × £4.80 = £576.00 |
| Actual (weighed) | 118.6 kg | 118.6 × £4.80 = £569.28 |
| Difference | 1.4 kg | £6.72 |
Recording 120 kg leaves 1.4 kg in stock that never arrived, which later appears as a “yield loss” or an unexplained count variance. Recording the actual weight lets the invoice match and starts stock at the right value.
Define unit conversions once
A typical ingredient is bought by the pallet, stored by the sack and used by the kilogram. Suppose flour arrives as pallets of 40 sacks × 25 kg = 1,000 kg, and a recipe uses 18.4 kg per batch. One pallet supports 54 full batches (1,000 kg ÷ 18.4 kg = 54.3), with 6.4 kg left over (1,000 kg − 54 × 18.4 kg).
Unit of measure errors, such as booking 18.4 sacks instead of 18.4 kg, are one of the common types of stock discrepancies. Define each conversion on the item record, restrict who can change it, and show both units on screens where people enter quantities.
7. Run a Mock Recall and Keep Stock Accurate
Use the FSA guidance as the test design
The FSA guidance recommends reviewing traceability systems at least annually, reviewing recall plans annually with a mock exercise, and reconciling food removed from the market against known quantities distributed. The FSA’s page on food incidents, product withdrawals and recalls says a business that believes food it has supplied is unsafe must immediately withdraw or recall it and tell its local or port health authority. Customers and certification schemes may set their own exercise frequency.
Work through a hypothetical mock recall
The following trace is hypothetical.
A supplier reports a possible problem with milk powder lot MP-2291. You received 500 kg as 20 sacks of 25 kg.
Step back: the goods in record shows the supplier, delivery date, supplier lot and the internal lot created at receipt.
Step forward: the system shows where the lot went.
| Where the lot went | Quantity | Forward result |
|---|---|---|
| Batch P-101 | 150 kg | 1,200 packs: 800 to customer X, 300 to customer Y, 100 in stock |
| Batch P-104 | 175 kg | 1,400 packs: 1,000 to customer Z, 400 in stock |
| Raw material in stock (system) | 175 kg | 7 sacks recorded |
| Total per system | 500 kg |
The system balances, so the team counts the remaining raw material. They find 6 full sacks and one open sack containing 12.5 kg: 6 × 25 kg + 12.5 kg = 162.5 kg.
| Mass balance | Quantity |
|---|---|
| Received | 500.0 kg |
| Used in P-101 and P-104 | 325.0 kg |
| Counted in stock | 162.5 kg |
| Unaccounted | 12.5 kg |
The 12.5 kg (500 kg − 150 kg − 175 kg − 162.5 kg) is the real finding. It most likely went into a batch without being booked, so the trace is not complete until that batch is found. Meanwhile, the exercise puts 500 packs (100 + 400) and the remaining 162.5 kg into quarantine and identifies 2,100 packs (800 + 300 + 1,000) with three customers.
A mock recall that only timed the report would have passed. The mass balance and a physical count exposed the gap.
Keep lot quantities accurate between exercises
Traceability depends on accuracy at lot level: a system can show the right total kilograms while holding the quantity against the wrong lots. Practical controls include:
- Cycle count by lot and location, more often for allergens, short-life lots and high-value items, using blind counts.
- Require a reason code for every adjustment and review adjustments by lot.
- Record part-used containers at their actual weight when they return to stores.
- Measure accuracy as the share of lot locations counted with no variance. For example, a hypothetical 184 matching out of 200 counted is 92%.
Our guide to the inventory cycle count covers how to set count frequencies and chase variances.
8. Connect Inventory to Purchasing and Accounting
Link purchasing to shelf life
Reorder quantities for perishable ingredients need to consider usable life, not just lead time and usage: a price break costs more than it saves if part of the order passes its use-by date. Purchase orders can carry a minimum remaining life on receipt, which goods in then checks against the date on the delivery.
Goods in should record the lot, the actual quantity or weight and the date against the purchase order line, so the supplier invoice can be matched to what actually arrived. Rejected lots should trigger a return or credit request, and production should post the lots consumed and the output so batch cost and stock value move together.
Keep stock value and stock records together
When inventory and accounting are separate systems, agree which owns quantities and which owns values, and how failed transfers are spotted and corrected. Write-offs should carry reason codes so finance can see how much value is lost to short dates and how much to quality failures. Their accounting and tax treatment is a question for your accountant.
Choose the approach on evidence
The right answer may be configuring lot and expiry fields you already have, connecting scales or label printers to your stock system, adopting packaged food inventory or ERP software, building a focused custom application for goods in and holds, or moving to a full ERP. Ask each supplier to run the same FEFO pick, the same catch weight receipt and the same mock recall with your data, and check licence scope, configuration effort and integration with accounting. For production floor concerns such as recipes, scheduling and HACCP, see our guide to food and beverage manufacturing software. For the distribution side of food stock, see inventory management software for the food industry.
Acceptance checklist
- Goods in cannot be completed without supplier lot, date and status where required.
- Every issue, move and despatch names a lot.
- Picking proposes the earliest expiring eligible lot and skips held stock.
- Use-by stock is blocked once passed, and held or quarantined stock cannot be issued or despatched.
- Allergen profiles are held per ingredient and checked at put away.
- Catch weight items store count and actual weight, and conversions are defined once.
- A mock recall traces any lot both ways and the mass balance accounts for the full quantity.
- Write-offs and adjustments carry reason codes that reach accounting.
Frequently Asked Questions
What is food manufacturing inventory management software?
It is stock software that records ingredients, packaging and finished goods by lot, with dates, statuses and locations, so a food manufacturer can rotate by expiry, block held stock, segregate allergens and trace any lot backwards to suppliers and forwards to customers.
Is internal lot traceability a legal requirement in the UK?
Identifying your suppliers and business customers is a legal requirement under Article 18 of Regulation 178/2002 as retained in GB law. The FSA describes internal traceability, linking raw material batches to finished batches, as best practice. Without it, a problem lot can bring far more product into scope.
What is the difference between FIFO and FEFO?
FIFO uses the oldest receipt first; FEFO uses the earliest expiry first. FEFO reduces write-offs when a later delivery expires sooner than older stock.
Can we sell stock past its best before date?
The FSA says food can legally be sold and redistributed after its best before date if it is still of acceptable quality, but not after its use-by date. Your customer agreements may set stricter minimum life requirements.
How often should we run a mock recall?
The FSA guidance recommends reviewing traceability systems at least annually and reviewing recall plans annually with a mock exercise. Customers and certification schemes may require more often, so check their requirements.
Can OpsMavix build food inventory software?
Yes. OpsMavix can build focused applications for lot control and traceability or a full custom ERP, and can configure or integrate suitable existing tools where those approaches fit the requirements.
How OpsMavix Can Help
OpsMavix can map how lots, dates and statuses move through your goods in, stores, production and despatch today, and define the system scope needed to make FEFO, holds and traceability reliable.
That may mean configuring your existing tools, building an inventory automation system for lot, expiry and status control, adding manufacturing production tracking so batches record the lots they consume, or connecting goods in to invoice approval workflows so catch weight receipts and supplier invoices agree.
Contact OpsMavix with the results of your last mock recall, a recent expiry write-off report and one lot you would struggle to trace today. We can use that evidence to define requirements and a practical pilot.
Getting value from OpsMavix? Add us as a preferred source on Google — you'll see more of our operations content in your AI Overviews, AI Mode and Search.