| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/timesheet |
| GIT | |
| GIT | https://github.com/OCA/timesheet.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/timesheet/tree/19.0/sale_order_update_timesheet_price |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Uncategorized |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), ACSONE SA/NV |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), ACSONE SA/NV |
| COMMITTERS | |
| COMMITTERS | Weblate, OCA-git-bot, oca-ci, hda |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/timesheet |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:40:50 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - sale_project - sale_management - sale - sales_team - base - base_setup - web - bus - web_tour - html_editor - account_payment - account - onboarding - product - uom - analytic - portal - http_routing - auth_signup - digest - resource - payment - utm - sale_service - project_account - project - rating - sale_timesheet - hr_timesheet - hr - phone_validation - resource_mail - hr_hourly_cost |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | When a sale order line billed on delivered timesheets has been invoiced, Odoo forbids modification of the unit price. When a price update is necessary, one can create a new sale order or sale order line, but it is painful to link all projects, tasks, milestones to the new order line. This modules adds a button on already invoiced timesheet sale order lines to update the unit price. It creates a new order line with the new price and re-links projects, tasks, milestones and so line employee maps from the old line to the new line. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
sale_order_form_view |
sale.order | list | Inherits sale.view_order_form | |
sale_order_unit_price_update_view_form |
sale.order.unit.price.update.view.form | sale.order.unit.price.update | form | New |
No new fields.
Public methods (1)copy(self, default=None)
price_unit_updated
Boolean
help='Technical field to know if the price has been updated'
show_update_price_button
Boolean
compute='_compute_show_update_price_button'
No public methods.
new_unit_price
Float
digits='Product Price'
required=True
old_line_prefix
Char
default='[Old Rate]'
old_unit_price
Float
readonly=True
related='order_line_id.price_unit'
order_line_id
Many2one → sale.order.line
comodel_name='sale.order.line'
default=<expr>
required=True
string='Order Line'
order_line_name
Text
readonly=True
related='order_line_id.name'
action_update_unit_price(self)