Custom-built Odoo module for process/formula manufacturing: percentage recipes, co-/by-products, yield scaling, and potency correction. One-time license from $799.00 USD for Odoo 17, 18, 19 — includes 12 months of updates and support.

Custom-built Odoo module for process/formula manufacturing: percentage recipes, co-/by-products, yield scaling, and potency correction.
No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.
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.
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
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 2–4 weeks 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.
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.
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.
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.
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.
Buy the license on ecosire.com and download the Chemical & Process Manufacturing (Formula/Recipe) module ZIP from your account dashboard.
Extract the ZIP into your Odoo custom addons folder on the server (or upload via Apps > Install from file on Odoo.sh / runbot).
Activate Developer Mode, open Apps, click Update Apps List, search for Chemical & Process Manufacturing (Formula/Recipe), and press Install.
Open the new menu, paste your ECOSIRE license key, connect any external credentials (Shopify, Amazon, Stripe, etc.), and save.
Run the built-in connection test, sync your first 10 records, and schedule the recurring cron. Contact support if anything fails.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Percentage/ratio formula BOMs (auto-total to 100%) | Built in — percentage lines with live-computed quantities and validation | Possible but you design and maintain the compute logic yourself | Varies by app; often fixed-qty only or partial % | |
| Co-product & by-product outputs from one batch | Full support with per-output valuation and traceability | Buildable but non-trivial to get costing right | Some apps support by-products; co-product costing often weak | |
| Batch yield scaling (recipe recomputes to target batch size) | One field scales all ingredient lines automatically | Requires custom compute fields and testing | Sometimes present, rarely with UoM-aware scaling | |
| Potency/concentration lot adjustment | Per-lot potency auto-corrects consumed quantity to hit target | Rarely attempted; complex to model and validate | Uncommon in off-the-shelf apps | |
| Theoretical-vs-actual yield variance capture | Computed and stored on every manufacturing order + reports | You build the fields and reports | Inconsistent; often not tied to formula math | |
| Density-aware volume ↔ weight UoM conversion | Built on Odoo UoM categories with density handling | Must implement conversion and rounding carefully | Basic UoM only; density handling rare | |
| Fit to your exact formulas, QA rules & cost policy | Configured to your process and handed over with source | Fully yours — but full build + maintenance cost is on you | Generic; you bend your process to the app | |
| Support, warranty & upgrade path (Odoo 17/18/19) | Defined support window + optional maintenance/upgrade agreement | Depends entirely on your in-house team's availability | Vendor-dependent; quality and responsiveness vary |
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 2–4 weeks 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.
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.
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.
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.
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.
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.
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.
Custom-built Odoo module for process/formula manufacturing: percentage recipes, co-/by-products, yield scaling, and potency correction.