⚡ 1. System Overview & Parallel Track Architecture
The GreenWood factory workflow links commercial sales with factory production into one continuous, transparent flow in Odoo 19. Upon qualification (Stage 2 $\rightarrow$ 3), Odoo automatically creates the Client Delivery Project and assigns it to the Technical Office Lead. The Technical Office logs 3D renders and BOQ costing directly in Project Management, while the Sales Rep drives quotations and approvals in CRM. When the deal is won and 50% deposit received (Stage 9), factory manufacturing is authorized. If the deal is lost, the project is terminated.
-
1 New Inquiryاستفسار جديد
-
2 Qualified Prospectعميل محتمل مؤهل (اجتماع Kickoff)
-
3 Design & Costingالتصميم والتسعير (⚡ إنشاء المشروع)
-
4 Quotation Sentتم إرسال عرض السعر
-
5 Site Visitزيارة الموقع والرفع المساحي
-
6 Negotiation & Revisionالتفاوض والتعديل
-
7 Final Design Approved⚠️ Quality Gate
-
8 Won - Ready for Productionتم الفوز - جاهز للإنتاج
-
9 Won - Handed to Production🚀 تفويض الإنتاج
-
1 Design & Costing Verificationتدقيق التصميم وقائمة المواد BOM (3D)
-
2 Final Design & Specs Approvedاعتماد المخططات التنفيذية والمشتريات
-
3 Production Planningتخطيط الإنتاج وصرف الأخشاب (مفوض)
-
4 Manufacturingالقص والكبس والنجارة والدهان
-
5 Quality Controlمراقبة الجودة والتخزين المؤقت
-
6 Ready for Deliveryالتغليف والتحميل والترحيل للموقع
-
7 Delivered / Closedالتركيب واستلام محضر الـ PAC
Stage 3 Auto-Spawning & Stage 9 Production Authorization
Odoo automatically creates the project at Stage 3 (*Design & Costing*), assigning it directly to the Technical Office Lead to manage pre-sale engineering. When the deal is won at Stage 9 (*Won - Handed to Production*), Odoo posts a production authorization message to begin factory floor cutting and joinery. If the deal is lost, Odoo alerts the project for termination.
📊 2. Real-Life Order Lifecycle: 3-Column Correlation Matrix
👑 Parallel Execution & Authority Timeline
Operational Breakdown: The Project is created at Stage 3 so the Technical Office can work inside Project Management in parallel with Sales in CRM.
| Pipeline Phase | CRM Status (Sales Rep) | Project Status (Technical Office Lead) |
|---|---|---|
| CRM Stages 1 – 2 | 💼 Sales Rep Lead capture & qualification | No Project Exists Yet |
| Stage 3 (Design & Costing) | 💼 In Design Estimation Sets scope & requirements | ⚡ Project Auto-Created Assigned to Technical Office Lead (3D & BOQ) |
| CRM Stages 4 – 8 | 💼 Commercial Execution Quotes, laser surveys, negotiations & 50% deposit | Pre-Sale Engineering (Stages 1-2) Logs survey dimensions & finalizes cutting lists |
| Stage 9 (Handover) | 🚀 Won - Handed to Production Deal won + 50% deposit confirmed | 🏭 Production Authorized Moves to Stage 3 Production Planning & Cutting |
| If Deal is Lost | ❌ Lost Client cancels or rejects terms | ⚠️ Project Terminated / Closed Odoo alerts project; technical team terminates |
Follow the exact 3-column correlation for order: "Boutique Hotel: 40 Luxury Wooden Suites & Fire-Rated Doors" (1,250,000 SAR).
| 1. Real-Life Business Event (Customer & Factory Reality) | 2. 🟦 CRM Module Reflections (`crm.lead`) Controller: Sales Rep |
3. 🟩 Project Management Reflections (`project.project`) Conductor: Technical Office Lead |
|---|---|---|
|
1. Hotel client calls for custom woodwork & doors. 40 luxury suites and fire-rated guestroom doors. |
🟦 1. New Inquiry Status: Opportunity logged. Action: Enter contact info & project scope. Sales Rep |
No Project Exists Yet |
|
2. Meeting confirms 1.25M SAR budget. Design Kickoff held. Technical team assigned for pre-sale estimation. |
🟦 2. Qualified Prospect Status: Commercial deal qualified. Action: Set budget; assign `Technical Office Lead`. Sales Rep + Technical Office Lead |
No Project Exists Yet |
|
3. Lead enters Design & Costing. Project auto-spawned! Suite headboard 3D models and timber quantities calculated. |
🟦 3. Design & Costing Status: Commercial proposal in prep. Action: Sales Rep tracks pricing requirements. Sales Rep |
🟩 1. Design & Costing Verification Status: ⚡ Project Auto-Created & Active. Action: Tech Office logs 3D renders & preliminary BOQ. Technical Office Lead |
|
4. Official quotation submitted to client. Formal commercial proposal sent with payment terms. |
🟦 4. Quotation Sent Status: Proposal under client review. Action: Track quote PDF submission in Odoo. Sales Rep |
🟩 1. Design & Costing Verification Status: Pre-sale concepts awaiting feedback. Technical Office Lead |
|
5. Site visit completed for laser scans and dimensions. Laser scanning of 40 door openings and wall plumbness. |
🟦 5. Site Visit Status: Site survey completed. Action: Log site survey date and notes in CRM. Sales Rep |
🟩 1. Design & Costing Verification Status: Site laser data integrated. Action: Tech Office updates opening dimensions in project. Technical Office Lead |
|
6. Client requests walnut veneer; price revised and agreed. Veneer finish upgraded from standard oak to natural walnut. |
🟦 6. Negotiation & Revision Status: Commercial terms revised. Action: Update quotation with revised walnut pricing. Sales Rep |
🟩 1. Design & Costing Verification Status: Material specs updated. Action: Update BOQ costing for walnut finish. Technical Office Lead |
|
7. Client signs final shop drawings, BOQ, and finish sample board. Official client sign-off on design and specifications. |
🟦 7. Final Design Approved Status: Quality Gate locked. Action: Click "Record Client Approval", upload signed PDF. Sales Rep |
🟩 2. Final Design & Specs Approved Status: Pre-sale engineering approved. Action: Finalize fabrication cutting lists & procurement specs. Technical Office Lead |
|
8. Client pays 50% advance deposit; contract fully signed. Bank deposit confirmed by accounting department. |
🟦 8. Won - Ready for Production Status: Commercial win confirmed. Action: Accountant verifies deposit; deal moves to Won. Accountant + Sales Rep |
🟩 2. Final Design & Specs Approved Status: Ready for production authorization. Action: Logistics pre-orders walnut veneer & hardware. Technical Office Lead + Logistics Lead |
|
9. Sales Rep hands over dossier to Factory. Sales cycle completed; manufacturing authorized. |
🟦 9. Won - Handed to Production Status: Handover completed. Action: Sales Rep advances stage; **🚀 Authorizes Factory Floor**. Sales Rep |
🟩 3. Production Planning Status: 🏭 Factory Manufacturing Authorized. Action: Issue cutting lists to floor; warehouse issues wood. Technical Office Lead + Production Lead |
|
10. Logistics buys walnut veneer & hinges; Warehouse receives stock. Suppliers deliver materials to factory warehouse. |
🟦 9. Won - Handed (Preserved) |
🟩 3. Production Planning Status: Raw materials received & staged. Action: Warehouse Keeper inspects & stages wood. Warehouse Keeper + Logistics Lead |
|
11. Warehouse issues timber to floor; machines scheduled. Kiln-dried timber and walnut sheets released to carpentry. |
🟦 9. Won - Handed (Preserved) |
🟩 3. Production Planning Status: Timber issued & machines booked. Action: Issue wood to floor; schedule CNC & pressing lines. Warehouse Keeper + Production Lead |
|
12. Factory cuts, routes, presses veneer, lacquers, and assembles. 40 hotel suite packages manufactured on factory floor. |
🟦 9. Won - Handed (Preserved) |
🟩 4. Manufacturing Status: Joinery, pressing & spraying in progress. Action: CNC cutting, edge banding, veneering & lacquering. Production Lead |
|
13. QC inspects moisture %, dimensions, and finish. All items checked against tolerances and moved to holding. |
🟦 9. Won - Handed (Preserved) |
🟩 5. Quality Control Status: Quality approved. Action: Moisture (<10%) & lacquer test; move to dispatch bay. Production Lead + Tech Office + WH |
|
14. Items crated and loaded on trucks from warehouse. Protective wooden crates loaded on transport trucks. |
🟦 9. Won - Handed (Preserved) |
🟩 6. Ready for Delivery Status: Transport in transit to site. Action: Warehouse releases items; Logistics crates & loads trucks. Warehouse Keeper + Logistics Lead |
|
15. Site installation completed; client signs PAC; final invoice sent. On-site fitting signed off; balance invoice released. |
🟦 9. Won - Handed (Preserved) |
🟩 7. Delivered / Closed Status: Project 100% completed & closed. Action: Client signs PAC; Tech Office closes; Accountant bills. Logistics Lead + Tech Office + Accountant |
|
[EXCEPTION] Client cancels or deal is lost at any pre-sale stage. Commercial negotiations terminated. |
❌ Lost Status: Commercial deal lost. Action: Sales marks Lost with reason. Sales Rep |
⚠️ Terminated / Closed Status: Pre-sale project cancelled. Action: Tech Office closes project; logs hours/costs. Technical Office Lead |
👥 3. Factory Roles & Exact Responsibilities
- Owns and drives the CRM Pipeline from New Inquiry through Won Handover.
- Holds the Design Kickoff Meeting upon lead qualification (Stage 2 $\rightarrow$ 3).
- Coordinates site visits, customer revisions, and issues formal commercial quotations.
- Executes the "Record Client Approval" wizard upon receiving signed drawings/BOQ.
- Confirms 50% deposit with the Accountant, then advances to Won - Handed to Production.
- Owns and manages the Project Management Workspace in Odoo right from Stage 3.
- Prepares 3D concept renders, site laser survey reports, and preliminary BOQ costing in the project.
- Prepares fabrication shop drawings, cutting lists, and production Bills of Materials (BOM).
- Issues purchase requisitions to the Logistics Lead and confirms stock with the Warehouse Keeper.
- Schedules production with the Production Lead upon Stage 9 handover; approves QC inspections.
- Closes the project upon receiving the signed PAC and alerts the Accountant.
- Directs carpentry, CNC routing, veneer pressing, assembly, and spray booth finishing.
- Receives raw timber and hardware from the Warehouse Keeper against cutting lists.
- Conducts moisture (<10%), dimensional, and finish tolerance checks in Quality Control.
- Transfers inspected items to the warehouse dispatch holding area.
- Purchasing: Procures raw timber, veneers, specialized hardware, lacquers, and packaging supplies based on the Technical Office BOM.
- Packaging & Dispatch: Manages foam wrapping, protective wooden crating, and truck dispatch.
- Site Installation: Coordinates delivery permits and supervises on-site installation fitting.
- Client PAC: Secures the signed Handover Certificate (PAC) from the client and delivers it to the Technical Office Lead and Accountant.
- Receives and stores raw timber, veneers, hardware boxes, and paints from suppliers.
- Issues exact timber and hardware batches to the factory floor against Technical Office cutting lists.
- Holds inspected finished goods securely in the dispatch bay prior to transport loading.
- Supervises truck loading with the Logistics Lead against the transport manifest.
- Deposit Gatekeeper: Verifies receipt of client 50% deposit before CRM Stage 8 (*Won - Ready for Production*).
- Job Costing: Reconciles purchasing invoices from the Logistics Lead against project budgets.
- Final Settlement: Issues final balance invoices upon project closure and receipt of the signed PAC.
⚙️ 4. Technical Specifications & Odoo Code Reference
1. Module Dependencies & Environment
- crm: Powers commercial sales pipeline (controlled by Sales Rep).
- project: Powers factory delivery workspace (conducted by Technical Office Lead from Stage 3).
- documents (Optional): Automatically creates organized project folder structures.
2. Quality Gate Enforcer (Python)
- Method:
_greenwood_validate_stage()oncrm.lead - Rule: Blocks progression to final_design_approved, won_ready_production, or won_handed_production unless
greenwood_design_approval_attachment_idis populated.
3. Automated Stage 3 Project Spawner & Lost Deal Alert
- Method:
_greenwood_apply_stage_actions()andaction_set_lost()oncrm.lead - Action: Clones project at Stage 3 (*design_costing*), assigns
user_id = greenwood_technical_user_id. If marked as Lost, posts cancellation notification directly to the project.
4. Database Integrity
- Constraint:
_greenwood_lead_unique = models.Constraint("UNIQUE(greenwood_lead_id)")onproject.projectguarantees zero duplicate project creation.