How to Generate and Download Payslips in Ghris HRM
Ghris HRM has a built-in payslip module that generates monthly salary statements for your employees. It pulls data from attendance records, allowances, deductions, and tax calculations you set up in the system. The output is a clean PDF that you can email or download in bulk. Most companies set it up once and forget about it until month-end payroll runs. A Ghris Hrm Payslip is the digital salary statement the platform generates automatically after you finalize monthly payroll. It shows gross earnings, statutory deductions like SSS, PhilHealth, and Pag-IBIG for Philippine-based setups, tax withholdings, and net pay. You don't need to create these from scratch in Excel or any third-party tool. Ghris handles the calculations once your payroll parameters are configured. This alone usually cuts the process down from 2 hours per month to about 15 minutes, depending on your setup. The catch is that most of the work happens before you ever click generate. If your employee profiles, salary grades, and deduction mappings are messy, the payslip output will be wrong and you will spend more time fixing errors than doing anything manually.
Setting Up Payslip Generation
Start by making sure each employee has a complete profile with their basic salary, position, and department. Go to Employee Management and verify every field. A missing rank or an incomplete job title is enough to throw off the entire calculation engine. Next, navigate to the Payroll section and set up your earning components. These include base salary, meal allowances, transport allowances, overtime rates, and any custom bonuses your company issues. Name them clearly. I have seen people label an allowance "Night Diff Allowance" when it is actually a hazard pay component, and that confusion carries over into the payslip output. Then configure your deduction components. In the Philippines, this means mapping SSS contributions, PhilHealth, Pag-IBIG, and withholding tax brackets. Ghris uses the latest BIR withholding tax tables by default if your system is updated. But old versions sometimes fall behind, so double-check the tax schedule before running payroll for the first time in a new year. My first month-end run on a freshly installed copy had the 2024 withholding table loaded instead of the 2025 revised one. Wrong tax amount on half the staff. Took me an hour to trace it back to the outdated tax table.
After all components are mapped, assign them to employees. This is where most setups fail. You need to explicitly link each earning and deduction item to the right employees. The system does not auto-populate these from employee profiles unless you use a salary grade template. If you are managing a company with 200 plus staff and only half have their deductions assigned, the payslip generation will silently skip those missing lines. You will not get an error message. You just get incomplete PDFs.
Get the Full Details

Generating and Downloading Payslips
Once payroll is finalized, go to the Payslip module. Select the pay period and choose whether you want to generate for one employee, a department, or the entire company. Click Generate and the system creates PDFs for each selected person. You can download them individually or as a batch zip file. Batch downloads are reliable for companies under 100 employees. Beyond that, the zip file gets large and some browsers or email servers will reject it. If you need to send payslips directly to employees, use the email feature inside Ghris. It sends the PDF as an attachment with a standard subject line. You can edit the template beforehand if you want a custom message. The delivery log shows which emails bounced and which were read, though the read tracking is not always accurate depending on the employee's email client settings. One thing worth noting is that generated payslips are not editable after creation. If you find an error post-generation, you have to void the payslip, correct the underlying payroll data, and regenerate. There is no inline editing button. This tripped me up once when a single employee had an incorrect overtime entry that inflated everyone's gross in that batch. Had to void the entire month's batch and redo it. Saving time upfront on data entry would have prevented that.
Common Pitfalls and Workarounds
Here are the problems I actually ran into and how I handled them. Missing employee data breaks bulk generation. If even one employee in a bulk run has an incomplete profile, the system may generate the entire batch but leave that person's payslip blank or with zero values. Always run a validation check before bulk generation. Ghris has an employee data completeness indicator, but it is easy to miss if you are rushing. I now filter by incomplete profiles first and fix them before touching the payslip module. Tax table updates lag behind actual BIR releases. Ghris pushes updates periodically, but they are not always immediate. Before each January and July payroll cycle, I manually compare the withholding tax table in the system against the current BIR regulations. It takes about ten minutes and prevents wrong tax deductions across the board.
Custom deductions do not always flow through correctly. If your company has unique deductions like union fees, loan repayments, or flexible spending contributions, you need to create them as custom deduction components and link them individually to affected employees. Generic deduction templates do not automatically apply. I learned this the hard way when a cohort of employees with loan deductions showed no loan repayment line on their payslips for two consecutive months. The deduction component existed in the system, but the employee-level assignment was missing. Reassigning fixed it. Bulk download sizing issues. As mentioned, large batches create unwieldy zip files. For companies over 150 employees, I generate payslips by department or by ten-employee chunks. It adds maybe five minutes to the process but avoids broken downloads and server timeouts.

What Ghris HRM Payslip Gets Right and Where It Falls Short
The automation is solid for standard payroll runs. Once your setup is clean, generation is fast and the PDF layout is professional. The bulk email feature saves HR from attaching files one by one. Attendance integration means unpaid leaves and overtime are reflected without manual calculation. But the system is not without friction. The interface for mapping deduction components to individual employees is clunky. There is no bulk assign feature for custom deductions, which means assigning loan repayments or group insurance premiums to fifty people is a manual click-through process. For small teams this is fine. For larger workforces it is tedious. Another limitation is the lack of self-service payslip access unless your plan includes the employee portal. Without it, HR bears the entire distribution burden. Some companies pair Ghris HRM with a separate employee self-service platform to solve this, but that adds cost and another system to manage.
If your payroll is highly complex with multiple pay frequencies, shift differentials, and cross-border tax implications, Ghris may not cover everything out of the box. In those cases, people often export the payroll data and use Excel or a dedicated payroll specialist tool for the final calculations, then use Ghris primarily for attendance and employee records. It is not the ideal workflow, but it is practical. For standard monthly payroll in a mid-size company with straightforward allowances and statutory deductions, the Ghris Hrm Payslip feature works reliably once the initial configuration is done correctly. The real investment is not in using the tool. It is in getting the setup right the first time so you are not spending month-end hours cleaning up avoidable errors.