MRP Process Control for Odoo 19 Manufacturing
Enforce QA approval before an operation starts and after it finishes — directly inside Manufacturing and Shop Floor. Operators cannot skip ahead until Quality signs off.
Overview
This Captivea module extends standard Odoo Quality Control Points with a QA Approval setting. Each work-order check can require QA sign-off: block the operation start, or hold the next step and MO closure until QA approves the finished output.
No separate data model — approvals are configured on existing quality.point
records linked to BOM operations. Enforcement runs in the backend and on Shop Floor,
with clear Operation Start Status badges and structured error messages naming the
blocking quality check.
Key Features
QA Approval modes
- No Approval — standard Odoo quality check behaviour
- Approval to Start Operation — work order cannot start until QA passes
- Approval After Finishing Operation — operation may finish; downstream steps wait
Operation start status
- Badge on MO Work Orders tab, work order lists, and forms
- Ready to Start / QA Approval Required / Previous Operation Required
- Search filters and group-by on Manufacturing → Operations → Work Orders
- Badges refresh automatically when QA checks are passed or failed
Strict sequencing
- Operations follow BOM sequence — no skipping ahead
- Approval After Finish on a completed operation blocks the next operation start
- MO Mark as Done blocked while any after-finish approval is still pending
- Clear multi-line errors: MO, operation, and quality check names
Shop Floor integration
- Start blocked on Shop Floor when approval is still pending
- Done remains available for Approval After Finish (operation can complete)
- Only users with Quality / User or Quality / Administrator explicitly assigned can approve from Shop Floor
- Approving a start check does not auto-start the operation
QA Approval Options
| QA Approval | Start operation | Finish operation | Next operation / MO close |
|---|---|---|---|
| No Approval | Allowed | Requires check per standard Odoo rules | Standard behaviour |
| Approval to Start | Blocked until QA passes | Allowed once started | Follows operation sequence |
| Approval After Finish | Allowed (if previous ops clear) | Allowed even if QA pending | Blocked until QA passes |
Configuration & Flow
Install MRP Process Control, configure QA Approval on your BOM Quality Control Points, then confirm Manufacturing Orders as usual.
01 — Install & prerequisites
Apps → search MRP Process Control → Install.
Requires Odoo 19 Enterprise with Manufacturing Work Orders
(mrp_workorder) and Quality Control
(quality_mrp, quality_mrp_workorder).
No migration — existing Quality Control Points can be updated in place.
02 — Configure QA Approval on a Quality Control Point
Open your product Bill of Materials → select an operation →
add or edit a Quality Control Point (e.g. Pass / Fail or Measure).
Set QA Approval to one of:
- Approval to Start Operation — use when QA must sign off before the operator begins (incoming material check, setup validation, line clearance).
- Approval After Finishing Operation — use when the operation can run and finish, but QA must approve the output before the next step or MO closure (in-process inspection, post-op sampling).
The field appears on the QCP form and routing list for work-order steps only.
Odoo generates a quality.check per work order when the MO is confirmed.
03 — Assign Quality users for Shop Floor approval
Settings → Users → open each QA team member → under
Quality, tick User or Administrator
directly on the user form (not only inherited via Manufacturing).
Shop floor operators with only Manufacturing / User can run
operations but cannot approve QA checks from Shop Floor — the step appears
greyed out and the server blocks pass/fail actions. QA can still approve from
the Quality app with standard access.
04 — Monitor operation start status on work orders
On the Manufacturing Order Work Orders tab, each pending operation shows an Operation Start Status badge when it cannot start yet:
- QA Approval Required — this operation has a pending Approval to Start check
- Previous Operation Required — a prior operation is unfinished, or an Approval After Finish on a completed operation is still pending
Use filters under Manufacturing → Operations → Work Orders to find operations waiting on QA across the shop.
05 — Flow: Approval to Start Operation
Example: BOM with Cut → Assemble. Assemble requires Approval to Start.
- Confirm the Manufacturing Order and plan work orders.
- Complete the Cut operation (if applicable).
- Open Assemble — Operation Start Status shows QA Approval Required.
- Operator clicks Start (backend or Shop Floor) → blocked with a message naming the quality check.
- QA passes the pending check (Quality app or Shop Floor, if authorized).
- Operation Start Status becomes Ready to Start — operator starts manually when ready.
- The operation does not auto-start after QA approval.
06 — Flow: Approval After Finishing Operation
Example: Cut requires Approval After Finish; Assemble follows.
- Confirm the MO and run the Cut operation.
- Operator marks Cut Done — succeeds even while the after-finish QA check is still pending.
- Try to start Assemble → blocked until QA passes the Cut after-finish check.
- QA inspects the output and passes the check.
- Assemble can now start.
- If any Approval After Finish remains pending anywhere on the MO, Mark as Done on the manufacturing order is also blocked.
07 — MO closure & error messages
When approval is still missing, Odoo raises a structured message:
Operation cannot be started because the required quality inspection has not been approved. Manufacturing Order: MO/00123 Operation: Cut Quality Check: QC-Cut-001
The same format applies when closing an MO with a pending Approval After Finish.
08 — QC Pass
Once the QC is passed, we are allowed to proceed to close the MO.
Process Flow Summary
Approval to Start
MO Confirmed → QC generated → Start blocked → QA passes → Ready to Start → Operator starts → Operation runs → Done
Approval After Finish
MO Confirmed → Operation runs → Done allowed → Output to QA → Next op / MO close blocked → QA passes → Next operation proceeds
Requirements
- Odoo 19 Enterprise
- Manufacturing Work Orders (
mrp_workorder) - Quality for Manufacturing (
quality_mrp,quality_mrp_workorder) - Quality Control Points configured on BOM operations
- QA team members with Quality / User or Quality / Administrator explicitly assigned for Shop Floor approval
Need Help?
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Manufacturing (mrp)
• Employees (hr) • Discuss (mail) • Inventory (stock) • Quality (quality_control) |
| Lines of code | 525 |
| Technical Name |
cap_mrp_process_control |
| License | OPL-1 |
| Website | https://www.captivea.com/ |
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module