Frappe HRMS - Ch07 Payroll
Frappe HRMS – Chapter 7: Payroll
Part of the Frappe HRMS documentation series. | Upstream: github.com/frappe/hrms
The Payroll module handles the complete salary computation cycle: from salary structure design through batch payroll entry, salary slip generation, disbursement, and accounting integration. Mandatory government contributions (SSS, PhilHealth, Pag-IBIG) and BIR withholding are configured here as Salary Components.
1. Payroll Period
Purpose
Defines the financial year for payroll (start date to end date). All payroll runs, income tax computations, and benefit applications reference the active Payroll Period.
Steps
- Go to Payroll → Setup → Payroll Period → New.
- Enter Period Name (e.g., Payroll Year 2025), Start Date, and End Date.
- Select Company.
- Under Payroll Period Dates, define each payroll cycle within the year (e.g., semi-monthly: 1st–15th, 16th–end of month).
- Save.
2. Salary Component
Purpose
Defines an individual earning or deduction that appears on a salary slip. Components use formulas to calculate amounts based on other components, employee data, or fixed values.
Component Types
| Type | Examples |
|---|---|
| Earning | Basic Salary, COLA, Transportation Allowance, Hazard Pay, Night Differential, Holiday Pay, Overtime Pay, 13th Month Pay |
| Deduction | SSS Employee Share, PhilHealth Employee Share, Pag-IBIG Employee Share, BIR Withholding Tax, Salary Advance Recovery, Loan Deduction |
Key Fields
- Component Type: Earning or Deduction
- Depends on Payment Days: Yes/No — if Yes, amount scales proportionally to actual days worked
- Variable Based on Taxable Salary: For income tax computation
- Is Tax Applicable: Whether this component is subject to income tax
- Accounts: Expense and payable accounts per Company
Steps
- Go to Payroll → Setup → Salary Component → New.
- Enter Component Name and select Type.
- Set formula or fixed amount under the Amount section.
- Configure tax applicability and payment day dependency.
- Map to accounting accounts.
- Save.
Common Formulas
| Component | Formula Example |
|---|---|
| COLA | 500 (fixed, non-taxable)
|
| Transportation Allowance | 1500 (fixed)
|
| Night Differential | base * 0.10 * (night_hours / total_hours)
|
| SSS Employee Share | Lookup table / custom formula |
| PhilHealth Employee Share | base * 0.025 (2.5% for 2025)
|
| Pag-IBIG Employee Share | min(base * 0.02, 100)
|
| BIR Withholding Tax | Computed via Income Tax Slab |
3. Salary Structure
Purpose
A template that defines which Salary Components an employee receives and how they are calculated. A Salary Structure is assigned to an employee via a Salary Structure Assignment. When payroll is run, the structure's components and formulas produce the salary slip line items.
Steps
- Go to Payroll → Setup → Salary Structure → New.
- Enter Structure Name (e.g., Regular Employee – 2025, Project-Based – 2025).
- Set Payment Frequency (Monthly, Semi-Monthly, Weekly, etc.).
- Under Earnings table, add all earning components.
- Under Deductions table, add all deduction components.
- For formula-based components, formulas can reference:
base— employee's base salary- Other component amounts by variable name
- Employee fields (e.g.,
employee_doc.employment_type)
- Save.
Note
Do not add SSS, PhilHealth, or Pag-IBIG directly as fixed amounts in the structure — use formulas or the Income Tax Slab mechanism so the deductions update automatically when rates change.
4. Salary Structure Assignment
Purpose
Links a Salary Structure to a specific employee with a base salary and effective date. An employee can have multiple assignments over time (e.g., when promoted or when the structure changes).
Steps
- Go to Payroll → Setup → Salary Structure Assignment → New.
- Select Employee and Salary Structure.
- Set From Date (effective date).
- Enter Base Salary (the employee's basic monthly pay).
- Select Payroll Frequency if different from the structure default.
- Save and submit.
Bulk Assignment
Use Bulk Salary Structure Assignment to assign the same structure to multiple employees at once.
5. Additional Salary
Purpose
One-off additions or deductions that are not part of the standard Salary Structure — processed in a specific payroll period. Examples: 13th month pay, incentive bonus, salary advance recovery, meal subsidy.
Steps
- Go to Payroll → Additional Salary → New.
- Select Employee, Salary Component, Amount, and Payroll Date (the month it should appear in).
- Save and submit.
- System includes this in the next Payroll Entry for that employee.
6. Payroll Entry
Purpose
Processes payroll for a batch of employees for a defined period. Creates individual Salary Slips, computes all earnings and deductions, and generates the consolidated accounting entry.
Prerequisites
- All Salary Structure Assignments up to date
- Attendance records finalized for the period
- Additional Salaries submitted for the period
- Leave Without Pay (LWOP) records finalized
Steps
Creating the Payroll Entry
- Go to Payroll → Payroll Entry → New.
- Select Company, Payroll Frequency, Start Date, and End Date.
- Optionally filter by Department, Branch, or Designation.
- Click Get Employees — system lists all eligible employees.
- Review the list. Remove any employees who should be excluded.
- Click Create Salary Slips — system generates a Salary Slip for each employee.
Reviewing and Submitting
- Review individual Salary Slips for accuracy (check LWOP deductions, OT additions, government contributions).
- Once satisfied, click Submit Salary Slips from the Payroll Entry.
- Click Make Payment to generate the accounting entries (Journal Entry posting to salary payable accounts).
Accounting Impact
On submission:
- Debit: Salary Expense accounts (per Salary Component account mapping)
- Credit: Salary Payable (employees)
On payment:
- Debit: Salary Payable
- Credit: Cash / Bank
7. Salary Slip
Purpose
The individual payslip for one employee for one pay period. Shows all earnings, deductions, government contributions, net pay, and leave days. Can be emailed to the employee directly from the record.
Key Sections
- Attendance Summary: Working days, present days, leave days, LWOP days
- Earnings: Each earning component with computed amount
- Deductions: Each deduction (SSS, PhilHealth, Pag-IBIG, tax, etc.)
- Loan Details: Any salary-linked loan deductions
- Net Pay: Total Earnings – Total Deductions
Actions
- Email Salary Slip: Sends a PDF copy to the employee's email.
- Print: Generates a printable payslip.
Payroll Correction
If errors are found after submission, use Payroll Correction to amend specific salary slip values without reprocessing the full payroll entry.
8. Salary Withholding
Purpose
Temporarily holds an employee's salary payment — for example, pending completion of clearance, disciplinary investigation, or awaiting documentation. The withheld amount is released later via a Salary Withholding Cycle.
Steps
- Go to Payroll → Salary Withholding → New.
- Select Employee, From Date, and reason.
- Submit. Future salary slips will flag this employee's payment as withheld.
- When ready to release, create a Salary Withholding Cycle to process the release.
9. Gratuity
Purpose
End-of-service gratuity computation for employees upon retirement or long-service separation. In the Philippines, this covers retirement benefits under RA 7641.
Prerequisites
- Gratuity Rule configured with country-specific slabs
- Employee separation record or confirmed eligibility
Steps
- Go to Payroll → Gratuity → New.
- Select the Employee.
- System computes gratuity based on:
- Years of service
- Last drawn salary
- Gratuity Rule slab (e.g., 22.5 days per year of service for RA 7641)
- Review computed amount.
- Submit. Process payment via Payment Entry.
Gratuity Rule (Philippine RA 7641)
- Employees who have rendered at least 5 years of service are entitled to retirement pay.
- Computation: 22.5 days × monthly rate × years of service.
- Applies to employees aged 60 (optional) or 65 (compulsory).
10. Arrear
Purpose
Computes back-pay owed to an employee when a salary revision takes effect retroactively. The system calculates the difference between old and new salary for each back-dated period and creates an Additional Salary for the current payroll run.
Steps
- Go to Payroll → Arrear → New.
- Select Employee and the date range for back-pay.
- System computes the difference between old Salary Structure Assignment and current.
- Submit. An Additional Salary record is created for the arrear amount.
Reports
- Salary Register — full earnings and deductions register for all employees in a period
- Bank Remittance — bank transfer file for ATM salary crediting (formatted per bank requirements)
- Salary Payments Based on Payment Mode — breakdown by cash / bank transfer / check
- Salary Payments via ECS — Electronic Clearing Service file for bank submissions
- Accrued Earnings Report — accrual-basis earnings summary
Related Chapters
- Frappe HRMS — main index
- Frappe HRMS - Ch08 Tax and Benefits — income tax computation, benefit applications
- Frappe HRMS - Ch09 Philippine Localization — SSS, PhilHealth, Pag-IBIG configuration, 13th month pay, BIR withholding