Round timesheet lines amounts in sales based on project” settings.
A typical use case is: you work 5 minutes but you want to invoice 15 minutes.
With this module you can configure a rounding unit or factor on the project and all the lines tracked on this project’s tasks will show a rounded amount.
If you want you can override the value manually on each entry.
The delivered quantity on the sale order line - and by consequence on the invoice - will be computed using the rounded amount. Therefore, expense lines and other non-timesheet lines will be updated with a rounded amount that is equal to the amount.
WARNING: This module cannot be used with timesheet_grid
without further
adapation as an update of an existing timesheet line will NOT update the
rounded amount. To achieve this, you need to override adjust_grid
function
to pass the force_compute
context key.
Table of contents
Configuration
Go to a project and set the following fields according to your needs:
- Timesheet rounding unit
Defines the rounding unit.
For instance, if you want to round to 1 hour, you can set 1.0
.
If you want to round to 15 min set 0.25
.
- Timesheet rounding method
Options: «No» (default), «Closest», «Up», «Down».
Please refer to odoo.tools.float_utils.float_round
to understand the difference.
- Timesheet rounding factor (percentage)
When round unit is not defined you can round by a fixed %.
When using both a unit and a factor, the factor will be applied first:
result = round(amount * percentage, unit)
Known issues / Roadmap
- improve test coverage
Bug Tracker
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.
Do not contact contributors directly about support or help with technical issues.
Credits
Contributors
- Simone Orsi <simone.orsi@camptocamp.com>
- Thomas Nowicki <thomas.nowicki@camptocamp.com>
- Akim Juillerat <akim.juillerat@camptocamp.com>
- Foram Shah <foram.shah@initos.com>
Maintainers
This module is maintained by the OCA.
OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.
This module is part of the OCA/timesheet project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.