Advanced Accrual Allocation

hr_holidays_accrual_advanced
REPOSITORY
REPOSITORYOCA/hr
GIT
GIThttps://github.com/OCA/hr.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/hr/tree/12.0/hr_holidays_accrual_advanced
VERSION
VERSION 1.0.2
CATEGORY
CATEGORYHuman Resources
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), CorporateHub
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), CorporateHub
COMMITTERS
COMMITTERSAlexey Pelykh, OCA Transbot, oca-travis, Weblate, OCA-git-bot, Jaime Arroyo
WEBSITE
WEBSITEhttps://github.com/OCA/hr
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:19
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/hr:
    - hr_employee_service
odoo/odoo:
    - hr_holidays
    - hr
    - base_setup
    - base
    - web
    - mail
    - bus
    - web_tour
    - resource
    - calendar
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES python-dateutil
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (7)
XML IDNameModelTypeStatus
hr_leave_allocation_accrual_calculator hr_leave_allocation_accrual_calculator hr.leave.allocation.accrual.calculator form New
hr_leave_allocation_accrual_calculator_accruement_view_form hr.leave.allocation.accrual.calculator.accruement.view.form hr.leave.allocation.accrual.calculator.accruement form New
hr_leave_allocation_accrual_calculator_accruement_view_tree hr.leave.allocation.accrual.calculator.accruement.view.tree hr.leave.allocation.accrual.calculator.accruement tree New
hr_leave_allocation_accruement_view_form hr.leave.allocation.accruement.view.form hr.leave.allocation.accruement form New
hr_leave_allocation_accruement_view_tree hr.leave.allocation.accruement.view.tree hr.leave.allocation.accruement tree New
hr_leave_allocation_view_form hr.leave.allocation.view.form.inherit.accrual hr.leave.allocation header Inherits hr_holidays.hr_leave_allocation_view_form
hr_leave_allocation_view_form_manager hr.leave.allocation.view.form.manager.inherit.accrual hr.leave.allocation field Inherits hr_holidays.hr_leave_allocation_view_form_manager
Models touched (6)

New fields (2)
  • time_type Selection
    related='holiday_status_id.time_type' store=True
  • unpaid Boolean
    related='holiday_status_id.unpaid' store=True
Public methods (0)

No public methods.

New fields (13)
  • accrual_limit Integer
    compute='_compute_accrual_limit' readonly=True
  • accrual_method Selection
    default='prorate' readonly=True selection=[('prorate', 'Prorate'), ('period_start', 'At the beginning of the period'), ('period_end', 'At the end of the period')] states={'draft': [('readonly', False)], 'confirm': [('readonly', False)]} string='Accrual Method' track_visibility='onchange'
  • accruement_ids One2many → hr.leave.allocation.accruement
    comodel_name='hr.leave.allocation.accruement' inverse_name='leave_allocation_id' readonly=True string='Accruements'
  • interval_number Integer
    default=<expr> help='Duration of a single accrual period, measured in Accrual Period Units' string='Accrual Period Duration' track_visibility='onchange'
  • interval_unit Selection
    default=<expr> help='Units in which Accrual Period Duration is defined' string='Accrual Period Unit' track_visibility='onchange'
  • limit_accrued_days Boolean
    help='Limit total maximum number of days accrued in one accrual period.' readonly=True states={'draft': [('readonly', False)], 'confirm': [('readonly', False)]} string='Limit Number of Days Accrued' track_visibility='onchange'
  • limit_accumulated_days Boolean
    help='Limit total maximum number of days that can be accumulated.' readonly=True states={'draft': [('readonly', False)], 'confirm': [('readonly', False)]} string='Limit Total Balance' track_visibility='onchange'
  • limit_carryover_days Boolean
    help='Limit total maximum number of days to carryover to next accrual period.' readonly=True states={'draft': [('readonly', False)], 'confirm': [('readonly', False)]} string='Limit Number of Days to Carryover' track_visibility='onchange'
  • max_accrued_days Float
    help='Total maximum number of days accrued in one accrual period.' readonly=True states={'draft': [('readonly', False)], 'confirm': [('readonly', False)]} string='Max Number of Days Accrued' track_visibility='onchange'
  • max_accumulated_days Float
    help='Total maximum number of days that can be accumulated.' readonly=True states={'draft': [('readonly', False)], 'confirm': [('readonly', False)]} string='Total Balance Limit' track_visibility='onchange'
  • max_carryover_days Float
    help='Total maximum number of days to carryover to next accrual period.' readonly=True states={'draft': [('readonly', False)], 'confirm': [('readonly', False)]} string='Max Number of Days to Carryover' track_visibility='onchange'
  • number_per_interval Float
    default=<expr> help='Allocation accrued per Accrual Period, measured in Allocation Units' string='Allocation per Accrual Period' track_visibility='onchange'
  • unit_per_interval Selection
    default=<expr> help='Units in which Allocation per Accrual Period is defined' string='Allocation Unit' track_visibility='onchange'
Public methods (4)
  • action_recalculate_accrual_allocations(self)
    @api.multi
  • action_recalculate_accrual_allocations_all(self)
    @api.model
  • create(self, values)
    @api.model
  • write(self, values)
    @api.multi

New fields (4)
  • accrued Float
    readonly=True string='Accrued'
  • accruement_ids One2many → hr.leave.allocation.accrual.calculator.accruement
    comodel_name='hr.leave.allocation.accrual.calculator.accruement' inverse_name='calculator_id' readonly=True string='Accruements'
  • balance Float
    readonly=True string='Balance'
  • date Date
    required=True string='Date'
Public methods (0)

No public methods.

New fields (4)
  • accrued_on Date
    readonly=True required=True string='Accruement Date'
  • calculator_id Many2one → hr.leave.allocation.accrual.calculator
    comodel_name='hr.leave.allocation.accrual.calculator' string='Calculator'
  • days_accrued Float
    readonly=True required=True string='Number of Days'
  • reason Char
    readonly=True required=True string='Reason'
Public methods (0)

No public methods.

New fields (4)
  • accrued_on Date
    readonly=True required=True string='Accruement Date'
  • days_accrued Float
    readonly=True required=True string='Number of Days'
  • leave_allocation_id Many2one → hr.leave.allocation
    comodel_name='hr.leave.allocation' string='Leave Allocation'
  • reason Char
    readonly=True required=True string='Reason'
Public methods (0)

No public methods.

New fields (2)
  • holiday_status_id Many2one
    related='holiday_id.holiday_status_id' store=True
  • unpaid Boolean
    related='holiday_id.holiday_status_id.unpaid' store=True
Public methods (0)

No public methods.