CalcMenu

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 demo

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 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_kitchen

    Lot auto-generation (receipt + MO), FEFO assignment, expiry guard, HACCP protocols

  • baspo_reports

    Multi-level supplier recall report, expiring lots report + daily alert email

  • baspo_label_print

    ZPL label wizard, PrintNode integration, auto-print on receipt / MO validation

  • baspo_uom_aliases

    132 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 team

20 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