TIP: You can type at any time to perform a new search.
Partner Department
partner_department · OCA/partner-contact
- Repository
- OCA/partner-contact · module folder · Try on Runboat
- Module version
- 1.1.0
- Category
- Customer Relationship Management
- Folder size
- 0.07 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/partner-contact
- Last tracking update
- 2026-08-07 09:06:26
- Authors
- Odoo Community Association (OCA), ForgeFlow S.L.
- Maintainers
- Odoo Community Association (OCA), ForgeFlow S.L.
- Committers
- Miquel Raïch, Weblate, OCA-git-bot, oca-ci
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- None
- Description
This module adds *Department* as a native partner type in Odoo's address book. Unlike a standalone department model, a department is a real ``res.partner`` record (``type = 'department'``) and can therefore be selected anywhere a partner is expected — for example as the partner of a sale order. Key features: - Contacts (non-company partners) have a **Department** field that links them to a department partner. - Opening a department partner shows a **Members** smart button and a tab listing all contacts assigned to it. - Partners can be searched and grouped by department. > **Incompatibility notice:** This module is **not compatible** with > `partner_contact_department`. Both modules provide a *Department* field on > contacts but use different approaches; installing both at the same time will > cause conflicts.
Code Analysis ⓘ
Views touched (2)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_partner_form_department |
Partner form with department | res.partner | form | Inherits base.view_partner_form |
view_res_partner_filter_department |
Partner search with department | res.partner | Inherits base.view_res_partner_filter |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (1)
New fields (6)
-
department_all_member_idsMany2many → res.partnercompute='_compute_department_all_member_ids'string='Members' args: 'res.partner' -
department_idMany2one → res.partnerdomain=[('type', '=', 'department')] args: 'res.partner' -
department_idsOne2many → res.partnerdomain=[('type', '=', 'department')]string='Departments' args: 'res.partner', 'parent_id' -
department_member_countIntegercompute='_compute_department_member_count' -
department_member_idsOne2many → res.partnerdomain=[('type', '!=', 'department')]string='Direct Members' args: 'res.partner', 'department_id' -
typeSelectionondelete={'department': 'set default'}selection_add=[('department', 'Department')]
-
action_view_department_members(self)