OdooWiki OCA HUB

Sale Order Update Timesheet Price

sale_order_update_timesheet_price folder_open OCA/timesheet open_in_new
Uncategorised License: AGPL-3

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.

auto_awesome What this module does

AI-generated from the code · Odoo 19.0

Adds a button on invoiced timesheet-based sale order lines to change the unit price by creating a new line and moving the related projects, tasks, milestones and employee mappings to it.

When a sale order line is billed based on delivered timesheets and has already been invoiced, Odoo normally blocks any change to its unit price. This module adds a way around that without creating a brand new sale order.

On the sale order form, in the order lines list, a small money button appears next to the unit price. It is only shown when the line has already been invoiced, is billed on timesheets, and has not yet been price-updated.

Clicking it opens a small pop-up window showing the line description, the old unit price and a field for the new unit price, plus a prefix used to rename the old line (default "[Old Rate]"). Confirming creates a copy of the line with the new price and a quantity equal to the remaining (not yet invoiced) quantity, at least one.

After that, the module automatically re-links the related projects, tasks, milestones and project employee mappings from the old line to the new one, renames the old line with the prefix, and marks it so the button no longer appears. If the new price equals the old one, an error message is shown and nothing is changed.

Depends on

sale_projectsale_timesheet
Models and fields (3)
  • sale.order.line · extends an existing modelprice_unit_updated, show_update_price_button
  • account.analytic.line · extends an existing model
  • sale.order.unit.price.update · new modelorder_line_id (Order Line), new_unit_price, old_unit_price, old_line_prefix, order_line_name

Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 1 confirmed, 8 with no information of 9 versions.

Sources · Odoo 19.0

Confirmed on 2026-11-03 in branch 19.0 of OCA/timesheet.

terminal Installation and usage

OCA documentation · Odoo 19.0

There is a button with a banknote icon on the sale order line. When clicked, it opens a wizard to update the unit price of the sale order line.

No verified information in OCA: Installation, Configuration.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.