Repository
OCA/project · module folder · Try on Runboat
Module version
1.0.0
Category
Project
Folder size
0.06 MB
License
LGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/project
Last tracking update
2026-08-07 09:06:22
Authors
Odoo Community Association (OCA), ForgeFlow
Maintainers
Odoo Community Association (OCA), ForgeFlow
Committers
Weblate, OCA-git-bot, oca-ci, DavidJForgeFlow
Odoo dependencies
Python dependencies
geoip2
System dependencies
None
Required by
None
Description
Adds an **Order Customer Reference** field (`customer_reference`) to
`project.task` so that customer PO/requisition numbers are visible on
tasks, capturable via website webforms, and kept in sync with the linked
sale order.

Features:

- **Task field**: `customer_reference` (Char, not copied on duplication)
  is added to the task form view and list view (hidden by default,
  toggleable via the optional-columns menu).
- **Auto-populated from sale order**: when a task is created automatically
  from a confirmed sale order (service lines with `service_tracking`),
  the task inherits the SO's `client_order_ref` as its
  `customer_reference`.
- **Propagation back to sale order**: when `customer_reference` is set or
  updated on a task, it is written to `client_order_ref` on the linked
  sale order — but only if that field is currently empty, preventing
  unintended overwrites.
- **Website webform support**: the field is whitelisted for the website form
  builder so it appears in the field picker when configuring a webform that
  creates `project.task` records.

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
view_task_all_tree_inherit project.task.list project.task list Inherits project.view_task_tree2
view_task_form2_inherit project.task.form project.task form Inherits project.view_task_form2
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (3)

New fields (1)
  • customer_reference Char
    copy=False string='Order Customer Reference'
Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • write(self, vals)

New fields (0)

No new fields.

Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • write(self, vals)

New fields (0)

No new fields.

Public methods (0)

No public methods.