Jump to content

Frappe HRMS - Ch09 Philippine Localization

From MediawikiCIT

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:

  1. SSS – Employee Share (Type: Deduction, Is Tax Applicable: No)
  2. 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:

  1. PhilHealth – Employee Share (Type: Deduction)
    • Formula: max(500, min(base * 0.025, 2500))
  2. 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:

  1. Pag-IBIG – Employee Share (Type: Deduction)
    • Formula: min(base * 0.02, 200) if base > 1500 else min(base * 0.01, 100)
  2. 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

  1. Go to Payroll → Tax & Benefits → Income Tax Slab → New.
  2. Name: Philippine TRAIN Law 2025.
  3. Currency: PHP. Effective From: 01-01-2025.
  4. 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
  1. Save and submit.

Step 2: Add BIR Withholding Tax Salary Component

  1. Create Salary Component: BIR Withholding Tax (Type: Deduction).
  2. Enable Variable Based on Taxable Salary: Yes.
  3. Link to the Philippine TRAIN Law 2025 Income Tax Slab.
  4. Map to the BIR Tax Payable account in your chart of accounts.

Step 3: Assign Tax Slab in Salary Structure

  1. Open the Salary Structure used for regular employees.
  2. Add BIR Withholding Tax to the Deductions table.
  3. 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

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

  1. Create Salary Component: 13th Month Pay (Type: Earning, Is Tax Applicable: No for the first ₱90,000).
  2. At year-end (typically November payroll), compute each employee's 13th month entitlement.
  3. Create one Additional Salary record per employee for the computed amount.
  4. 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

  • 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

  1. 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%)
  2. 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

Labor Code Article 86 — minimum 10% premium for work performed between 10:00 PM and 6:00 AM.

Setup in Frappe HRMS

  1. Create Salary Component: Night Differential (Type: Earning).
  2. Formula requires night hours data — sourced from Shift Type or Timesheet records.
  3. 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

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

  1. Define Overtime Types for each scenario (Regular OT, Rest Day OT, Regular Holiday OT, Special Day OT).
  2. Create corresponding Overtime Salary Components with appropriate rate multipliers.
  3. Supervisors approve Overtime Slips per employee.
  4. Approved overtime is included in the payroll run.

9. Service Incentive Leave (SIL)

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

  1. Create Leave Type: Service Incentive Leave.
    • Annual Allocation: 5 days
    • Is Encashable: Yes
    • Applicable After (Working Days): 365
  2. Configure Leave Policy to include SIL.
  3. 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)

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

  1. Go to Payroll → Gratuity Rule → New.
  2. Name: Philippine Retirement Pay (RA 7641).
  3. Add slab:
    • From: 5 years, To: (no limit), Fraction: 22.5 days
  4. Link this Gratuity Rule to the applicable employees.
  5. 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

  1. For each de minimis item, create a Salary Component (Type: Earning).
  2. Set Is Tax Applicable: No.
  3. Set a formula or fixed amount within the tax-exempt limit.
  4. 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:

  1. A custom Print Format in Frappe that maps salary slip summary data to BIR Form 2316 fields.
  2. 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.