Frappe HRMS - Ch09 Philippine Localization
Frappe HRMS – Chapter 9: Philippine Localization
Part of the Frappe HRMS documentation series. | Upstream: github.com/frappe/hrms
This chapter covers all configurations required to make Frappe HRMS compliant with Philippine labor law, the TRAIN Law (RA 10963) tax regulations, and mandatory government contributions. None of these are enabled by default — each must be set up in the Comfac ERPNext instance.
Overview of Philippine-Specific Requirements
| Requirement | Governing Law / Agency | Frappe HRMS Implementation |
|---|---|---|
| SSS contributions | RA 11199 / SSS | Salary Component (Deduction) with bracket lookup |
| PhilHealth contributions | RA 11223 / PhilHealth | Salary Component (Deduction), 5% of basic |
| Pag-IBIG / HDMF contributions | RA 9679 / HDMF | Salary Component (Deduction), 2% or ₱100 |
| BIR income tax withholding | TRAIN Law (RA 10963) / BIR | Income Tax Slab + Salary Component |
| 13th Month Pay | PD 851 | Additional Salary (November payroll) |
| Holiday pay | Labor Code / DOLE | Holiday List types + Salary Component formula |
| Night differential | Labor Code Art. 86 | Salary Component formula + shift data |
| Service Incentive Leave | Labor Code Art. 95 | Leave Type (encashable) |
| Overtime pay | Labor Code Art. 87–88 | Overtime Slip + Salary Component |
| De minimis benefits | BIR RR 8-2012 / RR 11-2018 | Non-taxable Salary Components within limits |
| Maternity / Paternity Leave | RA 11210, RA 8187 | Leave Types |
| Retirement pay | RA 7641 | Gratuity Rule with Philippine slab |
| BIR Form 2316 | BIR / TRAIN Law | Year-end salary slip report (requires customization) |
1. SSS (Social Security System)
Contribution Structure
SSS uses a monthly salary credit (MSC) bracket table published by SSS. As of 2025:
- Minimum MSC: ₱4,000 / Maximum MSC: ₱30,000
- Total contribution rate: 14% of MSC
- Employee share: 4.5% of MSC
- Employer share: 9.5% of MSC
Setup in Frappe HRMS
Salary Components required:
- SSS – Employee Share (Type: Deduction, Is Tax Applicable: No)
- SSS – Employer Share (Type: Deduction on employer side — tracked separately or via custom formula)
Formula approach: Since SSS uses a bracket table, not a flat percentage, the preferred implementation is:
Option A — Python script in Salary Component:
- Use a custom Python formula that accepts
base(basic salary) and returns the applicable employee contribution via an if-elif bracket lookup matching the current SSS table.
Option B — Lookup via custom table:
- Maintain an SSS contribution table as a custom DocType or a JSON lookup in the formula.
Current 2025 SSS Table (simplified):
| Monthly Compensation Range | Monthly Salary Credit | Employee Share | Employer Share |
|---|---|---|---|
| Below ₱4,250 | ₱4,000 | ₱180.00 | ₱380.00 |
| ₱4,250 – ₱4,749.99 | ₱4,500 | ₱202.50 | ₱427.50 |
| ₱4,750 – ₱5,249.99 | ₱5,000 | ₱225.00 | ₱475.00 |
| ... (continues at ₱500 intervals) | ... | ... | ... |
| ₱29,750 and above | ₱30,000 | ₱1,350.00 | ₱2,850.00 |
Full table available at: sss.gov.ph
Employer Share Accounting
- The employer's SSS share is a payroll expense — add it to the Payroll Entry as a separate employer-side Salary Component or post via Journal Entry to the SSS Payable account.
Remittance
- SSS contributions are remitted monthly via SSB / online.
- Use the Provident Fund Deductions report to generate the remittance summary.
2. PhilHealth
Contribution Structure (2025)
- Rate: 5% of basic monthly salary
- Employee share: 2.5%
- Employer share: 2.5%
- Minimum monthly contribution: ₱500 (based on ₱10,000 floor)
- Maximum monthly contribution: ₱5,000 (based on ₱100,000 ceiling)
Setup in Frappe HRMS
Salary Components:
- PhilHealth – Employee Share (Type: Deduction)
- Formula:
max(500, min(base * 0.025, 2500))
- Formula:
- PhilHealth – Employer Share (Type: Deduction / Employer contribution)
- Formula: same as employee share
Important: PhilHealth contributions are computed on basic salary only — allowances and bonuses are excluded from the base.
Remittance
- Remit monthly via the PhilHealth Member Portal or over-the-counter.
- Contribution reference number (CRN) required per employee.
3. Pag-IBIG / HDMF
Contribution Structure (2025)
- For employees earning ₱1,500 or below: 1% of compensation
- For employees earning above ₱1,500: 2% of compensation (maximum contribution: ₱200/month for employee and employer each)
- Employer share: matches employee share (minimum ₱100, maximum ₱200)
Setup in Frappe HRMS
Salary Components:
- Pag-IBIG – Employee Share (Type: Deduction)
- Formula:
min(base * 0.02, 200) if base > 1500 else min(base * 0.01, 100)
- Formula:
- Pag-IBIG – Employer Share (Employer contribution)
- Formula: same as employee, minimum ₱100
Remittance
- Remit monthly via Virtual Pag-IBIG or accredited collecting banks.
- Use employee Pag-IBIG MID number for remittance reference.
4. BIR Withholding Tax (TRAIN Law)
Configuration Steps
Step 1: Create Income Tax Slab
- Go to Payroll → Tax & Benefits → Income Tax Slab → New.
- Name: Philippine TRAIN Law 2025.
- Currency: PHP. Effective From: 01-01-2025.
- Add taxable salary slabs:
| From (Annual) | To (Annual) | Percent Deduction | Fixed Amount |
|---|---|---|---|
| 0 | 250,000 | 0% | 0 |
| 250,001 | 400,000 | 15% | 0 |
| 400,001 | 800,000 | 20% | 22,500 |
| 800,001 | 2,000,000 | 25% | 102,500 |
| 2,000,001 | 8,000,000 | 30% | 402,500 |
| 8,000,001 | (no limit) | 35% | 2,202,500 |
- Save and submit.
Step 2: Add BIR Withholding Tax Salary Component
- Create Salary Component: BIR Withholding Tax (Type: Deduction).
- Enable Variable Based on Taxable Salary: Yes.
- Link to the Philippine TRAIN Law 2025 Income Tax Slab.
- Map to the BIR Tax Payable account in your chart of accounts.
Step 3: Assign Tax Slab in Salary Structure
- Open the Salary Structure used for regular employees.
- Add BIR Withholding Tax to the Deductions table.
- Set Depends on Payment Days: No (tax is computed on total annual income, not daily rate).
Non-Taxable Items
The following must be configured as non-taxable Salary Components (Is Tax Applicable: No):
- 13th Month Pay (up to ₱90,000 annually)
- SSS, PhilHealth, Pag-IBIG employee shares
- De minimis benefits within BIR limits
- Rice allowance up to ₱2,000/month
Annualized Tax Computation
Frappe HRMS computes BIR withholding tax on an annualized basis:
- Each month, projected annual taxable income = YTD taxable income + estimated remaining months
- Monthly withholding = (annual tax – YTD tax withheld) ÷ remaining months
- December payroll performs the final true-up to match exact annual tax liability
5. 13th Month Pay
Legal Basis
Presidential Decree 851 — mandatory for all rank-and-file employees who have worked at least one month during the calendar year.
Computation
13th Month Pay = Total Basic Salary Earned in Calendar Year ÷ 12
- "Total Basic Salary" = basic pay only, excluding allowances, overtime, holiday pay, and other monetary benefits.
- Employees who worked less than 12 months receive a proportional amount.
- The first ₱90,000 is exempt from income tax.
Setup in Frappe HRMS
- Create Salary Component: 13th Month Pay (Type: Earning, Is Tax Applicable: No for the first ₱90,000).
- At year-end (typically November payroll), compute each employee's 13th month entitlement.
- Create one Additional Salary record per employee for the computed amount.
- Include in November or December Payroll Entry.
Computation Approach
Options:
- Manual computation per employee and entry via Additional Salary (suitable for small workforce)
- Custom Python script in Salary Component formula using YTD basic salary data
BIR Reporting
13th month pay amount (taxable portion, if any) must be reflected in BIR Form 2316.
6. Holiday Pay
Legal Basis
- Regular Holiday (200%): Employee who works on a regular holiday receives 200% of daily rate.
- Special Non-Working Day (130%): Employee who works on a special day receives 130% of daily rate.
- Employee who does not work on a regular holiday still receives 100% daily pay.
Setup in Frappe HRMS
Holiday List Configuration
- Tag each holiday in the Holiday List with its type: Regular Holiday or Special Non-Working Day.
- This is critical — the payroll formula uses the holiday type to determine the premium rate.
Salary Components
- Regular Holiday Premium (Type: Earning)
- Applies when employee works on a Regular Holiday
- Formula:
daily_rate * 1.0(the additional 100% on top of the base salary which already covers 100%)
- Special Day Premium (Type: Earning)
- Applies when employee works on a Special Non-Working Day
- Formula:
daily_rate * 0.30(additional 30%)
Integration with Attendance
- The Employees Working on a Holiday report identifies who worked on holidays.
- HR must manually create Additional Salary entries for holiday premium pay, or use a custom formula that reads attendance data.
7. Night Differential
Legal Basis
Labor Code Article 86 — minimum 10% premium for work performed between 10:00 PM and 6:00 AM.
Setup in Frappe HRMS
- Create Salary Component: Night Differential (Type: Earning).
- Formula requires night hours data — sourced from Shift Type or Timesheet records.
- Minimum formula:
hourly_rate * 0.10 * night_hours
Accurate night differential computation requires either:
- Biometric/timesheet data with clock-in/out times
- Shift assignments where the shift is flagged as a night shift (10PM–6AM range)
8. Overtime Pay
Legal Basis
Labor Code Articles 87–89:
- Regular day OT: 125% of hourly rate per hour
- Rest day OT: 130% of hourly rate per hour
- Holiday OT: 200% or 260% of hourly rate depending on holiday type
Setup in Frappe HRMS
- Define Overtime Types for each scenario (Regular OT, Rest Day OT, Regular Holiday OT, Special Day OT).
- Create corresponding Overtime Salary Components with appropriate rate multipliers.
- Supervisors approve Overtime Slips per employee.
- Approved overtime is included in the payroll run.
9. Service Incentive Leave (SIL)
Legal Basis
Labor Code Article 95 — employees who have rendered at least 1 year of service are entitled to 5 days of Service Incentive Leave per year. Unused SIL may be converted to cash.
Setup in Frappe HRMS
- Create Leave Type: Service Incentive Leave.
- Annual Allocation: 5 days
- Is Encashable: Yes
- Applicable After (Working Days): 365
- Configure Leave Policy to include SIL.
- At year-end, process unused SIL via Leave Encashment.
SIL Encashment Computation
Cash value = (Unused SIL Days ÷ 26) × Monthly Basic Salary
10. Retirement Pay (RA 7641)
Legal Basis
Republic Act 7641 — employees who retire at age 60 (optional) or 65 (compulsory) with at least 5 years of service are entitled to retirement pay.
Computation
Retirement Pay = 22.5 days × Daily Rate × Years of Service
(where Daily Rate = Monthly Basic Salary ÷ 26)
Setup in Frappe HRMS
- Go to Payroll → Gratuity Rule → New.
- Name: Philippine Retirement Pay (RA 7641).
- Add slab:
- From: 5 years, To: (no limit), Fraction: 22.5 days
- Link this Gratuity Rule to the applicable employees.
- When an employee retires, create a Gratuity record — system computes the amount.
11. De Minimis Benefits
BIR-Prescribed Tax-Exempt Limits (RR 11-2018)
| Benefit | Tax-Exempt Limit |
|---|---|
| Monetized unused vacation leave credits | 10 days per year |
| Medical cash allowance to dependents | ₱1,500 per semester (₱750/month) |
| Rice subsidy | ₱2,000/month or 50 kg equivalent |
| Uniform and clothing allowance | ₱6,000/year |
| Actual medical assistance, e.g., medical allowance | ₱10,000/year |
| Laundry allowance | ₱300/month |
| Employee achievement awards (e.g., for length of service) | ₱10,000/year |
| Gifts given during Christmas and major anniversary celebrations | ₱5,000/year |
| Daily meal allowance for overtime and night/graveyard shift | 25% of the basic minimum wage |
| Benefits received by virtue of CBA and productivity incentive schemes | ₱10,000/year |
Setup in Frappe HRMS
- For each de minimis item, create a Salary Component (Type: Earning).
- Set Is Tax Applicable: No.
- Set a formula or fixed amount within the tax-exempt limit.
- Any amount in excess of the limit must be added as a separate taxable component.
Note
The total de minimis benefits per year, together with 13th month pay and other similar benefits, are exempt up to ₱90,000 in aggregate. Amounts exceeding ₱90,000 combined are taxable.
12. BIR Form 2316
Purpose
Certificate of Compensation Payment/Tax Withheld. Issued annually by employers to employees, certifying total compensation received and tax withheld during the year.
Deadline
Must be issued by January 31 of the following year. For substituted filing employees (purely compensation income, one employer), the Form 2316 serves as their income tax return.
Generation in Frappe HRMS
Frappe HRMS does not have a built-in BIR Form 2316 print template by default. This requires:
- A custom Print Format in Frappe that maps salary slip summary data to BIR Form 2316 fields.
- Or export of payroll data to a spreadsheet template and manual BIR eFPS/eBIR filing.
The Income Tax Computation and Income Tax Deductions reports provide the underlying data.
13. Alphalist (BIR Annual Submission)
Purpose
The Alphalist of Employees (BIR Form 1604C, Annex A) is an annual submission to the BIR listing all employees, their total compensation, and total tax withheld for the year.
Generation
Export from the Income Tax Deductions report → reformat per BIR eBIR Forms data entry requirements → submit via eFPS or eBIR Forms.
Related Chapters
- Frappe HRMS — main index
- Frappe HRMS - Ch07 Payroll — salary components, payroll entry, and salary structure setup
- Frappe HRMS - Ch08 Tax and Benefits — income tax slab configuration and benefit applications
- Frappe HRMS - Ch06 Leaves — Service Incentive Leave and Leave Encashment