Hi everyone,
I’m setting up Frappe HRMS for a manufacturing company in Indonesia and need help implementing the correct overtime calculation based on Indonesian labor law (PP No. 36/2021).
Our overtime rules:
- Weekday OT Hour 1: 1.5x the hourly rate
- Weekday OT Hour 2 onwards: 2x the hourly rate
- Weekend/Public Holiday (all hours): 2x the hourly rate
Hourly rate base: Basic Salary + Attendance Allowance divided by 173 (standard working hours per month in Indonesia)
Example:
An employee works 3 hours OT on a weekday:
- Hour 1 = 1.5 × hourly rate
- Hour 2 = 2 × hourly rate
- Hour 3 = 2 × hourly rate
What I’ve done so far:
- Created an Overtime Type called “Indonesia OT” with Standard Multiplier = 1.5, Weekend Multiplier = 2, Public Holiday Multiplier = 2
- The issue is that the Standard Multiplier applies uniformly to ALL weekday OT hours, but Indonesian law requires only the FIRST hour to be 1.5x and all subsequent hours to be 2x
My questions:
- Is there a native way in Frappe HRMS to configure different multipliers per hour within a single Overtime Type?
- If not, what is the recommended approach? Should I create two separate Overtime Types (one for Hour 1 at 1.5x, another for Hour 2+ at 2x) and split the hours manually?
- Is there a way to use a formula-based Salary Component to handle this calculation automatically?
Our OT data comes from a physical approval form with start and end times (e.g., 16:05–19:05 = 3 hours OT on a weekday). We’re currently entering this into Overtime Slip manually.
Any guidance would be greatly appreciated. Thank you!