An Odoo 18 module for managing customer complaints at AlMiyah Djazair, a public water supply company serving 4 provinces in Algeria. It automates complaint registration (via web portal or agency counter), classification (technical/commercial), team assignment, processing workflows, and status tracking — across the company's central headquarters and multiple agency branches.
Project: Progiciel de Gestion Intégré (Integrated Management System)
Institution: École Nationale Supérieure d'Informatique (ESI)
Academic Year: 2025/2026
Team: 2CSSIT ESI
- Project Context
- Features
- Architecture
- Installation
- Usage
- Module Structure
- Technical Stack
- Key Actors
- License
AlMiyah Djazair is an establishment responsible for providing drinking water to households and businesses across multiple provinces. The company operates through:
- A central headquarters
- Multiple agency branches in different municipalities
This module addresses the need to standardize and automate complaint management processes across all agencies.
-
Multiple Submission Channels:
- Online form via web portal
- Direct submission at agency counter by customer service agents
- Internal surveillance cell complaints
-
Complaint Types:
- From citizens
- From enterprises
- From internal surveillance cells
-
Complaint Information:
- Date of complaint
- Complaint subject/object
- Detailed description
- Claimant information (name, address, municipality, phone, email)
- Supporting documents/attachments
- Automatic agency assignment
- Unique complaint ID (receipt/acknowledgment)
-
Portal Features:
- Web form for complaint submission
- Automatic receipt generation
- Complaint status tracking
- Document upload capability
- Assigned to commercial agents team
- Redressment commission formation
- Official meeting minutes (PV) signed by all members
- Accountant validation for:
- Compensation decisions
- Refund authorizations
- Invoice rectification
- Assigned to technical intervention teams
- Diagnostic establishment
- Complexity and severity evaluation
- Multi-visit scheduling capability
- Repair action documentation
- Intervention team leader logs all activities
- Complaint categorization (technical/commercial)
- Team assignment by agency manager
- Customer service agent assignment
- Status tracking
- Archiving upon completion
The module extends existing Odoo CRM and contacts modules:
- crm.lead - Extended to handle complaint records
- res.users - Extended to link users to agencies
- res.partner - Uses company contacts as agencies
Main complaint model with fields for:
- Complaint number (auto-generated)
- Complaint object and description
- Claimant type (citizen/enterprise/surveillance cell)
- Category (technical/commercial)
- Agency assignment
- Status tracking
- Documents/attachments
Wizard for assigning complaints to teams and agents:
- Team selection based on complaint category
- Agent assignment
- Notes and additional information
- Complaint submission form
- Status tracking page
- Document management interface
- Odoo 18.0 or compatible version
- Python 3.8+
- Required dependencies: CRM, Contacts, Accounting modules
-
Clone the repository:
git clone https://github.com/yourusername/almiyah-complaint-management.git cd almiyah_complaint -
Place in Odoo addons directory:
cp -r almiyah_complaint /path/to/odoo/addons/
-
Update module list in Odoo:
- Navigate to Apps > Update Apps List
-
Install the module:
- Search for "AlMiyah Djazair - Gestion des Réclamations"
- Click Install
-
Configure security rules (if needed):
- Set up access control in Security tab
- Assign user roles and permissions
Option 1: Web Portal Submission
- Navigate to
/reclamation - Fill in complaint form with:
- Complaint subject
- Detailed description
- Claimant information (auto-filled if registered)
- Attach supporting documents
- Submit form
- Receive automatic receipt with complaint number
- Track complaint status anytime via portal
Option 2: Agency Counter Submission
- Visit local agency office
- Provide complaint details to customer service agent
- Agent enters details into system
- Receive printed receipt with complaint number
- Create new complaint record
- Enter claimant information
- Categorize complaint (technical/commercial)
- Send automatic confirmation email to claimant
- Route to appropriate department
- Review pending complaints
- Classify complaint type (technical/commercial)
- Assign to appropriate team/agents using assignment wizard
- Monitor progress
- Review assigned complaints
- Conduct investigation
- Form redressment commission
- Document findings in meeting minutes
- Submit decision for accountant review
- Review assigned complaints
- Establish diagnostic
- Schedule intervention visits
- Document repairs and actions taken
- Update complaint status
- Review compensation/refund requests
- Validate decisions
- Generate invoice modifications if needed
- Approve or reject recommendations
- Mark complaint as resolved
- Archive complaint
- Update claimant via portal
- Send resolution notification email
almiyah_complaint/
├── __init__.py
├── __manifest__.py
├── README.md
├── .gitignore
│
├── models/
│ ├── __init__.py
│ ├── complaint.py # Main complaint model
│ └── complaint_assignment_wizard.py # Assignment workflow
│
├── controllers/
│ ├── __init__.py
│ └── portal.py # Portal routes and forms
│
├── views/
│ ├── complaint_views.xml # Backend views
│ ├── wizard_views.xml # Assignment wizard UI
│ └── portal_templates.xml # Frontend portal templates
│
├── data/
│ ├── sequence.xml # Auto-numbering sequences
│ └── email_template.xml # Email notification templates
│
└── security/
├── security.xml # Record rules
└── ir.model.access.csv # Access control
| Component | Version |
|---|---|
| Odoo | 18.0 |
| Python | 3.8+ |
| Database | PostgreSQL |
| Web Framework | Odoo ORM |
| Front-end | QWeb Templates |
crm- CRM managementcontacts- Contact/Partner managementaccount- Accounting features
| Role | Responsibility |
|---|---|
| Claimant | Submit complaints and track status |
| Customer Service Agent | Register and log complaints |
| Agency Manager | Classify and assign complaints |
| Commercial Agents | Handle commercial complaints, form commission |
| Technical Agents | Handle technical complaints, perform diagnostics |
| Team Leader | Supervise team, document actions |
| Accountant | Validate compensation and refunds |
The module includes automatic email notifications for:
- Complaint acknowledgment/receipt
- Assignment notifications
- Status updates
- Resolution notifications
Configure in data/email_template.xml
Complaint numbers are auto-generated using sequences configured in data/sequence.xml
- Row-level security rules prevent users from accessing complaints outside their agency
- Role-based access control ensures proper workflow authorization
- Module uses Odoo inheritance patterns (
_inherit) - Follows Odoo naming conventions
- French language support for UI
- Compatible with Odoo Community Edition
As per project guidelines, each solution is proprietary to the team that developed it. Note: Per project specifications, it is strictly forbidden to share this solution with other teams or to take solutions from other teams.
Project: Progiciel de Gestion Intégré (PGI)
School: École Nationale Supérieure d'Informatique (ESI)
Academic Year: 2025/2026
Team: 2CSSIT ESI
Date: January 4, 2026
Deliverables Timeline:
- Week of 01/04/2026: Operational analysis & process modeling
- Week of 01/11/2026: Configuration deliverable (Excel format)
- Week of 01/18/2026: Final delivery & system demonstration
This module is developed as part of an academic project at École Nationale Supérieure d'Informatique (ESI).
Ownership: This solution is the property of the ESI 2CSSIT team who developed it. Unauthorized sharing or copying is strictly prohibited per project guidelines.
For inquiries about this module, please contact the development team at ESI.
- Systèmes d'informations, boite à outils d'analyse - Chalal Rachid (2021)
- Odoo Community Documentation: https://www.odoo.com/documentation
- ESI Academic Guidelines: https://www.esi.dz/