Odoo for Food Manufacturing: Lot Tracing, Expiry, FEFO and Recalls
Odoo for food manufacturing: set up lot traceability, expiry dates, FEFO picking, quality checks and recalls in Odoo 20, plus apps, FSMA 204 and cost.
Most "food ERP" articles stop at a feature list. A food maker needs to know which Odoo settings deliver lot tracing, expiry control and a fast recall, and what to watch during setup. Our Odoo ERP for manufacturing work starts from those questions.
This guide is for owners, plant managers and quality leads at bakeries, dairies, snack, beverage, spice and ready-meal producers who are choosing ERP software for food. If you are comparing Odoo with entry-level tools first, read our QuickBooks and Fishbowl vs Odoo 20 comparison for manufacturers.
Can Odoo handle food manufacturing?
Yes, Odoo handles food manufacturing well when lots, expiry dates and removal strategies are switched on and every product is set up to use them. Odoo's own documentation names food manufacturers as a typical user of expiration tracking.
A food maker usually needs six things from an ERP. The table maps each one to the Odoo feature and app that delivers it.
| Food requirement | Odoo feature | App and edition |
|---|---|---|
| Batch identity | Tracking by lots on each product | Inventory (Community and Enterprise) |
| Shelf life | Expiration, best before, removal and alert dates | Inventory |
| Stock rotation | First Expiry First Out (FEFO) removal strategy | Inventory |
| Recipes and batches | Bills of materials and manufacturing orders | Manufacturing |
| Food safety checks | Quality control points, checks and alerts | Quality (Enterprise) |
| Recall lookup | Traceability Report per lot | Inventory |
Most food makers also add Purchase, Sales, Accounting and Barcode. Our Odoo modules list for Odoo 19 and 20 shows which of these apps are Community and which need Enterprise.
How does Odoo food traceability work with lots?
Odoo food traceability works by giving every batch a lot number at receipt or production, then carrying that lot on every stock move until delivery. Once a product is tracked by lots, Odoo will not let you validate a receipt without one.
Turn it on in Inventory settings under Traceability, then set each product's tracking to By Lots. Odoo's lot number documentation says lots help trace items back to their group, "particularly for product recalls or expiration dates".
- Receipts: each incoming ingredient batch gets the supplier lot or your own lot, entered by hand, scanned or pasted in bulk.
- Production: each manufacturing order consumes specific ingredient lots and creates a finished-goods lot.
- Deliveries: a setting prints lot numbers on delivery slips, so customers can see which batch they received.
- Labels: lot and serial numbers can be printed as GS1 barcodes for scanning on the floor.
- Custom data: properties can be added to lot records, such as a supplier certificate number or a test result.
Odoo 20 improved the Traceability Report. Our Odoo 20 Inventory release notes show it now displays upstream and downstream lot numbers in one report, with the final stock locations highlighted.
How do expiration dates and FEFO work in Odoo?
Odoo sets expiry dates per product and then uses a FEFO removal strategy to pick the lot with the earliest removal date first. Expiry dates only work on products tracked by lots or serial numbers.
On the product form, Odoo's expiration dates guide lists four date settings, each counted in days:
- Expiration date: days after receipt or production when goods may become dangerous and should not be consumed.
- Best before date: days before expiry when quality starts to drop, without being dangerous yet.
- Removal date: days before expiry when goods should leave stock.
- Alert date: days before expiry when Odoo raises an alert on the lot.
Odoo computes these dates automatically for purchased and manufactured goods, and users can still override them on a receipt. A responsible user on the product gets a notification when a lot passes its expiry date.
Set up FEFO in this order:
- Enable Lots & Serial Numbers, then Expiration Dates, in Inventory settings.
- Set each perishable product's tracking to By Lots and tick Expiration Date.
- Fill in the four date fields per product or per product family.
- Assign lots to stock on hand with an inventory adjustment.
- Set First Expiry First Out on the stock location or force it on the product category.
- Test a sale that needs two lots and check Odoo takes the next-soonest lot.
Odoo's FEFO removal documentation notes that a removal strategy forced on a product category beats the one set on the location. That rule surprises many teams during testing.
How do you run a food recall in Odoo?
You run a recall in Odoo by opening the affected lot and using the Traceability report to find every ingredient lot, finished lot and customer delivery linked to it. The speed depends on how cleanly lots were recorded on the floor.
- Start from the lot: open Inventory, Lots/Serial Numbers, and search for the suspect lot.
- Trace upstream: use the Traceability smart button to see the supplier receipt and ingredient lots behind it.
- Trace downstream: follow the same report to the finished-goods lots and the delivery orders that shipped them.
- List customers: export the delivery orders to get customer names, quantities and dates.
- Block stock: move remaining stock of the lot to a quarantine location so it cannot be picked.
- Raise a quality alert: record the issue, root cause and corrective action in the Quality app.
- Review: after the drill, fix any gap, such as a receipt that skipped a lot number.
Run this as a mock recall every quarter. A drill exposes missing lots and manual workarounds before a real incident does.
How does Odoo handle food quality and safety checks?
Odoo's Quality app turns your food safety checks into quality control points that fire automatically at receipt, on a work order or at delivery. It is an Enterprise app, so plan for it in your edition choice.
Odoo's quality control points guide lists the check types. For food plants the useful ones are Pass - Fail, Measure, Take a Picture, Instructions and Worksheet.
- Incoming checks: pass or fail checks on ingredient temperature, packaging condition or certificate of analysis.
- In-process checks: measure checks on cooking temperature, pH, moisture or fill weight on a specific work order step.
- Release checks: a worksheet before finished goods move to saleable stock.
- Frequency: checks can run on every operation, every product or a percentage of operations.
Quality alerts can be raised from a manufacturing order, an inventory order, a Shop Floor work order or the Quality app. Odoo records the checks, but your HACCP plan and limits still come from your food safety team.
Recipes, batches and yields in Odoo Manufacturing
Odoo Manufacturing handles recipes as bills of materials and batches as manufacturing orders that consume real lots and record real output. This is where food costing and traceability meet.
A bill of materials lists the ingredients and quantities for one batch. A manufacturing order then picks the actual ingredient lots, records what was consumed, and creates a finished lot with its expiry date computed from the product settings.
Plan these food-specific points early:
- Units of measure: buy flour by the bag, consume it by the kilo and sell by the case.
- Actual consumption: record real quantities used so yield and cost reflect the batch, not the recipe.
- Scrap and waste: record trim, spoilage and failed batches so they show in cost and stock.
- Variable weight: products sold by actual weight need a deliberate design choice, so test them in a demo.
- Valuation: choose FIFO or AVCO carefully; our Odoo 20 inventory valuation guide explains the trade-offs.
Does Odoo meet FSMA 204 and food traceability rules?
No ERP makes you compliant on its own, but Odoo can hold the lot records that traceability rules ask for and produce them quickly. Treat Odoo as the record system and your food safety plan as the rulebook.
In the US, the FDA's Food Traceability Rule (FSMA 204) asks firms that handle foods on its Food Traceability List to keep Key Data Elements for Critical Tracking Events. They must give records to the FDA within 24 hours or an agreed time.
The original compliance date was 20 January 2026. The FDA proposed moving it to 20 July 2028, and Congress then directed the FDA not to enforce the rule before that date. Use the extra time to get lot data clean.
Odoo records receipts, transformations and shipments by lot, which maps well to the tracking events. Fields such as a traceability lot code source or a harvest location may need custom properties or a small module, which our Odoo customization services can add.
Spreadsheets and basic tools vs Odoo 20 for food makers

Spreadsheets and basic inventory tools can count stock, but Odoo 20 links every lot to its ingredients, expiry and customers in one database. The table compares the two on the jobs that matter in a food plant.
| Job | Spreadsheets and basic tools | Odoo 20 |
|---|---|---|
| Lot tracking | Typed by hand, often skipped | Required on receipt when tracked by lots |
| Expiry dates | Manual list or label only | Computed per product, with alerts |
| Picking order | Depends on the picker | FEFO removal strategy picks the soonest lot |
| Recall lookup | Search across many files | One Traceability Report per lot |
| Quality checks | Paper forms | Control points, checks and alerts |
| Batch costing | Estimated from the recipe | Actual consumption and scrap per order |
Teams moving off spreadsheets often ask how the warehouse side should be laid out. Our Odoo warehouse management system guide covers locations, routes and barcode scanning.
Odoo for food manufacturing by industry segment
Each food segment stresses a different part of Odoo, so the setup priorities change with what you make. The table shows where we usually focus.
| Industry | Pain or cost driver | Odoo approach | How iVentureTeam helps |
|---|---|---|---|
| Bakery | Short shelf life, daily waste | Short expiry, FEFO, scrap records | Set removal days, track daily waste |
| Dairy | Cold chain, very short life | Receipt temperature checks, alert dates | Build quality points at receipt |
| Meat and seafood | Variable weights, recall risk | Lots on every move, quarantine location | Design weight handling, run recall drills |
| Beverages | Many pack sizes and returns | Units of measure, packaging barcodes | Model packs, set up barcode flows |
| Snacks and packaged foods | Allergen and label changes | Bills of materials, quality worksheets | Set allergen checks on the line |
| Spices and ingredients | Supplier lot and test certificates | Lot properties, incoming checks | Add certificate fields to lots |
What does Odoo for food manufacturing cost?
The cost has two parts: Odoo licenses per user and a one-time implementation that depends on scope. Food plants usually need the Enterprise apps, so budget for a paid plan.
On the Odoo pricing page, the US price billed yearly is US$31.10 per user a month for Standard and US$61.00 for Custom, with first-year discounts. In India it is Rs 725 and Rs 1,350. Custom adds Studio, multi-company and the external API.
Our Odoo implementation cost guide publishes these ranges, which are estimates, not fixed quotes:
- Small: US$3k to US$9k, 4 to 8 weeks.
- Mid-size: US$9k to US$27k, 8 to 14 weeks.
- Large: US$27k to US$150k+, 12 to 24 weeks.
- Data migration: US$1.2k to US$9k, depending on the source system and years of history.
A single plant with lots, expiry and a few quality points often sits in the small or mid-size band. Several plants, scales, label printers or EDI links push it higher.
Common Odoo food setup mistakes to avoid
Most food traceability problems in Odoo come from setup gaps, not missing features. These are the ones we see most when we review a food maker's database.
- FEFO uses the removal date: an Odoo 16 user on the forum found FEFO picks by removal date, not expiry date, so empty removal days give odd results.
- Old stock without lots: turning on tracking does not tag existing stock; an inventory adjustment must assign lots.
- Category overrides: a removal strategy on the product category beats the location setting.
- Skipped scans: if operators bypass lot entry with workarounds, the recall report has holes.
- Too much custom code: heavy changes to stock logic make every upgrade costly.
How iVentureTeam helps food manufacturing with Odoo

iVentureTeam sets up Odoo for food manufacturing around your products, shelf lives and recall plan, then trains your team to keep lot data clean. We have delivered 150+ ERP projects across 35+ countries with 40+ Odoo specialists over 13+ years.
- Fit and scope: we map your recipes, shelf lives and checks against standard Odoo through our Odoo implementation services.
- Traceability setup: lots, expiry dates, FEFO, quarantine locations and GS1 labels.
- Quality points: receipt, in-process and release checks built from your food safety plan.
- Recall drills: a tested mock recall before go-live, and a repeatable checklist after it.
- Budget first: get an indicative number from the Odoo project estimate tool before you talk to us.
Odoo manufacturing traceability case study: Chetan Plastics
Chetan Plastics is a plastics-printing manufacturer, not a food company, but it needed the same thing food plants need: every job traceable from inquiry to delivery. Its story shows what moving a plant off Excel looks like.
The Ahmedabad manufacturer ran sales, purchase, delivery and receipt records in a shared Excel file. There was no traceability from source documents to purchase orders and approvals across departments.
We built a customized Odoo setup across Sales, CRM, Purchase, Inventory, Manufacturing and Repair over a 16-week phased rollout. TSC barcode labels now pull product data automatically, and QR-coded stickers support inventory tracking.
The client says: "Odoo now works the way our factory actually runs." Read the Chetan Plastics Odoo manufacturing case study.
The bottom line on Odoo for food manufacturing
Odoo is a strong fit for small and mid-size food manufacturers that need lot tracing, expiry control, FEFO and fast recalls in one system with their accounting. The standard features cover most needs; the setup and floor discipline decide the result.
Switch on lots and expiry for every perishable product, set FEFO with real removal days, build quality points from your food safety plan, and run a mock recall before go-live. Do that and Odoo becomes your traceability record.
Ready to trace every batch in Odoo?

Talk to a team that sets up food traceability in Odoo. Plan your Odoo food traceability setup with us, call +91-90235-15208, or email business@iventureteam.com.
Frequently Asked Questions
Is Odoo good for food manufacturing?
+
Yes, for most small and mid-size food makers. Odoo covers lots, expiry dates, FEFO, recipes, quality checks and recall tracing in one database. Very specific needs, such as variable weight, may need extra setup.
Does Odoo support lot traceability?
+
Yes. Products tracked by lots must have a lot on every receipt, and the Traceability Report shows where a lot came from and where it went. Odoo 20 shows upstream and downstream lots in one report.
How does FEFO work in Odoo?
+
FEFO picks the lot with the earliest removal date first. You set expiry and removal days on the product, then choose First Expiry First Out on the location or product category. If one lot is short, Odoo takes the next one.
Can Odoo track expiration and best before dates?
+
Yes. Odoo stores expiration, best before, removal and alert dates on each lot, computed from days set on the product. Expiry needs the product to be tracked by lots or serial numbers.
How do you do a product recall in Odoo?
+
Open the affected lot, use the Traceability report to find ingredient lots, finished lots and deliveries, then export the customer list. Move remaining stock to quarantine and log the issue as a quality alert.
Is the Odoo Quality app included in Community?
+
No. Quality is an Enterprise app. Inventory, Manufacturing and lot tracking are in Community, but control points, quality checks and alerts need an Enterprise subscription.
Does Odoo help with FSMA 204 compliance?
+
Odoo can hold the lot records for receipts, transformations and shipments that the rule relies on. Some required fields may need custom properties. Compliance still depends on your own processes and records.
What is the best ERP software for food manufacturers?
+
It depends on size and complexity. Odoo suits small and mid-size makers that want traceability, production and accounting in one system at per-user pricing. Large multi-site groups should compare several options.
How long does an Odoo food manufacturing implementation take?
+
Our published ranges are 4 to 8 weeks for small projects, 8 to 14 weeks for mid-size and 12 to 24 weeks for large ones. Quality points, label printers and integrations add time.
Ready to put this into action?
Talk to iVentureTeam about Odoo, AI automation, or custom development — get a free, no-obligation consultation.
Free Odoo tools
All tools- Odoo Health CheckVersion, modules, findings and upgrade cost
- Odoo App SelectorWhich apps you need, by industry
- Odoo Project EstimateIndicative cost and timeline in minutes
- Odoo Implementation Cost CalculatorImplementation cost and timeline, in minutes
- Odoo Migration Cost CalculatorVersion jump or legacy ERP, priced in minutes
Continue reading
Odoo eCommerce Integration: Shopify, WooCommerce and Marketplace Sync
Odoo eCommerce integration explained: native connectors, Shopify and WooCommerce modules, Mercado Libre options, order flow, stock sync and real costs.
Why Odoo Implementations Fail in Manufacturing: BOM, Routing, Costing
Why Odoo implementations fail in manufacturing: BOM, routing, costing and stock errors explained, plus a fix checklist for Odoo 19 and Odoo 20 MRP setups.
Odoo Warehouse Management System: WMS Guide for Odoo 19 and 20
Set up the Odoo warehouse management system in Odoo 19 and 20: locations, putaway rules, routes, replenishment, barcode picking, cycle counts and 3PL limits.
