CalcMenu FoodOps
From booking to plate — traced at every step.
Your CalcMenu modules handle recipes, menus and allergens. FoodOps handles what they don't: purchasing, lot-tracked goods receipts, traceable production, HACCP compliance and Zebra label printing — all synced to CalcMenu in real time.
Book a demoCalcMenu 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 partners
FoodOps is a set of Odoo 18 modules. Here's the technical detail.
Odoo partner looking for a vertical food service add-on? Here's what you need to evaluate the integration and discuss a partnership.
Custom modules
-
baspo_kitchenLot auto-generation (receipt + MO), FEFO assignment, expiry guard, HACCP protocols
-
baspo_reportsMulti-level supplier recall report, expiring lots report + daily alert email
-
baspo_label_printZPL label wizard, PrintNode integration, auto-print on receipt / MO validation
-
baspo_uom_aliases132 pre-configured supplier unit aliases → canonical Odoo UoM
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. We work with partners to bring FoodOps to collective catering and hospitality clients.
Talk to the technical team20 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 — 20 min