ERPNext HR Attendance Customization

Job ID: 40374188

Budget: $30 – $250 USD

I’d like a skilled ERPNext developer to introduce a handful of targeted tweaks to the HR, Attendance and Leave Management modules on my live, production instance. The system is already up and running; you’ll be working directly on it (behind a feature branch) and pushing a clean, test-covered PR for review.

Deliverables
• Restrict back-dated leave requests: only users with the “Leave Approver” role should be able to submit a leave application more than 48 hours after the leave start date.
• Always show punch times: check-in and check-out timestamps must display even when Attendance Status is “On Leave”.
• Auto half-day logic: if only one punch (either IN or OUT) exists for a day, mark the day as “Half Day” automatically.
• Count holidays as leave: holidays occurring within an approved leave period must be included in total_leave_days so payroll tallies match HR policy.
• Duplicate cleanup: create a background job that scans Check-in records older than 48 hours and deletes duplicates that share the same employee and timestamp.

Acceptance criteria
– All changes are delivered as an installable custom app or clean core PR (no hard-coding).
– Unit tests cover each rule.
– No regressions in existing HR/Attendance workflows; CI must pass.
– Code follows Frappe framework conventions and pep8.

Tech stack you’ll touch: Frappe Framework, Python, MariaDB, JavaScript (for any minor UI tweaks). Access will be provided to a staging branch first, then we’ll push live once tests pass.

If you’ve handled similar policy-driven modifications before, I’d love to see a quick reference or repo. Let’s keep the iteration short and focused so we can get these quality-of-life improvements into production promptly.
Related categories: PHP JavaScript Python Ruby on Rails CRM ERP Salesforce.com MariaDB