| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Time Off (hr_holidays)
• Calendar (calendar) • Employees (hr) • Discuss (mail) |
| Lines of code | 886 |
| Technical Name |
statutory_leave_accrual_report |
| License | OPL-1 |
| Website | https://pokutsoft.com/ |
| Versions | 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Time Off (hr_holidays)
• Calendar (calendar) • Employees (hr) • Discuss (mail) |
| Lines of code | 886 |
| Technical Name |
statutory_leave_accrual_report |
| License | OPL-1 |
| Website | https://pokutsoft.com/ |
| Versions | 18.0 19.0 |
Leave Liability & Accrual Provisioning Report
Value every employee's outstanding statutory leave and provision the balance-sheet liability â straight from Odoo Time Off, no payroll app required.
What this report does
Unused paid leave is a real liability. Under both IFRS (IAS 19, accumulating paid absences) and US GAAP (ASC 710, compensated absences), an employer must recognise the cost of leave that employees have earned but not yet taken, measured at the amount it expects to pay. This module turns the leave balances already living in Odoo Time Off into that number: a per-employee, per-leave-type valuation of outstanding days, grossed up for employer on-costs, ready to post as a provision and hand to auditors.
It reads validated allocations and validated time
off directly from community hr_holidays â there is
no dependency on the Enterprise Payroll application.
Outstanding-balance valuation
For each employee and leave type the report computes allocated − taken = outstanding days, multiplies by a daily pay rate derived from the employee's annual (or annualised monthly) base, and produces the base provision. Balances fully taken are excluded â only a real liability is provisioned.
Employer on-cost loading
Add your jurisdiction's employer social-contribution percentage as a configurable loading â company-wide, per employee, or per valuation run â so the provision reflects the full expected cost, not salary alone. No country rate is hard-coded: you supply your own published figure.
Proportional accrual check
Each line shows the days earned to date on a straight-line accrual basis against the leave year, and flags employees who are over-allocated (granted more than they have yet earned) or under-allocated, so you can see future cost already on the books.
Audit-ready register export
One click exports the full valuation as a CSV register â company, valuation date, currency, every line and a TOTAL row â for reconciliation, journal posting, or your auditors. Reports move through Draft → Valued → Posted with a chatter log.
How the provision is calculated
| Step | Formula | Source |
|---|---|---|
| Daily rate | annual base ÷ working days / year | Employee base; company calendar divisor (default 260 = 52×5) |
| Outstanding days | validated allocations − validated time off | Odoo hr.leave.allocation / hr.leave |
| Base provision | outstanding days × daily rate | Valuation engine |
| Employer on-cost | base provision × on-cost % | Your configured employer-contribution rate |
| Total provision | base provision + on-cost | Balance-sheet figure |
| Earned to date | full-year entitlement × elapsed ÷ year length | Straight-line accrual |
Feature summary
- Point-in-time leave-liability valuation per employee and leave type.
- Daily rate from annual or annualised-monthly leave-pay base, with a configurable working-days-per-year divisor.
- Configurable employer on-cost loading (company, employee, or per-run override).
- Straight-line proportional accrual with over- / under-allocation flagging.
- Provision totals: outstanding days, base provision, on-cost, total provision, over-allocated count.
- One-click wizard to generate a dated report; Draft / Valued / Posted workflow with chatter.
- CSV register export with company, date, currency and TOTAL row.
- Pure-Python valuation engine, fully unit-tested; builds on community
hr_holidaysonly. - Multi-company aware; works on Odoo 18 and 19.
Scope & disclosure
This module performs the arithmetic of the accumulating-compensated-absences model on the leave data in your Odoo database and produces a valuation register. It does not ship statutory rates: the working-day divisor and employer on-cost percentage are inputs you set from your own jurisdiction's published figures. It does not transmit any employee data to a third party. Confirm the measurement basis with your accountant before posting the provision.
Screenshots
Generate Report
Liability Lines
Liability Reports
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module