Stock & Inventory Management Software
From booking to plate — traced at every step.
FoodOps is stock and inventory management software built for foodservice and hospitality kitchens, running on Odoo. It handles what your CalcMenu modules don't: purchasing, lot-tracked goods receipts, traceable production, HACCP compliance and Zebra label printing — all synced to CalcMenu in real time.
Book a demo
What changes for you
A supplier recall lands, and the answer to which dishes are affected lives in three disconnected systems — purchasing, production, and whatever paper trail survived the shift. By the time you've pieced it together, the food may already be served.
FoodOps ties every lot to every dish automatically, from goods receipt through production to the plate — a recall becomes a search you run in seconds, not an investigation you run for days.
- Trace any lot to every dish it touched, in seconds, not days.
- Purchasing, production and HACCP records stop living in three separate systems.
- Your HACCP file builds itself during service — not scrambled together after.
CalcMenu handles recipes. FoodOps handles the rest.
Your CalcMenu modules are excellent at recipes, menus and allergens. They're not built for purchasing, traceability or accounting — that's exactly what FoodOps adds, synced to CalcMenu in real time.
Already in your toolkit
CalcMenu
- Menu planning
- Recipes & BOMs
- Portion scaling
- Nutrition
- Allergens (14 EU)
Standard Odoo has no allergen management, nutritional calculations or menu planning — these are CalcMenu's core strengths, purpose-built for food service.
powered by Odoo 18
CalcMenu FoodOps
Food operations
- Orders & goods receipt
- Lots & traceability
- Manufacturing orders
- HACCP & compliance
- Label printing
- Supplier recalls
Full ERP
- Non-food purchasing
- Accounting
- Sales & webshop
- Multi-site & central kitchen
Is FoodOps right for you?
You need it if…
- You cook and produce — not just reheat delivered meals
- You need to answer in minutes: "which supplier lot is in tonight's dish?"
- You have HACCP or regulatory lot traceability obligations
- You receive goods in lots (meat, fish, dairy)
- You have multi-level recipes or fresh → frozen transformations
- You use CalcMenu and want BOMs synced automatically
Not yet necessary if…
- You only deliver catered meals with no in-house production
- You have no legal lot traceability obligations
- Your volume is under 50 covers/day
Beyond the kitchen — your entire operation on one platform.
FoodOps runs on Odoo 18, a full ERP platform. Alongside the food-specific features, you also get accounting, sales, e-commerce and multi-site management — no extra tools needed.
Non-food purchasing
Uniforms, cleaning products, kitchen equipment — in the same purchase orders as food. One vendor catalog, one accounting flow.
Integrated accounting
Supplier invoices, cost centre allocation, VAT returns. FoodOps purchasing feeds directly into accounting — no separate finance software.
Sales & webshop
Orders from event clients, corporate canteen or satellite sales points. Optional B2B webshop for daily menus, sandwiches and pastries.
Central kitchen & multi-site
One Odoo instance manages production at a central kitchen and deliveries to multiple service points. Stock transfers tracked site by site.
Every delivery, a lot number. Automatically.
Automatic lot generation
On receipt validation, every lot-tracked line gets a PRODUCT-YYYYMMDD-001 number. No manual entry, no collisions.
Catch weight — price per piece and per kg
For variable-weight products (meat, fish, melons): fixed unit price, price/kg adjusts automatically to the actual received weight.
Supplier unit normalisation
"Kg", "Pz", "bt 750ml" — every raw supplier unit string is converted to a canonical Odoo UoM automatically. 132 pre-configured aliases.
From CalcMenu recipe to production order — no re-entry.
BOM synchronisation
CalcMenu recipes sync to Odoo Bills of Materials via the FoodOps API. Change a recipe in CalcMenu and the BOM updates automatically.
Production lots PRO-
On manufacturing order completion, the finished product gets a PRO-PRODUCT-YYYYMMDD-001 lot automatically, linked to all consumed component lots.
Fresh → frozen traceability
Transformations are recorded as manufacturing orders. Lot genealogy is preserved through freezing and thawing.
Supplier recall? Every affected dish found in a few clicks.
Multi-level recall
The trace walks recursively through sub-recipes and fresh→frozen layers — not just direct consumers. No affected dish falls through the net.
Full lot chain
Supplier receipt → manufacturing orders → finished lots → current stock location. Every link is traced and dated.
Consumption history
Trace from what was served back to the original supplier lot — for illness investigations or regulatory inspections.
Your HACCP file builds itself during service — not after.
Automatic HACCP protocols
CCP1 documents per receipt, daily logs, per-lot and per-production sheets — all time-stamped, all exportable on demand.
Expiry guard
If a component lot is expired, the manufacturing order is blocked before completion. A manager can override with a reason, logged in the HACCP journal.
FEFO enforced — first expired, first out
Lots closest to expiry are consumed first. Tracked and reported in all traceability documents.
The label prints at the right moment, on the right printer, with the right data.
Automatic printing
A ZPL label is sent to the Zebra printer on receipt validation and manufacturing order completion — no extra clicks.
Allergens from CalcMenu
Allergen data propagated from CalcMenu prints directly on the production label — no re-entry, no copy errors.
Manual reprint
Reprint any lot label from the lot, the receipt or the manufacturing order. Choose printer and number of copies.
Server-side guards so kitchen mistakes don't go through.
Location whitelist
Each operation type (receipt, freeze, thaw, consumption) only allows its valid source→destination pair. Wrong moves are blocked before they post.
Vendor catalog filter
The product dropdown on a purchase order only shows what the selected supplier actually sells.
Expired component block
On manufacturing order confirmation, FoodOps checks every reserved lot. If one is expired, an error lists the affected lots before any stock is consumed.
Reference customer
Sport & residential catering — public sector
CalcMenu FoodOps has been live at a major Swiss residential sports facility since 2026. Kitchens serve training groups daily, with full HACCP traceability requirements and multi-level supplier recall.
2 500+
products traced
10
custom Odoo modules
100%
HACCP automated
For Odoo customers and partners
FoodOps is a set of Odoo 18 modules — whether you're evaluating it as a customer or integrating it as a partner.
Already running Odoo, or an Odoo partner looking for a vertical food-service add-on? Here's the technical detail: what ships, how it deploys, and what it takes to integrate.
Custom modules
foodops_kitchenLot auto-generation (receipt + MO), FEFO assignment, expiry guard, HACCP protocols
foodops_reportsMulti-level supplier recall report, expiring lots report + daily alert email
foodops_label_printZPL label wizard, PrintNode integration, auto-print on receipt / MO validation
foodops_uom_aliases132 pre-configured supplier unit aliases → canonical Odoo UoM
foodops_expiry_guardBlocks manufacturing order completion when a consumed lot has expired — override requires a logged reason for HACCP audit
foodops_purchase_priceCatch-weight purchasing: separate price-per-piece and price-per-kg for meat, fish, melons — no manual recalculation
foodops_product_defaultsPer-category smart defaults (tracking, UoM, shelf life, routes, taxes) applied automatically on product creation
Stack & models
- Odoo 18.0 Community or Enterprise
- Python 3.11 · PostgreSQL 16
- PrintNode (ZPL · Zebra GK420t / ZT411)
- Azure Functions — CalcMenu BOM sync API (optional)
- Models: mrp.production · stock.picking · mrp.bom · stock.lot
Deployment
- Standalone modules — work without CalcMenu
- CalcMenu API required only for automatic BOM sync
- PrintNode account required for Zebra label printing
- On-premise or cloud — no EGS infrastructure dependency
- Standard install: git clone + odoo -u module_name
Odoo 18 modules available today. Already on Odoo? We can scope a direct integration. Odoo partner? We work together to bring FoodOps to your collective-catering and hospitality clients.
Talk to the technical team15 minutes to see if CalcMenu changes your day-to-day.
We won't sell you software. We'll look at what's wearing you down today and check together if CalcMenu fits.
Talk to a human — 15 min