Skip to main content
Chemical & Process Manufacturing (Formula/Recipe) — Custom-built Odoo module for process/formula manufacturing: percentage re — 1/1Illustrative preview

Custom-built Odoo module for process/formula manufacturing:

percentage recipes, co-/by-products, yield scaling, and potency correction.

What is Chemical & Process Manufacturing (Formula/Recipe)?

Custom-built Odoo module for process/formula manufacturing: percentage recipes, co-/by-products, yield scaling, and potency correction. 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

Percentage/ratio-based formula BOMs — define each ingredient as a % or ratio of the batch instead of a fixed quantity, with a live-computed absolute quantity per `mrp.bom.line` that must total 100% (validated on save)
Batch yield scaling — enter a target batch size (kg, L, or units) and every ingredient line recomputes proportionally via `@api.depends` compute fields, no manual math
Co-product output handling — a single batch produces multiple valuable finished goods from one run, each as its own output line that posts to stock and receives an allocated share of batch cost
By-product handling — capture unavoidable outputs (scrap, residue, recoverable solvent) with their own valuation policy so they don't distort main-product cost
Potency/concentration adjustment — store active-content % per raw-material lot (`stock.lot`) and auto-scale the consumed quantity so the finished formula hits its target potency regardless of incoming assay variation
Theoretical-vs-actual yield — the module computes expected output from the formula, captures actual produced quantity on the manufacturing order, and stores the yield variance % for QA and costing review
Unit-of-measure conversion (volume ↔ weight) — density-aware conversions built on Odoo's native `uom.uom` categories so you can formulate in kg and dispense in litres (or vice versa) without rounding drift
Cost allocation across outputs — configurable rules (by physical quantity, by relative sales value, or fixed %) distribute total batch cost across co-products and by-products for accurate margins
Formula versioning & effectivity — maintain revisions of a recipe with active/archived states and effective dates so historical batches remain reproducible and auditable
QWeb batch/production reports — printable batch sheet showing scaled ingredient quantities, target vs actual yield, lot/potency used, and co-/by-product outputs for the shop floor and QA file
Automated actions & tolerances — `base.automation` rules flag batches whose actual yield falls outside a configurable tolerance band, or warn when a chosen lot's potency can't meet target
Security via `ir.model.access.csv` + record rules — formulas, potency data, and cost policies are permissioned by role (e.g. formulator vs operator vs finance), with multi-company record rules where needed
XML-RPC / JSON-RPC API surface — read/write formulas, trigger scaled batches, and pull yield-variance data from external LIMS, ERP, or planning tools
Lot & traceability integration — full backward/forward traceability from finished batch to the exact raw-material lots and potencies consumed, using Odoo's native stock move and lot model

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

Standard Odoo MRP is built for discrete assembly — you consume fixed quantities of components to build one finished good. Chemical, cosmetics, food, nutraceutical, coatings, and other process manufacturers don't work that way. You mix ingredients by percentage or ratio, a single batch yields a main product plus valuable co-products and unavoidable by-products, real yield never equals theoretical yield, and every incoming lot of raw material has a different assay or potency that must be compensated for so the finished formula stays in spec.

This is a BUILD-TO-ORDER Odoo module — ECOSIRE designs, develops, installs, and supports it for your specific formulas and quality rules. It is not an existing apps.odoo.com download, and there is no instant-download claim; you receive a bespoke, production-hardened extension of your MRP configured to your process. Typical lead time is one working week from confirmed requirements.

Technically, the module extends mrp.bom and mrp.bom.line with percentage/ratio-based formulas, adds co-product and by-product output lines with a value-allocation policy, introduces batch-size (yield) scaling that recomputes every ingredient line, and stores potency/concentration per lot (stock.lot) so ingredient quantities auto-adjust to hit a target active content. Compute fields use @api.depends for live recalculation, unit-of-measure conversion leverages Odoo's native uom.uom categories (volume ↔ weight via density), and theoretical-vs-actual yield variance is captured on the manufacturing order (mrp.production) and surfaced in QWeb batch/production reports. Access is governed by ir.model.access.csv and record rules; automated actions (base.automation) can flag out-of-tolerance yield or expiring lots. Everything is exposed over Odoo's XML-RPC/JSON-RPC API so LIMS, PLM, or scheduling systems can read and write formulas and batches. Runs on Odoo 17, 18, and 19, Community or Enterprise (Enterprise-only dependencies, if any, are called out before build).

The result: your production planners build a batch by choosing a batch size, and the recipe scales, converts UoM, and corrects for lot potency automatically — while finance gets correct cost allocation across co-products and by-products, and QA gets a defensible yield-variance and traceability trail.

What you get

  • Custom Odoo module (source code) — a versioned, installable addon with a clean `__manifest__.py`, extended MRP models, XML/OWL views, `ir.model.access.csv`, record rules, and QWeb reports, delivered to your Odoo 17/18/19 instance
  • Configured formulas & UoM setup — your initial recipes, density-based UoM conversions, potency fields, and cost-allocation policies configured and validated against sample batches
  • Data migration/import (as scoped) — import of existing formulas/BOMs and raw-material assay data from spreadsheets or a legacy system into the new percentage-BOM structure
  • Technical & user documentation — a written admin/config guide plus an end-user runbook covering formula creation, batch scaling, potency correction, and report printing
  • Live training session(s) — role-based training for formulators, production planners, QA, and finance, recorded for onboarding future staff
  • Deployment & smoke-testing — installation on your staging then production instance with post-install verification (formula totals, yield calc, UoM conversion, permissions) before go-live
  • Warranty & support window — a defined post-launch support period for bug fixes and adjustments, plus a documented process for future change requests
  • API/integration handover (if in scope) — documented XML-RPC/JSON-RPC endpoints and example calls so your LIMS or external systems can integrate with the formulas and batches

Who this is for

Chemical / coatings production manager

Runs batch reactors and blending lines where output is measured by yield, not unit count. Needs recipes that scale to any batch size, correct cost across co-products, and a clear theoretical-vs-actual yield trail for every run.

Cosmetics & personal-care formulator

Works in percentage formulas (INCI-style) and must keep active-ingredient concentration exactly in spec across batches. Needs percentage BOMs, potency-based lot correction, and reproducible, version-controlled recipes.

Food, nutraceutical & supplement manufacturer

Blends ingredients by ratio, produces by-products, and must adjust for varying potency of natural raw materials (e.g. active assay per lot). Needs UoM conversion, lot traceability, and defensible yield/cost records for audits.

ERP / operations lead evaluating Odoo for process manufacturing

Has chosen Odoo but discovered core MRP is discrete-only. Needs a supported, upgrade-safe module that adds true process/formula manufacturing without forking Odoo or gluing together brittle third-party apps.

How Chemical & Process Manufacturing (Formula/Recipe) Compares

CriterionECOSIRECustom BuildCompetitorOdoo Native
Percentage/ratio formula BOMs (auto-total to 100%)Built in — percentage lines with live-computed quantities and validationPossible but you design and maintain the compute logic yourselfVaries by app; often fixed-qty only or partial %Not supported — MRP BOMs are fixed-quantity, discrete
Co-product & by-product outputs from one batchFull support with per-output valuation and traceabilityBuildable but non-trivial to get costing rightSome apps support by-products; co-product costing often weakBy-products only in a limited form; no formula-grade co-product costing
Batch yield scaling (recipe recomputes to target batch size)One field scales all ingredient lines automaticallyRequires custom compute fields and testingSometimes present, rarely with UoM-aware scalingManual — no batch-size-driven recomputation
Potency/concentration lot adjustmentPer-lot potency auto-corrects consumed quantity to hit targetRarely attempted; complex to model and validateUncommon in off-the-shelf appsNot available
Theoretical-vs-actual yield variance captureComputed and stored on every manufacturing order + reportsYou build the fields and reportsInconsistent; often not tied to formula mathNot tracked as a formula yield concept
Density-aware volume ↔ weight UoM conversionBuilt on Odoo UoM categories with density handlingMust implement conversion and rounding carefullyBasic UoM only; density handling rareUoM exists but no formula/density-aware conversion
Fit to your exact formulas, QA rules & cost policyConfigured to your process and handed over with sourceFully yours — but full build + maintenance cost is on youGeneric; you bend your process to the appNot applicable — feature absent
Support, warranty & upgrade path (Odoo 17/18/19)Defined support window + optional maintenance/upgrade agreementDepends entirely on your in-house team's availabilityVendor-dependent; quality and responsiveness varyCovered by Odoo, but the capability itself doesn't exist

Frequently Asked Questions about Chemical & Process Manufacturing

How long does delivery take, and is this an instant download?

This is a build-to-order module, not an instant apps.odoo.com download. After we confirm your requirements (formulas, UoM/density rules, potency logic, and cost-allocation policy), typical delivery is one working week depending on scope and data migration. You get scheduled check-ins, a staging deployment for review, then a verified production go-live — you are never left with an unconfigured download.

What ongoing support and updates do I get after launch?

Every build includes a defined post-launch support and warranty window for bug fixes and adjustments. We also test the module against your target Odoo version (17, 18, or 19) and can quote a maintenance/upgrade agreement to keep it compatible when you move to a newer Odoo release. Future feature changes are handled as scoped change requests so your customization stays clean and upgrade-safe.

Does this work with Odoo Community or only Enterprise, and which versions?

The module targets Odoo 17, 18, and 19 and is designed to run on Community or Enterprise. Most process-manufacturing logic (percentage BOMs, co-/by-products, yield, potency, UoM) builds on Odoo's core MRP and stock models. If any part of your scope needs an Enterprise-only feature, we flag it before development so there are no surprises.

How does potency/concentration adjustment actually work?

We store the active-content percentage on each raw-material lot (`stock.lot`). When you build a batch, the module compares the chosen lot's potency to the formula's target active content and auto-adjusts the consumed quantity so the finished product stays in spec — dispensing more of a weak lot or less of a strong one. The batch record captures which lots and potencies were used for full traceability.

Will this survive Odoo upgrades, or is it a fragile hack?

We build it as a proper Odoo addon — a clean `__manifest__.py`, models that extend (not overwrite) core MRP via inheritance, XML/OWL views, `ir.model.access.csv` and record rules for security, and QWeb reports. Because it extends core models rather than replacing them, it upgrades far more cleanly than ad-hoc customizations. We hand over the source so you're never locked in.

Can it integrate with our LIMS or external planning systems?

Yes. All formula, batch, and yield data lives in standard Odoo models exposed over Odoo's XML-RPC and JSON-RPC APIs. External systems can read recipes, create scaled batches, and pull theoretical-vs-actual yield and lot-potency data. We can also document endpoints and provide example calls as part of the integration handover if that's in scope.

How are costs split between the main product, co-products, and by-products?

You choose an allocation policy — by physical quantity, by relative sales value, or fixed percentages — and the module distributes total batch cost across all outputs accordingly. This keeps main-product margins accurate and gives finance a defensible cost breakdown per co-product and by-product for every batch.

Request a quote

Chemical & Process Manufacturing

Custom-built Odoo module for process/formula manufacturing: percentage recipes, co-/by-products, yield scaling, and potency correction.

  • Percentage/ratio-based formula BOMs — define each ingredient as a % or ratio of the batch instead of a fixed quantity, with a live-computed absolute quantity per `mrp.bom.line` that must total 100% (validated on save)
  • Batch yield scaling — enter a target batch size (kg, L, or units) and every ingredient line recomputes proportionally via `@api.depends` compute fields, no manual math
  • Co-product output handling — a single batch produces multiple valuable finished goods from one run, each as its own output line that posts to stock and receives an allocated share of batch cost
  • By-product handling — capture unavoidable outputs (scrap, residue, recoverable solvent) with their own valuation policy so they don't distort main-product cost

Request a Quotation

Tell us about your Chemical & Process Manufacturing 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.