Odoo · Manufacturing

Two-Stage Perfume Manufacturing Workflow with Security Configuration

May 30, 2026 · 10 min read · Aaqib Bajwa

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:

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

  1. Create Product: MIX PERFUME A
  2. Assign Category: Fragrance / All / Mixed
  3. Set Product Type: Storable Product
  4. Set UoM: KG or Liters
  5. Create BoM under Product → Bill of Materials
  6. Set BoM Reference: MIXING
  7. Add raw materials: Oils, Alcohol, Fixatives

3. Phase Two: Packaging BoM (Finished Goods)

Example product: PERFUME A 100ml (Category: Finished Goods)

Configuration Steps

  1. Select Product: PERFUME A 100ml
  2. Set Category: Finished Goods
  3. Set UoM: PCS
  4. Define BoM Quantity (e.g., 192 PCS per Master Carton)
  5. Add mixture component: MIX PERFUME A (e.g., 19.2 KG)
  6. Add hardware: bottles, pumps, caps, stickers
  7. Add packaging: unit boxes, inner boxes, master cartons

4. Manufacturing Order (MO) Execution Flow

Step 1: Create Packaging MO

  1. Go to Manufacturing → Operations → Manufacturing Orders
  2. Create new MO for PERFUME A 100ml
  3. Set quantity (e.g., 192 units)
  4. Click Confirm

Step 2: Juice Dependency Handling

Step 3: Production Execution

  1. Produce MIX PERFUME A → consume raw materials → Mark Done
  2. Once available, complete the PERFUME A 100ml MO
  3. 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:

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

7. Maintenance & Audit

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