Odoo Construction Module Access Rights - dealwallet1/tsssinfotech_docs GitHub Wiki
This document serves as a comprehensive guide to configuring user roles and access rights in the custom Odoo Construction module, designed to help administrators quickly and effectively manage permissions without needing to write code.
📚 Reference: Odoo 18.0 Access Rights Documentation
Role | Responsibility | Key Permissions Summary |
---|---|---|
Project Manager | Oversees full project lifecycle | Full access to projects, BoQs, tasks, limited HR/Vendors |
Site Manager | Executes and monitors site-level work | Task updates, attendance, material request visibility |
Vendor | Supplies materials, external workforce | Access to RFQs, POs, invoices only |
Customer | End-client who monitors progress and invoices | Read-only access to own data |
Project Engineer | Manages project execution and coordinates teams | Full project/task access, limited HR/Accounting |
Site Engineer | Tracks progress, logs timesheets on-site | Access to tasks, planning, documents only |
Use portal links or embedded forms to give access.
Responsibilities: Respond to RFQs, send invoices and delivery.
Group: Construction / Vendor
-
Access to own POs, RFQs
-
Upload invoices
Objective: Only show vendors (not all contacts) in partner_id
field.
Steps (Studio):
-
Go to Purchase → Create/Edit PO
-
Click Studio (🛠️)
-
Click on Vendor field
-
Set Domain:
[('supplier_rank', '>', 0)]
Steps:
-
Go to Project → Task Form → Studio
-
Click on Assignee field (
user_id
orpartner_id
) -
Apply Domain:
[('employee_id', '!=', False)]
Steps:
-
Go to Settings → Users
-
Switch to List View → Studio
-
Add field:
employee_id
-
Save and close Studio
Result: Easily see which user is linked to which employee.
Steps:
-
Go to:
Settings → Users
-
Open a User → Click Create Employee (top right)
-
System auto-links employee and user
Use Case: Enables assignment to tasks, planning, etc.
Proper role setup in the Construction module ensures:
-
Clean separation of duties
-
Improved security and accountability
-
Streamlined workflows across internal and external stakeholders
All configurations can be completed via Odoo Studio and the admin UI — no technical knowledge or development is required.
# Odoo Construction Module – User Roles & Access Rights✨ Tip: Always test new role permissions using test users to validate access before assigning to real users.
This document serves as a comprehensive guide to configuring user roles and access rights in the custom Odoo Construction module, designed to help administrators quickly and effectively manage permissions without needing to write code.
📚 Reference: [Odoo 18.0 Access Rights Documentation](https://www.odoo.com/documentation/18.0/applications/general/users/access_rights.html)
Role | Responsibility | Key Permissions Summary |
---|---|---|
Project Manager | Oversees full project lifecycle | Full access to projects, BoQs, tasks, limited HR/Vendors |
Site Manager | Executes and monitors site-level work | Task updates, attendance, material request visibility |
Vendor | Supplies materials, external workforce | Access to RFQs, POs, invoices only |
Customer | End-client who monitors progress and invoices | Read-only access to own data |
Project Engineer | Manages project execution and coordinates teams | Full project/task access, limited HR/Accounting |
Site Engineer | Tracks progress, logs timesheets on-site | Access to tasks, planning, documents only |
Role | Create Project | View Tasks | Place Purchase | Approve BoQ | Edit Attendance |
---|---|---|---|---|---|
Project Manager | ✅ | ✅ | ✅ | ✅ | ❌ |
Site Manager | ❌ | ✅ | ❌ | ❌ | ✅ |
Vendor | ❌ | ❌ | ✅ (Assigned) | ❌ | ❌ |
Customer | ❌ | ✅ (Read) | ❌ | ❌ | ❌ |
Project Engineer | ✅ | ✅ | ✅ | ✅ | ✅ |
Site Engineer | ❌ | ✅ | ❌ | ❌ | ✅ |
-
Go to:
Settings → Users & Companies → Groups
-
Click Create
-
Fill:
-
Name (e.g.,
Construction / Site Engineer
) - Assign users
- Inherit groups for required modules (see table below)
-
Name (e.g.,
-
Path:
Settings → Users → Select User → Access Rights
-
Add respective group(s):
- E.g.,
Construction / Project Engineer
- E.g.,
-
Path:
Settings → Technical → User Interface → Menu Items
- Find the menu and set its Groups field to limit access
-
Path:
Settings → Technical → Security → Access Control Lists
- Grant model-level permissions (Create, Read, Write, Delete)
-
Path:
Settings → Technical → Security → Record Rules
-
Scope data by user:
- Example for Site Manager:
['|', ('user_id', '=', user.id), ('assigned_site_id.user_id', '=', user.id)]
- Example for Site Manager:
Responsibilities: Oversee site execution, manage teams and vendors.
Group: Construction / Project Engineer
Inherited Groups:
App | Group Name |
---|---|
Project | Project / Administrator |
Timesheets | Timesheets / User: All Timesheets |
Documents | Documents / User |
Field Service | Field Service / User |
Planning | Planning / User |
Task Tools | Use Task Dependencies |
Billing Tools | Use Time Billing |
Menus Unlocked:
- Project Configuration
- All Timesheets
- Planning Reports
- Documents Access
Responsibilities: Track daily site progress, update tasks.
Group: Construction / Site Engineer
Inherited Groups:
App | Group Name |
---|---|
Project | Project / User |
Timesheets | Timesheets / User: All Timesheets |
Documents | Documents / User |
Field Service | Field Service / User |
Planning | Planning |
Menus Unlocked:
- My Planning
- My Timesheets
- Site Tasks
Responsibilities: View project status and invoices.
Group: Construction / Customer
- No inherited groups
- No internal menus
Record Rules:
Model | Rule Example |
---|---|
appointment.slot |
[('staff_user_ids', 'in', [user.id])] |
appointment.type |
[('create_uid', '=', user.id)] |
Use portal links or embedded forms to give access.
Responsibilities: Respond to RFQs, send invoices and delivery.
Group: Construction / Vendor
- Access to own POs, RFQs
- Upload invoices
Objective: Only show vendors (not all contacts) in partner_id
field.
Steps (Studio):
-
Go to Purchase → Create/Edit PO
-
Click Studio (🛠️)
-
Click on Vendor field
-
Set Domain:
[('supplier_rank', '>', 0)]
Steps:
-
Go to Project → Task Form → Studio
-
Click on Assignee field (
user_id
orpartner_id
) -
Apply Domain:
[('employee_id', '!=', False)]
Steps:
- Go to Settings → Users
- Switch to List View → Studio
- Add field:
employee_id
- Save and close Studio
Result: Easily see which user is linked to which employee.
Steps:
- Go to:
Settings → Users
- Open a User → Click Create Employee (top right)
- System auto-links employee and user
Use Case: Enables assignment to tasks, planning, etc.
Proper role setup in the Construction module ensures:
- Clean separation of duties
- Improved security and accountability
- Streamlined workflows across internal and external stakeholders
All configurations can be completed via Odoo Studio and the admin UI — no technical knowledge or development is required.
✨ Tip: Always test new role permissions using test users to validate access before assigning to real users.