Phamos HR Addon for ERPNext

Hey thanks for getting back. Hourly leave isn’t a leave type it’s rather a duration of just about any leave type.

I will be further checking out your Frappe app, haven’t really had the time except to see screenshots and description :slight_smile:

@wojosc does this addon works on v14?

@iMoshi were you able to find a solution for hourly leaves instead of half day only?

yes, it is v14 compatible

Thanks for this app. it really adds a lot of missing features.
However, I don’t understand why the target seconds for absent employees are set as 0 even though the target hour is 8.
When an employee doesn’t have a check regardless of the reason for their absence the system calculates target seconds as zero.
So attendance status is not taken into consideration anywhere.

Why I am dealing with this error in backend side
2025-01-07 10:19:38,869 ERROR Creating Workday Processing from 2024-12-31 10:19:38.869128 to 2025-01-07 10:19:38.869128
2025-01-07 10:19:38,873 ERROR Creating Workday Active employees: [{‘name’: ‘HR-EMP-00001’}, {‘name’: ‘HR-EMP-00002’}]
2025-01-07 10:19:38,873 ERROR Creating Workday Processing employee: HR-EMP-00001
2025-01-07 10:19:38,876 ERROR Creating Workday Unmarked days for HR-EMP-00001: [‘2025-01-01’, ‘2025-01-02’, ‘2025-01-03’, ‘2025-01-04’, ‘2025-01-05’, ‘2025-01-06’, ‘2025-01-07’]
2025-01-07 10:19:38,876 ERROR Creating Workday bulk_process_workdays_background
2025-01-07 10:19:38,882 ERROR Creating Workday Workdays successfully processed for HR-EMP-00001
2025-01-07 10:19:38,882 ERROR Creating Workday Processing employee: HR-EMP-00002
2025-01-07 10:19:38,885 ERROR Creating Workday Unmarked days for HR-EMP-00002: [‘2025-01-01’, ‘2025-01-02’, ‘2025-01-03’, ‘2025-01-04’, ‘2025-01-05’, ‘2025-01-06’, ‘2025-01-07’]
2025-01-07 10:19:38,885 ERROR Creating Workday bulk_process_workdays_background
2025-01-07 10:19:38,886 ERROR Creating Workday Workdays successfully processed for HR-EMP-00002
2025-01-07 10:19:39,030 ERROR Creating Workday Create workday
2025-01-07 10:19:39,193 ERROR Creating Workday Workday(WD-2025-00062)
2025-01-07 10:19:39,197 ERROR Creating Workday Create workday
2025-01-07 10:19:39,208 ERROR Creating Workday Workday(WD-2025-00063)
2025-01-07 10:19:39,213 ERROR Creating Workday Create workday
2025-01-07 10:19:39,224 ERROR Creating Workday Workday(WD-2025-00064)
2025-01-07 10:19:39,228 ERROR Creating Workday Create workday
2025-01-07 10:19:39,239 ERROR Creating Workday Workday(WD-2025-00065)
2025-01-07 10:19:39,244 ERROR Creating Workday Create workday
2025-01-07 10:19:39,254 ERROR Creating Workday Workday(WD-2025-00066)
2025-01-07 10:19:39,259 ERROR Creating Workday Create workday
2025-01-07 10:19:39,270 ERROR Creating Workday Workday(WD-2025-00067)
2025-01-07 10:19:39,274 ERROR Creating Workday Create workday
2025-01-07 10:19:39,285 ERROR Creating Workday Workday(WD-2025-00068)
2025-01-07 10:19:39,445 ERROR Creating Workday Create workday
2025-01-07 10:19:39,607 ERROR Creating Workday Workday(WD-2025-00069)
2025-01-07 10:19:39,612 ERROR Creating Workday Create workday
2025-01-07 10:19:39,623 ERROR Creating Workday Workday(WD-2025-00070)
2025-01-07 10:19:39,628 ERROR Creating Workday Create workday
2025-01-07 10:19:39,638 ERROR Creating Workday Workday(WD-2025-00071)
2025-01-07 10:19:39,643 ERROR Creating Workday Create workday
2025-01-07 10:19:39,653 ERROR Creating Workday Workday(WD-2025-00072)
2025-01-07 10:19:39,658 ERROR Creating Workday Create workday
2025-01-07 10:19:39,668 ERROR Creating Workday Workday(WD-2025-00073)
2025-01-07 10:19:39,672 ERROR Creating Workday Create workday
2025-01-07 10:19:39,683 ERROR Creating Workday Workday(WD-2025-00074)
2025-01-07 10:19:39,687 ERROR Creating Workday Create workday
2025-01-07 10:19:39,698 ERROR Creating Workday Workday(WD-2025-00075)

Hi @denis-itengineers, am Furqan one of developer from phamos .
These logs are debugging logs unintentionaly pushed to version-14 and version-15 but now planned removed in latest versions which is work in progress.

Okay, we are waiting for this!

@beingeek @wojosc
I have installed the add-on on ERPNext 15, I am a little bit confused. I am looking to mark Saturday as a half-working day. I created a weekly working hour, but when I save it, it changes the status to draft, and I couldn’t figure out how to submit it to take effect.

I know about this probelm, but thought it should be fixed already. The Workday doctype should be submittable. Please check in Doctype → Workday if that is the case. A quick fix can be to create a property setter.

Checking on Workday Doctype, it is not submittable

I have worked with the modul today. Please check this function:

Probably it is not necessary to create each record by hand but rather use this automation.

I don’t have anything listed here, and no Process Workdays option

As I stated here , I couldn’t submit Weekly Working Hours, which is required when you process workdays.

Oh, sorry, I got that mixed up.

maybe you need to check if you have permissions to perform the submit action via Role Permission Manager

Yeah, you were right. I think I need to assign those roles to the user. It would be best if such a thing were addressed in the HR Addon document.
But I am seeing glitches on the addon. I deployed ERPNext using podman, and sometimes some features of ERPNext don’t work correctly after the installation of the HR Addon. I was having a hard time assigning the role to the user, but after multiple reloads, I could assign the role. But another issue occured, when I search for “Weekly working hour” or anything related to HR Addon features, I am getting this:

image

Which version are you using? Using version-15 should be the one to chose.

Yeah, you were right, I have installed version-15 and after adding the role to submit the weekly working hours, it submitted successfully. Thanks

Tried creating Workday as you suggested, after clicking on Process Workday, I am receiving this error:

Something went wrong in Workday Creation: Traceback (most recent call last): File "/home/frappe/frappe-bench/apps/hr_addon/hr_addon/hr_addon/doctype/workday/workday.py", line 524, in bulk_process_workdays workday.save() File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 378, in save return self._save(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 400, in _save return self.insert() ^^^^^^^^^^^^^ File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 309, in insert self.run_before_save_methods() File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 1136, in run_before_save_methods self.run_method("validate") File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 1007, in run_method out = Document.hook(fn)(self, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 1367, in composer return composed(self, method, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 1349, in runner add_to_return_value(self, fn(self, *args, **kwargs)) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 1004, in fn return method_object(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/frappe/frappe-bench/apps/hr_addon/hr_addon/hr_addon/doctype/workday/workday.py", line 17, in validate self.set_actual_employee_log() File "/home/frappe/frappe-bench/apps/hr_addon/hr_addon/hr_addon/doctype/workday/workday.py", line 23, in set_actual_employee_log new_workday_dict = get_actual_employee_log(self.employee, self.log_date) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/typing_validations.py", line 31, in wrapper return func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/home/frappe/frappe-bench/apps/hr_addon/hr_addon/hr_addon/doctype/workday/workday.py", line 285, in get_actual_employee_log new_workday = get_workday(employee_checkins, employee_default_work_hour, no_break_hours) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/frappe/frappe-bench/apps/hr_addon/hr_addon/hr_addon/doctype/workday/workday.py", line 381, in get_workday if hr_addon_settings.enable_default_break_hour_for_shorter_breaks: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'HRAddonSettings' object has no attribute 'enable_default_break_hour_for_shorter_breaks' 

Do the migration and bench restart.

1 Like