How to Calculate Overtime Rate per Hour in the Philippines

Philippine Overtime Pay Calculator (DOLE Rates) :root { –ph-blue: #0038A8; –ph-red: #CE1126; –ph-yellow: #FCD116; –bg-light: #f4f7f6; –text-dark: #333; –white: #ffffff; } body { font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; line-height: 1.6; color: var(–text-dark); background-color: var(–bg-light); margin: 0; padding: 20px; } .container { max-width: 800px; margin: 0 auto; background: var(–white); padding: 40px; border-radius: 12px; box-shadow: 0 4px 20px rgba(0,0,0,0.08); } h1, h2, h3 { color: var(–ph-blue); } .calculator-box { background-color: #f8f9fa; border: 2px solid #e9ecef; border-radius: 10px; padding: 30px; margin-bottom: 40px; } .form-group { margin-bottom: 20px; } label { display: block; margin-bottom: 8px; font-weight: 600; color: #495057; } input[type="number"], select { width: 100%; padding: 12px; border: 1px solid #ced4da; border-radius: 6px; font-size: 16px; box-sizing: border-box; /* Fix padding issues */ } input[type="number"]:focus, select:focus { outline: none; border-color: var(–ph-blue); box-shadow: 0 0 0 3px rgba(0, 56, 168, 0.1); } .calc-btn { background-color: var(–ph-blue); color: white; border: none; padding: 15px 30px; font-size: 18px; font-weight: bold; border-radius: 6px; cursor: pointer; width: 100%; transition: background-color 0.2s; } .calc-btn:hover { background-color: #002a80; } .results-area { margin-top: 25px; padding: 20px; background-color: #e8f4fd; border-radius: 8px; display: none; border-left: 5px solid var(–ph-blue); } .result-row { display: flex; justify-content: space-between; margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px solid #d0e1f5; } .result-row:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; } .result-label { font-weight: 600; } .result-value { font-weight: bold; color: var(–ph-blue); font-size: 1.1em; } .final-pay { color: var(–ph-red); font-size: 1.4em; } .note { font-size: 0.85em; color: #666; margin-top: 5px; } .content-section { margin-top: 40px; } .formula-box { background: #fff3cd; padding: 15px; border-left: 4px solid var(–ph-yellow); margin: 15px 0; font-family: monospace; font-weight: bold; }

Philippines Overtime Pay Calculator

Calculate your accurate overtime pay based on your daily rate and the type of day worked, compliant with the Labor Code of the Philippines.

Enter your basic pay for a standard 8-hour shift.
Ordinary Working Day (125%) Rest Day or Special Non-Working Holiday (169%) Regular Holiday (260%) Ordinary Day with Night Shift Diff (137.5%)
Select the classification of the day you performed overtime.
Hours worked IN EXCESS of the standard 8 hours.
Regular Hourly Rate: ₱0.00
Overtime Rate (Per Hour): ₱0.00
Total Overtime Pay: ₱0.00

How to Calculate Overtime Rate Per Hour in the Philippines

Understanding how to calculate your overtime pay is crucial for every Filipino employee. The Labor Code of the Philippines mandates specific premiums for work performed beyond the standard 8-hour shift. The calculation depends entirely on your Daily Rate and the Type of Day you are working.

1. Determine Your Regular Hourly Rate

Before calculating overtime, you must identify your standard hourly wage. In the Philippines, the standard work day is 8 hours.

Hourly Rate = Daily Basic Rate / 8

Example: If your daily rate is ₱610 (NCR Minimum Wage), your hourly rate is ₱76.25.

2. Apply the Correct Overtime Premium

The Department of Labor and Employment (DOLE) sets different percentage increases based on when the overtime work occurs:

A. Ordinary Working Day

For overtime work on a regular day, you are entitled to an additional 25% of your hourly rate.

  • Formula: Hourly Rate × 1.25
  • Example: ₱76.25 × 1.25 = ₱95.31 per OT hour.

B. Rest Day or Special Non-Working Holiday

If you work overtime on your scheduled rest day or a declared Special Non-Working Holiday, the computation is higher. Note that the first 8 hours are already paid at a premium (130%). Overtime (hours in excess of 8) is calculated as 130% × 130%.

  • Formula: Hourly Rate × 1.69
  • Example: ₱76.25 × 1.69 = ₱128.86 per OT hour.

C. Regular Holiday

Work on a Regular Holiday (like Christmas or New Year) is paid at Double Pay (200%) for the first 8 hours. Overtime beyond 8 hours is calculated as 200% × 130%.

  • Formula: Hourly Rate × 2.60
  • Example: ₱76.25 × 2.60 = ₱198.25 per OT hour.

Frequently Asked Questions

Is lunch break included in overtime?
No. The standard one-hour meal break is not compensated and is not counted as hours worked.

How is Night Shift Differential (NSD) calculated with overtime?
If your overtime falls between 10:00 PM and 6:00 AM, you are entitled to an additional 10% on top of your overtime rate for those specific hours.

function calculatePHOvertime() { // 1. Get input values var dailyRateInput = document.getElementById('phDailyRate'); var otHoursInput = document.getElementById('phOtHours'); var dayTypeSelect = document.getElementById('phDayType'); var resultDiv = document.getElementById('phResult'); var dailyRate = parseFloat(dailyRateInput.value); var otHours = parseFloat(otHoursInput.value); var dayType = dayTypeSelect.value; // 2. Validate inputs if (isNaN(dailyRate) || dailyRate <= 0) { alert("Please enter a valid Daily Rate greater than 0."); return; } if (isNaN(otHours) || otHours < 0) { alert("Please enter valid Overtime Hours."); return; } // 3. Define Multipliers based on PH Labor Code // Ordinary Day OT: 125% (1.25) // Rest Day / Special Non-Working Holiday OT (Excess of 8h): 130% * 130% = 169% (1.69) // Regular Holiday OT (Excess of 8h): 200% * 130% = 260% (2.60) // Ordinary Day with Night Diff OT: 1.25 * 1.10 = 1.375 (Approx) var multiplier = 1.25; // Default Ordinary if (dayType === 'rest_special') { multiplier = 1.69; } else if (dayType === 'regular') { multiplier = 2.60; } else if (dayType === 'night_diff') { multiplier = 1.375; } // 4. Perform Calculations var hourlyRate = dailyRate / 8; var otRatePerHour = hourlyRate * multiplier; var totalOtPay = otRatePerHour * otHours; // 5. Update DOM document.getElementById('resHourlyRate').innerHTML = "₱" + hourlyRate.toLocaleString('en-PH', {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('resOtRate').innerHTML = "₱" + otRatePerHour.toLocaleString('en-PH', {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('resTotalPay').innerHTML = "₱" + totalOtPay.toLocaleString('en-PH', {minimumFractionDigits: 2, maximumFractionDigits: 2}); // Show results resultDiv.style.display = 'block'; }

Leave a Comment