Audric Onockx (auon) 5f6292ccff [IMP] sale_timesheet: make timesheet revenues accurate for prepaid
...services

In the reporting of Timesheets, "timesheet revenues" represent
`sol.price_unit * sum(timesheets.unit_amount)`.
While this calculation is correct for SOLs with a service
invoiced on delivered quantities, it doesn't reflect the truth
when the product is prepaid/fixed price (ordered quantities).

With this commit, the "timesheet revenues" related to the latter
type of services will be equal to
`sol.price_total / sol.qty_delivered * sum(timesheets.unit_amount)`.
Where we determine the revenue per unit, and apply it to
the total duration of timesheets.

Example:
Say a SOL with a service of type "prepaid/fixed price",
an ordered quantity of 4, and a price per unit of 3.00€.
The total price is 12.00€ no matter how much has been delivered.
Say users A and B, having respectively timesheeted 2h and 1h,
so the delivered quantity of the SOL is 3.
We'll note "timesheet revenue of user X" "TR(X)".

Before this commit:
`TR(A) = 3.00€/h * 2h = 6.00€`
`TR(B) = 3.00€/h * 1h = 3.00€`
`TR(A) + TR(B) = 6.00€ + 3.00€ = 9.00€`
The total timesheet revenues is 9.00€ where it should be 12.00€.

Now:
`TR(A) = 12.00€ / 3h * 2h = 8.00€`
`TR(B) = 12.00€ / 3h * 1h = 4.00€`
`TR(A) + TR(B) = 8.00€ + 4.00€ = 12.00€`
The total timesheet revenues corresponds to the SOL's total price.

task-3368808

closes odoo/odoo#127875

Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2023-08-05 13:17:02 +02:00
2023-08-02 05:10:21 +02:00
…
…
…
…
…

Build Status Tech Doc Help Nightly Builds

Odoo

Odoo is a suite of web based open source business apps.

The main Odoo Apps include an Open Source CRM, Website Builder, eCommerce, Warehouse Management, Project Management, Billing & Accounting, Point of Sale, Human Resources, Marketing, Manufacturing, ...

Odoo Apps can be used as stand-alone applications, but they also integrate seamlessly so you get a full-featured Open Source ERP when you install several Apps.

Getting started with Odoo

For a standard installation please follow the Setup instructions from the documentation.

To learn the software, we recommend the Odoo eLearning, or Scale-up, the business game. Developers can start with the developer tutorials

S
Description
No description provided
Readme LGPL-3.0
3.4 GiB
Languages
Python 49.6%
JavaScript 47.8%
SCSS 2%
CSS 0.3%
HTML 0.2%