Skip to main content
Recipe Manager — A build-to-order Odoo application that manages production and food-manufacturing recipes — versioned formula — 1/1Illustrative preview

A build-to-order Odoo application that manages production and food-manufacturing recipes

— versioned formulations, scaling, yield, and cost roll-up wired into Manufacturing.

ECOSIRE builds, installs, and supports it for your Odoo 17, 18, or 19.

What is Recipe Manager?

A build-to-order Odoo application that manages production and food-manufacturing recipes — versioned formulations, scaling, yield, and cost roll-up wired into Manufacturing. ECOSIRE builds, installs, and supports it for your Odoo 17, 18, or 19. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

Dedicated recipe model (`recipe.recipe`) with ingredient lines supporting both absolute quantities and percentage-of-batch formulation, independent of a flat `mrp.bom`
Draft → approved → archived `state` lifecycle with version retention, effective dates, and an author/reviewer approval step enforced by record rules
Computed batch cost, ingredient cost, and cost-per-unit-of-yield via `@api.depends` on line quantities and linked `product.product` standard/average cost
Recipe scaling wizard that recomputes every line to a target batch size and rounds to each line's `uom.uom` precision
Yield, expected loss, and by-product handling so declared output reconciles against total input for accurate costing
Optional generation/synchronisation of the matching `mrp.bom` and routing so production still runs through standard Odoo manufacturing orders
Sub-recipe (semi-finished/intermediate) support so a recipe can consume another recipe and its cost rolls up correctly
Allergen, dietary, and process-parameter fields on ingredients and recipes for food-manufacturing compliance and spec sheets
QWeb recipe/spec sheet and batch production sheet reports designed for print on the production floor
`ir.model.access.csv` roles (author, reviewer, read-only) plus `ir.rule` record rules for per-company scoping in multi-company databases
Automated actions / `base.automation` rules to flag cost drift beyond a threshold or approvals past their effective date
Full XML-RPC / JSON-RPC API surface so PLM, e-commerce, or labelling systems can read and write recipe data
Kanban-by-state and filterable list/form views built with standard XML (plus OWL panels for interactive scaling/costing where useful)
Built for your exact edition (Community or Enterprise) and target release across Odoo 17.0, 18.0, and 19.0

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your Odoo.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

Odoo Compatibility
Odoo 17, Odoo 18, Odoo 19
Editions
Enterprise & Community
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
PostgreSQL 12+

About this Product

Teams that manufacture food, beverages, cosmetics, or any batch-produced good live and die by their recipes — the precise quantities, sub-recipes, process steps, and allergen data that turn raw materials into a finished product. Odoo's native Manufacturing gives you a bill of materials and routing, but a BoM is a flat parent-child structure: it has no concept of a formulation percentage, a per-batch yield loss, a graduated scaling factor, a versioned "approved" recipe with an effective date, or the process instructions and quality parameters a production floor actually needs. Prep teams end up keeping the real recipe in a spreadsheet and re-keying it into an mrp.bom, which is exactly where cost drift, allergen errors, and out-of-date formulations creep in.

Recipe Manager is a build-to-order Odoo application we design and build to sit on top of that native foundation and give you a proper recipe layer. At its core is a dedicated recipe model (a new models.Model, e.g. recipe.recipe) with ingredient lines that carry either an absolute quantity or a percentage of batch, a state field for the draft → approved → archived lifecycle, and version tracking so a superseded formulation is retained for traceability rather than overwritten. Ingredient costs, batch cost, and cost-per-unit-of-yield are computed fields (@api.depends on the line quantities, the linked product.product standard or average cost, and the declared yield) so a change to a raw-material price re-rolls the recipe cost automatically. Because recipes reference real product.product records and units of measure, they scale cleanly: a scaling wizard recomputes every line for a target batch size and rounds to the UoM's precision. Where you want the recipe to actually drive production, we generate or synchronise the corresponding mrp.bom and routing so the shop floor keeps using standard Odoo manufacturing orders — no parallel system.

Technically it is delivered as a normal Odoo addon with its own __manifest__.py, declaring dependencies on mrp (and stock/quality where in scope). Access is governed by ir.model.access.csv for the recipe-author, reviewer, and read-only roles, with ir.rule record rules to keep recipes scoped per company in a multi-company database. The UI is built with standard XML views (list, form, kanban by state) plus OWL components where an interactive scaling or costing panel adds value, and printable QWeb reports produce a clean recipe/spec sheet and a batch production sheet for the floor. Automated actions (or base.automation rules) can flag recipes whose linked ingredient cost has moved beyond a threshold or whose approval has expired, and everything is reachable over the standard XML-RPC/JSON-RPC API so an external PLM, e-commerce catalogue, or nutrition/labelling system can read and write recipe data. We build against your exact edition — Community or Enterprise — and target Odoo 17.0, 18.0, or 19.0; Enterprise-only hooks (such as Quality or Studio-adjacent features) are only used when your database actually has them.

Because this is a build-to-order product, nothing is auto-downloaded. It starts with a scoping call to confirm your recipe structure, whether percentages or absolute quantities lead, how yield and by-products are handled, which fields must flow into the BoM, and your reporting and integration needs. From confirmed scope, typical delivery is one working week: we develop on a branch, hand over on a staging database for UAT, then install into production with a rollback plan and a training session. Pricing starts from $999 (indicative, single-company base scope); multi-company record rules, deep sub-recipe/BoM synchronisation, nutrition/allergen and labelling logic, external-system integrations, and migrating a large existing recipe library into the new models increase the quoted scope. You receive a fixed quote after the scoping call — never a surprise.

What you get

  • Installable Odoo addon source code for your version (proper `__manifest__.py`, models, views, security, and reports)
  • Installation and configuration on your production Odoo 17/18/19 database, matched to Community or Enterprise
  • Technical documentation covering the data model, computed fields, security rules, and the XML-RPC/JSON-RPC endpoints
  • End-user guide plus a live training session for recipe authors, reviewers, and the production team
  • UAT on a staging database with a documented rollback plan before any production change
  • Post-go-live support window for defect fixes and questions after deployment
  • Git repository handover with full commit history and branch access
  • Sample data and a spec-sheet/batch-sheet report template pre-loaded for immediate testing

Who this is for

Food & Beverage Production Manager

Runs batch manufacturing on Odoo and needs versioned, approved recipes with accurate yield and per-batch cost that native BoMs can't express — and printable batch sheets the floor will actually follow.

R&D / Formulation Specialist

Develops and iterates recipes in draft, scales them from lab to full batch, and needs a controlled approval path plus retained history so a superseded formulation is never silently lost.

Cost & Finance Controller

Wants recipe cost to re-roll automatically when raw-material prices move, with cost-per-unit-of-yield visible before a batch runs, so margins are known rather than discovered after the fact.

Odoo Systems Owner / IT Lead

Maintains the Odoo instance and needs a clean, upgrade-safe addon with correct manifest dependencies, `ir.model.access` security, record rules, and API access rather than another off-system spreadsheet.

How Recipe Manager Compares

CriterionECOSIRECustom BuildCompetitorOdoo Native
Recipe formulation modelDedicated recipe model with % or absolute lines, purpose-built for your processPossible, but you design and maintain the data model yourselfGeneric recipe structure that rarely matches your exact formulation rulesOnly a flat BoM — no percentage or formulation concept
Versioning & approvalDraft→approved→archived lifecycle with retained history and effective datesOnly if you build and test the state machineBasic or absent; varies widely by moduleNo native recipe approval or version retention
Cost roll-upComputed batch and per-yield cost that re-rolls on price change via `@api.depends`Depends on the compute logic you writeOften simple totals; per-yield/loss handling limitedBoM cost only, no yield-aware cost-per-unit
Scaling to batch sizeScaling wizard with UoM-precise rounding for any target batchBuild the wizard and rounding rules yourselfSometimes included, rounding behaviour inconsistentManual recalculation only
Fit to your workflowScoped to your exact process, reports, and roles before we buildFull control, but full cost and timeline on youFixed feature set — you adapt to itGeneric manufacturing, no recipe specialisation
Security & multi-company`ir.model.access.csv` roles + record rules scoped per companyYour responsibility to design and verifyBaseline access rights, multi-company rules often thinStandard MRP access, no recipe-specific roles
Support & code ownershipSupport window, training, and full git repo handover — no lock-inYou own it, but also own every fix and upgradeVendor-dependent; source and roadmap not yoursCovered only by your general Odoo support
Delivery modelBuild-to-order, one working week from confirmed scope, staging UAT + rollbackWeeks to months depending on internal capacityInstant download, but integration and gaps are on youAlready present, but missing the recipe layer entirely

Frequently Asked Questions about Recipe Manager

How long does delivery take?

Recipe Manager is build-to-order, not an instant download. After a scoping call to confirm your recipe structure, costing, and integration needs, typical delivery is one working week from confirmed scope. We develop on a branch, hand over on staging for UAT, then install to production with a rollback plan.

How does pricing and scoping work?

Pricing starts from $999 as an indicative single-company base-scope figure. The real drivers are multi-company rules, sub-recipe/BoM synchronisation depth, nutrition/allergen logic, external integrations, and migrating an existing recipe library. You get a fixed written quote after the scoping call — never a surprise bill.

Do you support my Odoo version and edition?

Yes. We build against Odoo 17.0, 18.0, or 19.0 and match your edition — Community or Enterprise. Enterprise-only hooks (such as Quality) are only used when your database actually has them, so the addon stays compatible with what you run.

What about support and future updates?

Every build includes a post-go-live support window for defect fixes and questions. Beyond that, we offer ongoing support and can port the addon to a future Odoo release as a scoped engagement. Because you receive the full git repository, you are never locked in.

How is this different from just adding fields to a Bill of Materials?

A native `mrp.bom` is a flat parent-child structure with no percentage formulation, versioned approval lifecycle, yield/loss reconciliation, or graduated scaling. Recipe Manager adds a dedicated recipe model with those concepts, then optionally generates or syncs the BoM so production still runs through standard Odoo manufacturing orders.

Can it connect to our other systems?

Yes. Recipes are exposed over the standard Odoo XML-RPC/JSON-RPC API, so a PLM, e-commerce catalogue, nutrition/labelling tool, or reporting system can read and write recipe and cost data. The specific integration is scoped and quoted based on the endpoints you need.

Will it survive Odoo upgrades?

We deliver a clean, self-contained addon with a proper `__manifest__.py`, standard models, and security files rather than server-side monkey-patches, which keeps it upgrade-friendly. A version-to-version migration is still a scoped task, but the architecture is designed to minimise that effort.

Request a quote

Recipe Manager

A build-to-order Odoo application that manages production and food-manufacturing recipes — versioned formulations, scaling, yield, and cost roll-up wired into Manufacturing. ECOSIRE builds, installs, and supports it for your Odoo 17, 18, or 19.

  • Dedicated recipe model (`recipe.recipe`) with ingredient lines supporting both absolute quantities and percentage-of-batch formulation, independent of a flat `mrp.bom`
  • Draft → approved → archived `state` lifecycle with version retention, effective dates, and an author/reviewer approval step enforced by record rules
  • Computed batch cost, ingredient cost, and cost-per-unit-of-yield via `@api.depends` on line quantities and linked `product.product` standard/average cost
  • Recipe scaling wizard that recomputes every line to a target batch size and rounds to each line's `uom.uom` precision

Request a Quotation

Tell us about your Recipe Manager requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.