The system was not automatically adding new employees created after the accrual allocations. So we created an automation rule (execute code) to add and allocate employees to the accrual system.
employee = record
employee_name = employee.name
current_year = datetime.date.today().year
leave_type = env['hr.leave.type'].browse(8) #8 is the id of the Leave or the Time Off Type
allocation_obj = env['hr.leave.allocation']
accrual_plan = env['hr.leave.accrual.plan'].browse(4) #4 is the id of the Accrual type created in the system
if leave_type:
existing_allocation = allocation_obj.search([
('employee_id', '=', employee.id),
('holiday_status_id', '=', leave_type.id),
('state', '=', 'validate'),
('date_to', '=', f'{current_year}-12-31'),
], limit=1)
if not existing_allocation:
allocation_obj.create({
'name': f'Emergency Leave Allocation for {employee_name} - {current_year}',
'employee_id': employee.id,
'holiday_status_id': leave_type.id,
'allocation_type': 'accrual',
'accrual_plan_id': accrual_plan.id,
'number_of_days': 0,
'date_from':datetime.date.today(),
})
In this way, the new employees will be added and they will have the leaves created automatically based on the accrual configuration.