This document defines the standardized two-stage manufacturing workflow in Odoo v18, covering fragrance production, packaging, manufacturing execution, and system-level security controls. The goal is to ensure accurate costing, traceability, and strict formula confidentiality.
1. Overview of Two-Stage Manufacturing
The production process is divided into two controlled phases:
- Phase 1: Fragrance Mixing (Bulk “Juice” Production)
- Phase 2: Packaging & Finished Goods Production
This structure ensures that raw formula ingredients remain isolated from packaging operations and improves inventory accuracy.
2. Phase One: Fragrance Mixture BoM (The "Juice")
Example product: MIX PERFUME A (Category: Fragrance / All / Mixed)
Configuration Steps
- Create Product: MIX PERFUME A
- Assign Category:
Fragrance / All / Mixed - Set Product Type:
Storable Product - Set UoM:
KGorLiters - Create BoM under Product → Bill of Materials
- Set BoM Reference:
MIXING - Add raw materials: Oils, Alcohol, Fixatives
3. Phase Two: Packaging BoM (Finished Goods)
Example product: PERFUME A 100ml (Category: Finished Goods)
Configuration Steps
- Select Product: PERFUME A 100ml
- Set Category:
Finished Goods - Set UoM:
PCS - Define BoM Quantity (e.g.,
192 PCSper Master Carton) - Add mixture component: MIX PERFUME A (e.g.,
19.2 KG) - Add hardware: bottles, pumps, caps, stickers
- Add packaging: unit boxes, inner boxes, master cartons
4. Manufacturing Order (MO) Execution Flow
Step 1: Create Packaging MO
- Go to Manufacturing → Operations → Manufacturing Orders
- Create new MO for PERFUME A 100ml
- Set quantity (e.g.,
192 units) - Click Confirm
Step 2: Juice Dependency Handling
- MTO Flow: Odoo automatically creates an MO for MIX PERFUME A.
- Manual Flow: Create a separate MO for MIX PERFUME A first.
Step 3: Production Execution
- Produce MIX PERFUME A → consume raw materials → Mark Done
- Once available, complete the PERFUME A 100ml MO
- Consume bottles, caps, cartons → Mark Done
5. Security & Access Control Configuration
5.1 Hide Bills of Materials Menu
Restrict BoM visibility for standard users by updating menu visibility rules in:
Settings → Technical → User Interface → Menu Items
5.2 Record Rules for Manufacturing Orders
Restrict users to their own manufacturing orders using domain filters:
['|', ('user_id', '=', user.id), ('create_uid', '=', user.id)]
5.3 Product Category Security (Department Isolation)
Manufacturing access is separated by product category using group-based domains:
- Formulation Group: Category 80 only
- Packaging Group: Category 61 only
- Admin Group: Full access to both
XML View Logic (Product Filtering in MO)
Product selection in the Manufacturing Order is restricted using group-based domains:
<field name="product_id" groups="Fragrance.Formulation" domain="[('categ_id', 'child_of', 80)]"/>
<field name="product_id" groups="Finish_goods.raw_material" domain="[('categ_id', 'child_of', 61)]"/>
<field name="product_id" groups="mrp.group_mrp_manager" domain="[('categ_id', 'child_of', [61, 80])]"/>
6. Key Security Principles
- Manufacturing users cannot access BoM formulas.
- Formula (Juice) is strictly separated from the packaging process.
- Each department sees only its assigned product categories.
- Admins retain full visibility across the system.
7. Maintenance & Audit
- Review security groups quarterly.
- Test with non-admin accounts after any configuration changes.
- Ensure no accidental assignments are made to the admin group.
Always validate security rules using a standard Manufacturing User account. Odoo administrators bypass record rules by default.
System: Odoo v18 SaaS Enterprise
Reference: Security_Setup_v1.0