Personnel and payroll system · HR and payroll
Over 500 employees. We helped extend HR workflows on the open-source Horilla base and split out a Slovak payroll engine. The client system is confidential, so these screens are the Horilla demo.


Technology
01
One missing contract propagates into hundreds of calculations when you pay 500+ people. An open attendance period does the same. Payroll therefore reads only traceable records and locked attendance.
Payroll settings are tied to an effective period. Each payslip keeps the values used in its own calculation, so a rule change never overwrites a result someone already reviewed.
“In payroll, correctness is not a detail. It is the boundary of trust.”
02
Employee records, attendance, leave, recruitment and onboarding were already in Horilla. The application layer is Django with a REST API and role permissions, and PostgreSQL holds the shared record.
The Slovak payroll layer reads locked attendance, the contract, payroll elements and the period config. Out come gross pay, contributions, tax, net pay and outputs. HR screens stay free of law.

03
We first mapped roles, source HR records, payroll inputs, and required outputs. We then defined what Horilla already covered and where the custom Slovak payroll extension had to begin.
Calculation rules, user steps, and exports have clear boundaries. Permissions, period-based configuration, calculations, payslip state, and output files can therefore be reviewed independently.
04
The HR team closes the period and locks attendance. The contract, working time, leave, allowances, and deductions come together in a draft payslip for each employee.
A payslip starts as a draft, then moves through review, confirmation and paid. Only a draft recalculates. Confirmed results become PDFs and feed reports, audit history and validated XML or SEPA files.

05
Horilla already handles the everyday personnel work, so nobody had to reinvent it. That freed the build for Slovak payroll logic, permission boundaries and what this organisation actually needed.
The result is a traceable HR and payroll flow built for 500+ employees.
A similar goal, built around your needs